ETH Price: $3,387.10 (-1.34%)

Token

Tewkenaire Stable (STABLE)
 

Overview

Max Total Supply

90.456843312742167353 STABLE

Holders

366

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Null: 0x000...000
Balance
0 STABLE

Value
$0.00
0x0000000000000000000000000000000000000000
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:
EKS

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-02-02
*/

pragma solidity ^0.4.26;

library SafeMath {

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

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    return a / b;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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

}

contract Ownable {

  address public owner;

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

  constructor() public {
    owner = address(0xe21AC1CAE34c532a38B604669E18557B2d8840Fc);
  }

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

  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract EKS is Ownable {

    uint256 ACTIVATION_TIME = 1580688000;

    modifier isActivated {
        require(now >= ACTIVATION_TIME);
        _;
    }

    modifier onlyCustodian() {
      require(msg.sender == custodianAddress);
      _;
    }

    modifier onlyTokenHolders {
        require(myTokens() > 0);
        _;
    }

    modifier onlyDivis {
        require(myDividends() > 0);
        _;
    }

    event onDistribute(
        address indexed customerAddress,
        uint256 price
    );

    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingETH,
        uint256 tokensMinted,
        uint timestamp
    );

    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned,
        uint timestamp
    );

    event onRoll(
        address indexed customerAddress,
        uint256 ethereumRolled,
        uint256 tokensMinted
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );

    event Transfer(
        address indexed from,
        address indexed to,
        uint256 tokens
    );

    string public name = "Tewkenaire Stable";
    string public symbol = "STABLE";
    uint8 constant public decimals = 18;

    uint256 internal entryFee_ = 10;
    uint256 internal transferFee_ = 1;
    uint256 internal exitFee_ = 10;
    uint256 internal tewkenaireFee_ = 10; // 10% of the 10% buy or sell fees makes it 1%
    uint256 internal maintenanceFee_ = 10; // 10% of the 10% buy or sell fees makes it 1%

    address internal maintenanceAddress;
    address internal custodianAddress;

    address public approvedAddress1;
    address public approvedAddress2;
    address public distributionAddress;
    uint256 public totalFundCollected;
    uint256 public totalLaunchFundCollected;

    uint256 constant internal magnitude = 2 ** 64;
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => int256) internal payoutsTo_;
    mapping(address => uint256) public deposits;
    mapping(address => uint256) public withdrawals;
    uint256 internal tokenSupply_;
    uint256 internal profitPerShare_;
    uint256 public totalPlayer = 0;
    uint256 public totalDonation = 0;

    bool public postLaunch = false;

    constructor() public {
        maintenanceAddress = address(0xe21AC1CAE34c532a38B604669E18557B2d8840Fc);
        custodianAddress = address(0x24B23bB643082026227e945C7833B81426057b10);
        distributionAddress = address(0xfE8D614431E5fea2329B05839f29B553b1Cb99A2);
        approvedAddress1 = distributionAddress;
        approvedAddress2 = distributionAddress;
    }

    function distribute() public payable returns (uint256) {
        require(msg.value > 0 && postLaunch == true);
        totalDonation += msg.value;
        profitPerShare_ = SafeMath.add(profitPerShare_, (msg.value * magnitude) / tokenSupply_);
        emit onDistribute(msg.sender, msg.value);
    }

    function distributeLaunchFund() public {
        require(totalLaunchFundCollected > 0 && postLaunch == false && now >= ACTIVATION_TIME + 24 hours);
        profitPerShare_ = SafeMath.add(profitPerShare_, (totalLaunchFundCollected * magnitude) / tokenSupply_);
        postLaunch = true;
    }

    function buy() public payable returns (uint256) {
        return purchaseTokens(msg.sender, msg.value);
    }

    function buyFor(address _customerAddress) public payable returns (uint256) {
        return purchaseTokens(_customerAddress, msg.value);
    }

    function() payable public {
        purchaseTokens(msg.sender, msg.value);
    }

    function roll() onlyDivis public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends();
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);
        uint256 _tokens = purchaseTokens(_customerAddress, _dividends);
        emit onRoll(_customerAddress, _dividends, _tokens);
    }

    function exit() external {
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if (_tokens > 0) sell(_tokens);
        withdraw();
    }

    function withdraw() onlyDivis public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends();
        payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);
        _customerAddress.transfer(_dividends);
        withdrawals[_customerAddress] += _dividends;
        emit onWithdraw(_customerAddress, _dividends);
    }

    function sell(uint256 _amountOfTokens) onlyTokenHolders public {
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_amountOfTokens, exitFee_), 100);

        uint256 _maintenance = SafeMath.div(SafeMath.mul(_undividedDividends, maintenanceFee_),100);
        maintenanceAddress.transfer(_maintenance);

        uint256 _tewkenaire = SafeMath.div(SafeMath.mul(_undividedDividends, tewkenaireFee_), 100);
        totalFundCollected += _tewkenaire;
        distributionAddress.transfer(_tewkenaire);

        uint256 _dividends = SafeMath.sub(_undividedDividends, SafeMath.add(_maintenance,_tewkenaire));
        uint256 _taxedETH = SafeMath.sub(_amountOfTokens, _undividedDividends);

        tokenSupply_ = SafeMath.sub(tokenSupply_, _amountOfTokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens + (_taxedETH * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;

        if (postLaunch == false) {
            totalLaunchFundCollected = SafeMath.add(totalLaunchFundCollected, _dividends);
        } else if (tokenSupply_ > 0) {
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }

        emit Transfer(_customerAddress, address(0), _amountOfTokens);
        emit onTokenSell(_customerAddress, _amountOfTokens, _taxedETH, now);
    }

    function transfer(address _toAddress, uint256 _amountOfTokens) onlyTokenHolders external returns (bool){
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        if (myDividends() > 0) {
            withdraw();
        }

        uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        uint256 _dividends = _tokenFee;

        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);

        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens);

        if (postLaunch == false) {
          totalLaunchFundCollected = SafeMath.add(totalLaunchFundCollected, _dividends);
        } else {
          profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }

        emit Transfer(_customerAddress, _toAddress, _taxedTokens);

        return true;
    }

    function setName(string _name) onlyOwner public
    {
        name = _name;
    }

    function setSymbol(string _symbol) onlyOwner public
    {
        symbol = _symbol;
    }

    function approveAddress1(address _proposedAddress) onlyOwner public
    {
        approvedAddress1 = _proposedAddress;
    }

    function approveAddress2(address _proposedAddress) onlyCustodian public
    {
        approvedAddress2 = _proposedAddress;
    }

    function setAtomicSwapAddress() public
    {
        require(approvedAddress1 == approvedAddress2);
        require(tx.origin == approvedAddress1);
        distributionAddress = approvedAddress1;
    }

    function totalEthereumBalance() public view returns (uint256) {
        return address(this).balance;
    }

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

    function myTokens() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }

    function myDividends() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return dividendsOf(_customerAddress);
    }

    function balanceOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger_[_customerAddress];
    }

    function dividendsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }

    function sellPrice() public view returns (uint256) {
        uint256 _ethereum = 1e18;
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
        uint256 _taxedETH = SafeMath.sub(_ethereum, _dividends);

        return _taxedETH;
    }

    function buyPrice() public view returns (uint256) {
        uint256 _ethereum = 1e18;
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, entryFee_), 100);
        uint256 _taxedETH = SafeMath.add(_ethereum, _dividends);

        return _taxedETH;
    }

    function calculateTokensReceived(uint256 _ethereumToSpend) public view returns (uint256) {
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereumToSpend, entryFee_), 100);
        uint256 _amountOfTokens = SafeMath.sub(_ethereumToSpend, _dividends);

        return _amountOfTokens;
    }

    function calculateEthereumReceived(uint256 _tokensToSell) public view returns (uint256) {
        require(_tokensToSell <= tokenSupply_);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_tokensToSell, exitFee_), 100);
        uint256 _taxedETH = SafeMath.sub(_tokensToSell, _dividends);

        return _taxedETH;
    }

    function purchaseTokens(address _customerAddress, uint256 _incomingETH) internal isActivated returns (uint256) {
        if (deposits[_customerAddress] == 0) {
          totalPlayer++;
        }

        deposits[_customerAddress] += _incomingETH;

        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingETH, entryFee_), 100);

        uint256 _maintenance = SafeMath.div(SafeMath.mul(_undividedDividends, maintenanceFee_), 100);
        maintenanceAddress.transfer(_maintenance);

        uint256 _tewkenaire = SafeMath.div(SafeMath.mul(_undividedDividends, tewkenaireFee_), 100);
        totalFundCollected += _tewkenaire;
        distributionAddress.transfer(_tewkenaire);

        uint256 _dividends = SafeMath.sub(_undividedDividends, SafeMath.add(_tewkenaire,_maintenance));
        uint256 _amountOfTokens = SafeMath.sub(_incomingETH, _undividedDividends);
        uint256 _fee = _dividends * magnitude;

        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

        if (postLaunch == false) {
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
            totalLaunchFundCollected = SafeMath.add(totalLaunchFundCollected, _dividends);
            _fee = 0;
        } else if (tokenSupply_ > 0) {
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
            profitPerShare_ += (_dividends * magnitude / tokenSupply_);
            _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
        } else {
            tokenSupply_ = _amountOfTokens;
        }

        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;

        emit Transfer(address(0), _customerAddress, _amountOfTokens);
        emit onTokenPurchase(_customerAddress, _incomingETH, _amountOfTokens, now);

        return _amountOfTokens;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"distributeLaunchFund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFundCollected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"distributionAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setAtomicSwapAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"approvedAddress2","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"buyFor","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"withdrawals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedAddress","type":"address"}],"name":"approveAddress1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalLaunchFundCollected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedAddress","type":"address"}],"name":"approveAddress2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"postLaunch","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"approvedAddress1","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalPlayer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"roll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"distribute","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDonation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"deposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"price","type":"uint256"}],"name":"onDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingETH","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumRolled","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onRoll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

635e37628060015560c0604052601160808190527f5465776b656e6169726520537461626c6500000000000000000000000000000060a090815262000048916002919062000167565b506040805180820190915260068082527f535441424c45000000000000000000000000000000000000000000000000000060209092019182526200008f9160039162000167565b50600a6004819055600160055560068190556007819055600855600060168190556017556018805460ff19169055348015620000ca57600080fd5b5060008054600160a060020a031990811673e21ac1cae34c532a38b604669e18557b2d8840fc908117909255600980548216909217909155600a805482167324b23bb643082026227e945c7833b81426057b10179055600d8054821673fe8d614431e5fea2329b05839f29b553b1cb99a21790819055600b80548316600160a060020a03929092169182179055600c80549092161790556200020c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001aa57805160ff1916838001178555620001da565b82800160010185558215620001da579182015b82811115620001da578251825591602001919060010190620001bd565b50620001e8929150620001ec565b5090565b6200020991905b80821115620001e85760008155600101620001f3565b90565b61161d806200021c6000396000f3006080604052600436106101e15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b81146101ee57806306fdde031461022157806310d0ffdd146102ab5780631296bffd146102c357806318160ddd146102da57806322609373146102ef578063313ce567146103075780633151ecfc1461033257806334ecfbb81461034757806337fb7e211461035c5780633ccfd60b1461038d5780634978e111146103a25780634b750334146103b75780635af78833146103cc5780636b2f4632146103e15780636f0b5180146103f657806370a082311461040a5780637a9262a21461042b5780637c180a681461044c5780638620410b1461046d5780638da5cb5b14610482578063949e8acd1461049757806395d89b41146104ac5780639b7aff9f146104c15780639e2131c6146104d6578063a3996f7b146104f7578063a6f2ae3a14610520578063a9059cbb14610528578063b84c82461461054c578063b8f82c85146105a5578063c47f0027146105ba578063c494a08014610613578063cd5e3c5d14610628578063e4849b321461063d578063e4fc6b6d14610655578063e9fad8ee1461065d578063ee2ac05f14610672578063f2fde38b14610687578063fc7e286d146106a8575b6101eb33346106c9565b50005b3480156101fa57600080fd5b5061020f600160a060020a03600435166109c2565b60408051918252519081900360200190f35b34801561022d57600080fd5b506102366109fd565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610270578181015183820152602001610258565b50505050905090810190601f16801561029d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b757600080fd5b5061020f600435610a88565b3480156102cf57600080fd5b506102d8610ab0565b005b3480156102e657600080fd5b5061020f610b1b565b3480156102fb57600080fd5b5061020f600435610b22565b34801561031357600080fd5b5061031c610b47565b6040805160ff9092168252519081900360200190f35b34801561033e57600080fd5b5061020f610b4c565b34801561035357600080fd5b5061020f610b5f565b34801561036857600080fd5b50610371610b65565b60408051600160a060020a039092168252519081900360200190f35b34801561039957600080fd5b506102d8610b74565b3480156103ae57600080fd5b506102d8610c45565b3480156103c357600080fd5b5061020f610caa565b3480156103d857600080fd5b50610371610cd6565b3480156103ed57600080fd5b5061020f610ce5565b61020f600160a060020a0360043516610cea565b34801561041657600080fd5b5061020f600160a060020a0360043516610cfc565b34801561043757600080fd5b5061020f600160a060020a0360043516610d17565b34801561045857600080fd5b506102d8600160a060020a0360043516610d29565b34801561047957600080fd5b5061020f610d6f565b34801561048e57600080fd5b50610371610d9b565b3480156104a357600080fd5b5061020f610daa565b3480156104b857600080fd5b50610236610db6565b3480156104cd57600080fd5b5061020f610e11565b3480156104e257600080fd5b506102d8600160a060020a0360043516610e17565b34801561050357600080fd5b5061050c610e5d565b604080519115158252519081900360200190f35b61020f610e66565b34801561053457600080fd5b5061050c600160a060020a0360043516602435610e77565b34801561055857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102d89436949293602493928401919081908401838280828437509497506110329650505050505050565b3480156105b157600080fd5b50610371611060565b3480156105c657600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102d894369492936024939284019190819084018382808284375094975061106f9650505050505050565b34801561061f57600080fd5b5061020f611099565b34801561063457600080fd5b506102d861109f565b34801561064957600080fd5b506102d8600435611147565b61020f6113a9565b34801561066957600080fd5b506102d8611431565b34801561067e57600080fd5b5061020f61145a565b34801561069357600080fd5b506102d8600160a060020a0360043516611460565b3480156106b457600080fd5b5061020f600160a060020a03600435166114f4565b60008060008060008060008060015442101515156106e657600080fd5b600160a060020a038a16600090815260126020526040902054151561070f576016805460010190555b600160a060020a038a16600090815260126020526040902080548a0190556004546107469061073f908b90611506565b606461152f565b965061075761073f88600854611506565b600954604051919750600160a060020a03169087156108fc029088906000818181858888f19350505050158015610792573d6000803e3d6000fd5b506107a261073f88600754611506565b600e805482019055600d54604051919650600160a060020a03169086156108fc029087906000818181858888f193505050501580156107e5573d6000803e3d6000fd5b506107f9876107f48789611544565b611551565b93506108058988611551565b9250680100000000000000008402915060008311801561082f575060145461082d8482611544565b115b151561083a57600080fd5b60185460ff16151561086e5761085260145484611544565b601455600f546108629085611544565b600f55600091506108d8565b600060145411156108d25761088560145484611544565b601481905568010000000000000000850281151561089f57fe5b601580549290910490910190556014546801000000000000000085028115156108c457fe5b0483028203820391506108d8565b60148390555b600160a060020a038a166000908152601060205260409020546108fb9084611544565b600160a060020a038b16600081815260106020908152604080832094909455601554601182528483208054918902889003918201905584518881529451909550929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3604080518a81526020810185905242818301529051600160a060020a038c16917f810900bb33e423094372279f779b623ab22b73472a8a91fce3c018129c205019919081900360600190a2509098975050505050505050565b600160a060020a0316600090815260116020908152604080832054601090925290912054601554680100000000000000009102919091030490565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610a805780601f10610a5557610100808354040283529160200191610a80565b820191906000526020600020905b815481529060010190602001808311610a6357829003601f168201915b505050505081565b6000806000610a9c61073f85600454611506565b9150610aa88483611551565b949350505050565b6000600f54118015610ac5575060185460ff16155b8015610ad8575060015462015180014210155b1515610ae357600080fd5b610b0960155460145468010000000000000000600f5402811515610b0357fe5b04611544565b6015556018805460ff19166001179055565b6014545b90565b60008060006014548411151515610b3857600080fd5b610a9c61073f85600654611506565b601281565b600033610b58816109c2565b91505b5090565b600e5481565b600d54600160a060020a031681565b6000806000610b81610b4c565b11610b8b57600080fd5b339150610b96610b4c565b600160a060020a038316600081815260116020526040808220805468010000000000000000860201905551929350909183156108fc0291849190818181858888f19350505050158015610bed573d6000803e3d6000fd5b50600160a060020a038216600081815260136020908152604091829020805485019055815184815291517fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc9281900390910190a25050565b600c54600b54600160a060020a03908116911614610c6257600080fd5b600b54600160a060020a03163214610c7957600080fd5b600b54600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600080600080670de0b6b3a76400009250610cca61073f84600654611506565b9150610aa88383611551565b600c54600160a060020a031681565b303190565b6000610cf682346106c9565b92915050565b600160a060020a031660009081526010602052604090205490565b60136020526000908152604090205481565b600054600160a060020a03163314610d4057600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600080670de0b6b3a76400009250610d8f61073f84600454611506565b9150610aa88383611544565b600054600160a060020a031681565b600033610b5881610cfc565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a805780601f10610a5557610100808354040283529160200191610a80565b600f5481565b600a54600160a060020a03163314610e2e57600080fd5b600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60185460ff1681565b6000610e7233346106c9565b905090565b600080600080600080610e88610daa565b11610e9257600080fd5b33600081815260106020526040902054909450861115610eb157600080fd5b6000610ebb610b4c565b1115610ec957610ec9610b74565b610ed861073f87600554611506565b9250610ee48684611551565b9150829050610ef560145484611551565b601455600160a060020a038416600090815260106020526040902054610f1b9087611551565b600160a060020a038086166000908152601060205260408082209390935590891681522054610f4a9083611544565b600160a060020a0388811660008181526010602090815260408083209590955560158054948a16835260119091528482208054948c0290940390935591549082529190208054918402909101905560185460ff161515610fb857610fb0600f5482611544565b600f55610fda565b610fd6601554601454680100000000000000008402811515610b0357fe5b6015555b86600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060019695505050505050565b600054600160a060020a0316331461104957600080fd5b805161105c906003906020840190611563565b5050565b600b54600160a060020a031681565b600054600160a060020a0316331461108657600080fd5b805161105c906002906020840190611563565b60165481565b6000806000806110ad610b4c565b116110b757600080fd5b3392506110c2610b4c565b600160a060020a0384166000908152601160205260409020805468010000000000000000830201905591506110f783836106c9565b905082600160a060020a03167fe4f0eeaa8dd27ac941d5cb906c00cec31d5590659951566d91f7ec9eaacc8e0c8383604051808381526020018281526020019250505060405180910390a2505050565b60008060008060008060008061115b610daa565b1161116557600080fd5b3360008181526010602052604090205490975088111561118457600080fd5b61119361073f89600654611506565b95506111a461073f87600854611506565b600954604051919650600160a060020a03169086156108fc029087906000818181858888f193505050501580156111df573d6000803e3d6000fd5b506111ef61073f87600754611506565b600e805482019055600d54604051919550600160a060020a03169085156108fc029086906000818181858888f19350505050158015611232573d6000803e3d6000fd5b50611241866107f48787611544565b925061124d8887611551565b915061125b60145489611551565b601455600160a060020a0387166000908152601060205260409020546112819089611551565b600160a060020a03881660009081526010602090815260408083209390935560155460119091529190208054918a026801000000000000000085020191829003905560185490915060ff1615156112e6576112de600f5484611544565b600f55611313565b600060145411156113135761130f601554601454680100000000000000008602811515610b0357fe5b6015555b604080518981529051600091600160a060020a038a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3604080518981526020810184905242818301529051600160a060020a038916917f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e5919081900360600190a25050505050505050565b600080341180156113c1575060185460ff1615156001145b15156113cc57600080fd5b60178054349081019091556015546014546113f5926801000000000000000002811515610b0357fe5b60155560408051348152905133917fd14b763af9e91e53a0578778058d700fec4f12297440083843749bb37d806064919081900360200190a290565b33600081815260106020526040812054908111156114525761145281611147565b61105c610b74565b60175481565b600054600160a060020a0316331461147757600080fd5b600160a060020a038116151561148c57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60126020526000908152604090205481565b600082151561151757506000610cf6565b5081810281838281151561152757fe5b0414610cf657fe5b6000818381151561153c57fe5b049392505050565b81810182811015610cf657fe5b60008282111561155d57fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115a457805160ff19168380011785556115d1565b828001600101855582156115d1579182015b828111156115d15782518255916020019190600101906115b6565b50610b5b92610b1f9250905b80821115610b5b57600081556001016115dd5600a165627a7a72305820fa1e26e19cd06c38b17649d4ebf4bd27deeffb18dde36777c937fdbc76af45170029

Deployed Bytecode

0x6080604052600436106101e15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b81146101ee57806306fdde031461022157806310d0ffdd146102ab5780631296bffd146102c357806318160ddd146102da57806322609373146102ef578063313ce567146103075780633151ecfc1461033257806334ecfbb81461034757806337fb7e211461035c5780633ccfd60b1461038d5780634978e111146103a25780634b750334146103b75780635af78833146103cc5780636b2f4632146103e15780636f0b5180146103f657806370a082311461040a5780637a9262a21461042b5780637c180a681461044c5780638620410b1461046d5780638da5cb5b14610482578063949e8acd1461049757806395d89b41146104ac5780639b7aff9f146104c15780639e2131c6146104d6578063a3996f7b146104f7578063a6f2ae3a14610520578063a9059cbb14610528578063b84c82461461054c578063b8f82c85146105a5578063c47f0027146105ba578063c494a08014610613578063cd5e3c5d14610628578063e4849b321461063d578063e4fc6b6d14610655578063e9fad8ee1461065d578063ee2ac05f14610672578063f2fde38b14610687578063fc7e286d146106a8575b6101eb33346106c9565b50005b3480156101fa57600080fd5b5061020f600160a060020a03600435166109c2565b60408051918252519081900360200190f35b34801561022d57600080fd5b506102366109fd565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610270578181015183820152602001610258565b50505050905090810190601f16801561029d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b757600080fd5b5061020f600435610a88565b3480156102cf57600080fd5b506102d8610ab0565b005b3480156102e657600080fd5b5061020f610b1b565b3480156102fb57600080fd5b5061020f600435610b22565b34801561031357600080fd5b5061031c610b47565b6040805160ff9092168252519081900360200190f35b34801561033e57600080fd5b5061020f610b4c565b34801561035357600080fd5b5061020f610b5f565b34801561036857600080fd5b50610371610b65565b60408051600160a060020a039092168252519081900360200190f35b34801561039957600080fd5b506102d8610b74565b3480156103ae57600080fd5b506102d8610c45565b3480156103c357600080fd5b5061020f610caa565b3480156103d857600080fd5b50610371610cd6565b3480156103ed57600080fd5b5061020f610ce5565b61020f600160a060020a0360043516610cea565b34801561041657600080fd5b5061020f600160a060020a0360043516610cfc565b34801561043757600080fd5b5061020f600160a060020a0360043516610d17565b34801561045857600080fd5b506102d8600160a060020a0360043516610d29565b34801561047957600080fd5b5061020f610d6f565b34801561048e57600080fd5b50610371610d9b565b3480156104a357600080fd5b5061020f610daa565b3480156104b857600080fd5b50610236610db6565b3480156104cd57600080fd5b5061020f610e11565b3480156104e257600080fd5b506102d8600160a060020a0360043516610e17565b34801561050357600080fd5b5061050c610e5d565b604080519115158252519081900360200190f35b61020f610e66565b34801561053457600080fd5b5061050c600160a060020a0360043516602435610e77565b34801561055857600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102d89436949293602493928401919081908401838280828437509497506110329650505050505050565b3480156105b157600080fd5b50610371611060565b3480156105c657600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102d894369492936024939284019190819084018382808284375094975061106f9650505050505050565b34801561061f57600080fd5b5061020f611099565b34801561063457600080fd5b506102d861109f565b34801561064957600080fd5b506102d8600435611147565b61020f6113a9565b34801561066957600080fd5b506102d8611431565b34801561067e57600080fd5b5061020f61145a565b34801561069357600080fd5b506102d8600160a060020a0360043516611460565b3480156106b457600080fd5b5061020f600160a060020a03600435166114f4565b60008060008060008060008060015442101515156106e657600080fd5b600160a060020a038a16600090815260126020526040902054151561070f576016805460010190555b600160a060020a038a16600090815260126020526040902080548a0190556004546107469061073f908b90611506565b606461152f565b965061075761073f88600854611506565b600954604051919750600160a060020a03169087156108fc029088906000818181858888f19350505050158015610792573d6000803e3d6000fd5b506107a261073f88600754611506565b600e805482019055600d54604051919650600160a060020a03169086156108fc029087906000818181858888f193505050501580156107e5573d6000803e3d6000fd5b506107f9876107f48789611544565b611551565b93506108058988611551565b9250680100000000000000008402915060008311801561082f575060145461082d8482611544565b115b151561083a57600080fd5b60185460ff16151561086e5761085260145484611544565b601455600f546108629085611544565b600f55600091506108d8565b600060145411156108d25761088560145484611544565b601481905568010000000000000000850281151561089f57fe5b601580549290910490910190556014546801000000000000000085028115156108c457fe5b0483028203820391506108d8565b60148390555b600160a060020a038a166000908152601060205260409020546108fb9084611544565b600160a060020a038b16600081815260106020908152604080832094909455601554601182528483208054918902889003918201905584518881529451909550929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3604080518a81526020810185905242818301529051600160a060020a038c16917f810900bb33e423094372279f779b623ab22b73472a8a91fce3c018129c205019919081900360600190a2509098975050505050505050565b600160a060020a0316600090815260116020908152604080832054601090925290912054601554680100000000000000009102919091030490565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610a805780601f10610a5557610100808354040283529160200191610a80565b820191906000526020600020905b815481529060010190602001808311610a6357829003601f168201915b505050505081565b6000806000610a9c61073f85600454611506565b9150610aa88483611551565b949350505050565b6000600f54118015610ac5575060185460ff16155b8015610ad8575060015462015180014210155b1515610ae357600080fd5b610b0960155460145468010000000000000000600f5402811515610b0357fe5b04611544565b6015556018805460ff19166001179055565b6014545b90565b60008060006014548411151515610b3857600080fd5b610a9c61073f85600654611506565b601281565b600033610b58816109c2565b91505b5090565b600e5481565b600d54600160a060020a031681565b6000806000610b81610b4c565b11610b8b57600080fd5b339150610b96610b4c565b600160a060020a038316600081815260116020526040808220805468010000000000000000860201905551929350909183156108fc0291849190818181858888f19350505050158015610bed573d6000803e3d6000fd5b50600160a060020a038216600081815260136020908152604091829020805485019055815184815291517fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc9281900390910190a25050565b600c54600b54600160a060020a03908116911614610c6257600080fd5b600b54600160a060020a03163214610c7957600080fd5b600b54600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600080600080670de0b6b3a76400009250610cca61073f84600654611506565b9150610aa88383611551565b600c54600160a060020a031681565b303190565b6000610cf682346106c9565b92915050565b600160a060020a031660009081526010602052604090205490565b60136020526000908152604090205481565b600054600160a060020a03163314610d4057600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600080670de0b6b3a76400009250610d8f61073f84600454611506565b9150610aa88383611544565b600054600160a060020a031681565b600033610b5881610cfc565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a805780601f10610a5557610100808354040283529160200191610a80565b600f5481565b600a54600160a060020a03163314610e2e57600080fd5b600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60185460ff1681565b6000610e7233346106c9565b905090565b600080600080600080610e88610daa565b11610e9257600080fd5b33600081815260106020526040902054909450861115610eb157600080fd5b6000610ebb610b4c565b1115610ec957610ec9610b74565b610ed861073f87600554611506565b9250610ee48684611551565b9150829050610ef560145484611551565b601455600160a060020a038416600090815260106020526040902054610f1b9087611551565b600160a060020a038086166000908152601060205260408082209390935590891681522054610f4a9083611544565b600160a060020a0388811660008181526010602090815260408083209590955560158054948a16835260119091528482208054948c0290940390935591549082529190208054918402909101905560185460ff161515610fb857610fb0600f5482611544565b600f55610fda565b610fd6601554601454680100000000000000008402811515610b0357fe5b6015555b86600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060019695505050505050565b600054600160a060020a0316331461104957600080fd5b805161105c906003906020840190611563565b5050565b600b54600160a060020a031681565b600054600160a060020a0316331461108657600080fd5b805161105c906002906020840190611563565b60165481565b6000806000806110ad610b4c565b116110b757600080fd5b3392506110c2610b4c565b600160a060020a0384166000908152601160205260409020805468010000000000000000830201905591506110f783836106c9565b905082600160a060020a03167fe4f0eeaa8dd27ac941d5cb906c00cec31d5590659951566d91f7ec9eaacc8e0c8383604051808381526020018281526020019250505060405180910390a2505050565b60008060008060008060008061115b610daa565b1161116557600080fd5b3360008181526010602052604090205490975088111561118457600080fd5b61119361073f89600654611506565b95506111a461073f87600854611506565b600954604051919650600160a060020a03169086156108fc029087906000818181858888f193505050501580156111df573d6000803e3d6000fd5b506111ef61073f87600754611506565b600e805482019055600d54604051919550600160a060020a03169085156108fc029086906000818181858888f19350505050158015611232573d6000803e3d6000fd5b50611241866107f48787611544565b925061124d8887611551565b915061125b60145489611551565b601455600160a060020a0387166000908152601060205260409020546112819089611551565b600160a060020a03881660009081526010602090815260408083209390935560155460119091529190208054918a026801000000000000000085020191829003905560185490915060ff1615156112e6576112de600f5484611544565b600f55611313565b600060145411156113135761130f601554601454680100000000000000008602811515610b0357fe5b6015555b604080518981529051600091600160a060020a038a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3604080518981526020810184905242818301529051600160a060020a038916917f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e5919081900360600190a25050505050505050565b600080341180156113c1575060185460ff1615156001145b15156113cc57600080fd5b60178054349081019091556015546014546113f5926801000000000000000002811515610b0357fe5b60155560408051348152905133917fd14b763af9e91e53a0578778058d700fec4f12297440083843749bb37d806064919081900360200190a290565b33600081815260106020526040812054908111156114525761145281611147565b61105c610b74565b60175481565b600054600160a060020a0316331461147757600080fd5b600160a060020a038116151561148c57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60126020526000908152604090205481565b600082151561151757506000610cf6565b5081810281838281151561152757fe5b0414610cf657fe5b6000818381151561153c57fe5b049392505050565b81810182811015610cf657fe5b60008282111561155d57fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115a457805160ff19168380011785556115d1565b828001600101855582156115d1579182015b828111156115d15782518255916020019190600101906115b6565b50610b5b92610b1f9250905b80821115610b5b57600081556001016115dd5600a165627a7a72305820fa1e26e19cd06c38b17649d4ebf4bd27deeffb18dde36777c937fdbc76af45170029

Deployed Bytecode Sourcemap

1088:12602:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4802:37;4817:10;4829:9;4802:14;:37::i;:::-;;1088:12602;10142:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10142:224:0;-1:-1:-1;;;;;10142:224:0;;;;;;;;;;;;;;;;;;;;;2316:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2316:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2316:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10936:303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10936:303:0;;;;;4190:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4190:296:0;;;;;;9574:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9574:91:0;;;;11247:332;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11247:332:0;;;;;2401:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2401:35:0;;;;;;;;;;;;;;;;;;;;;;;9832:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9832:156:0;;;;2944:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2944:33:0;;;;2903:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2903:34:0;;;;;;;;-1:-1:-1;;;;;2903:34:0;;;;;;;;;;;;;;5425:372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5425:372:0;;;;9243:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9243:206:0;;;;10374:273;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10374:273:0;;;;2865:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2865:31:0;;;;9457:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9457:109:0;;;;4613:144;;-1:-1:-1;;;;;4613:144:0;;;;;9996:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9996:138:0;-1:-1:-1;;;;;9996:138:0;;;;;3250:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3250:46:0;-1:-1:-1;;;;;3250:46:0;;;;;8969:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8969:127:0;-1:-1:-1;;;;;8969:127:0;;;;;10655:273;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10655:273:0;;;;609:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;609:20:0;;;;9673:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9673:151:0;;;;2363:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2363:31:0;;;;2984:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2984:39:0;;;;9104:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9104:131:0;-1:-1:-1;;;;;9104:131:0;;;;;3456:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3456:30:0;;;;;;;;;;;;;;;;;;;;;;4494:111;;;;7443:1326;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7443:1326:0;-1:-1:-1;;;;;7443:1326:0;;;;;;;8869:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8869:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8869:92:0;;-1:-1:-1;8869:92:0;;-1:-1:-1;;;;;;;8869:92:0;2827:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2827:31:0;;;;8777:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8777:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8777:84:0;;-1:-1:-1;8777:84:0;;-1:-1:-1;;;;;;;8777:84:0;3378:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3378:30:0;;;;4855:345;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4855:345:0;;;;5805:1630;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5805:1630:0;;;;;3878:304;;;;5208:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5208:209:0;;;;3415:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3415:32:0;;;;901:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;901:178:0;-1:-1:-1;;;;;901:178:0;;;;;3200:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3200:43:0;-1:-1:-1;;;;;3200:43:0;;;;;11587:2100;11689:7;11851:27;11950:20;12107:19;12306:18;12411:23;12495:12;13352:22;1213:15;;1206:3;:22;;1198:31;;;;;;;;-1:-1:-1;;;;;11713:26:0;;;;;;:8;:26;;;;;;:31;11709:75;;;11759:11;:13;;;;;;11709:75;-1:-1:-1;;;;;11796:26:0;;;;;;:8;:26;;;;;:42;;;;;;11921:9;;11881:56;;11894:37;;11826:12;;11894;:37::i;:::-;11933:3;11881:12;:56::i;:::-;11851:86;;11973:69;11986:50;11999:19;12020:15;;11986:12;:50::i;11973:69::-;12053:18;;:41;;11950:92;;-1:-1:-1;;;;;;12053:18:0;;:41;;;;;11950:92;;12053:18;:41;:18;:41;11950:92;12053:18;:41;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12053:41:0;12129:68;12142:49;12155:19;12176:14;;12142:12;:49::i;12129:68::-;12208:18;:33;;;;;;12252:19;;:41;;12107:90;;-1:-1:-1;;;;;;12252:19:0;;:41;;;;;12107:90;;12208:18;12252:41;12208:18;12252:41;12107:90;12252:19;:41;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12252:41:0;12327:73;12340:19;12361:38;12374:11;12386:12;12361;:38::i;:::-;12327:12;:73::i;:::-;12306:94;;12437:47;12450:12;12464:19;12437:12;:47::i;:::-;12411:73;;3070:7;12510:10;:22;12495:37;;12571:1;12553:15;:19;:81;;;;-1:-1:-1;12622:12:0;;12576:43;12589:15;12622:12;12576;:43::i;:::-;:58;12553:81;12545:90;;;;;;;;12652:10;;;;:19;;12648:571;;12703:43;12716:12;;12730:15;12703:12;:43::i;:::-;12688:12;:58;12801:24;;12788:50;;12827:10;12788:12;:50::i;:::-;12761:24;:77;12860:1;;-1:-1:-1;12648:571:0;;;12898:1;12883:12;;:16;12879:340;;;12931:43;12944:12;;12958:15;12931:12;:43::i;:::-;12916:12;:58;;;3070:7;13009:22;;:37;;;;;;;12989:15;:58;;13009:37;;;;12989:58;;;;;13129:12;;3070:7;13104:22;;:37;;;;;;;;13085:15;:57;13077:4;:66;13069:4;:75;13062:82;;12879:340;;;13177:12;:30;;;12879:340;-1:-1:-1;;;;;13284:37:0;;;;;;:19;:37;;;;;;13271:68;;13323:15;13271:12;:68::i;:::-;-1:-1:-1;;;;;13231:37:0;;;;;;:19;:37;;;;;;;;:108;;;;13387:15;;13439:10;:28;;;;;:47;;13387:33;;;:40;;;13439:47;;;;;13504:55;;;;;;;13387:40;;-1:-1:-1;13231:37:0;;;;13504:55;;;;;;;;;;13575:69;;;;;;;;;;;;13640:3;13575:69;;;;;;-1:-1:-1;;;;;13575:69:0;;;;;;;;;;;;;-1:-1:-1;13664:15:0;;11587:2100;-1:-1:-1;;;;;;;;11587:2100:0:o;10142:224::-;-1:-1:-1;;;;;10317:28:0;10210:7;10317:28;;;:10;:28;;;;;;;;;10276:19;:37;;;;;;;10258:15;;3070:7;10258:55;;10248:97;;;;10237:121;;10142:224::o;2316:40::-;;;;;;;;;;;;;;-1:-1:-1;;2316:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10936:303::-;11016:7;11036:18;11128:23;11057:60;11070:41;11083:16;11101:9;;11070:12;:41::i;11057:60::-;11036:81;;11154:42;11167:16;11185:10;11154:12;:42::i;:::-;11128:68;10936:303;-1:-1:-1;;;;10936:303:0:o;4190:296::-;4275:1;4248:24;;:28;:51;;;;-1:-1:-1;4280:10:0;;;;:19;4248:51;:88;;;;;4310:15;;4328:8;4310:26;4303:3;:33;;4248:88;4240:97;;;;;;;;4366:84;4379:15;;4437:12;;3070:7;4397:24;;:36;4396:53;;;;;;;;4366:12;:84::i;:::-;4348:15;:102;4461:10;:17;;-1:-1:-1;;4461:17:0;4474:4;4461:17;;;4190:296::o;9574:91::-;9645:12;;9574:91;;:::o;11247:332::-;11326:7;11395:18;11483:17;11371:12;;11354:13;:29;;11346:38;;;;;;;;11416:56;11429:37;11442:13;11457:8;;11429:12;:37::i;2401:35::-;2434:2;2401:35;:::o;9832:156::-;9876:7;9923:10;9951:29;9923:10;9951:11;:29::i;:::-;9944:36;;9832:156;;;:::o;2944:33::-;;;;:::o;2903:34::-;;;-1:-1:-1;;;;;2903:34:0;;:::o;5425:372::-;5473:24;5521:18;1498:1;1482:13;:11;:13::i;:::-;:17;1474:26;;;;;;5500:10;5473:37;;5542:13;:11;:13::i;:::-;-1:-1:-1;;;;;5566:28:0;;;;;;:10;:28;;;;;;:65;;3070:7;5608:22;;5566:65;;;5642:37;5521:34;;-1:-1:-1;5566:28:0;;5642:37;;;;;5521:34;;5642:37;;5566:28;5642:37;5521:34;5566:28;5642:37;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;5690:29:0;;;;;;:11;:29;;;;;;;;;:43;;;;;;5749:40;;;;;;;;;;;;;;;;;5425:372;;:::o;9243:206::-;9326:16;;9306;;-1:-1:-1;;;;;9306:16:0;;;9326;;9306:36;9298:45;;;;;;9375:16;;-1:-1:-1;;;;;9375:16:0;9362:9;:29;9354:38;;;;;;9425:16;;9403:19;:38;;-1:-1:-1;;9403:38:0;-1:-1:-1;;;;;9425:16:0;;;9403:38;;;;;;9243:206::o;10374:273::-;10416:7;10436:17;10471:18;10555:17;10456:4;10436:24;;10492:52;10505:33;10518:9;10529:8;;10505:12;:33::i;10492:52::-;10471:73;;10575:35;10588:9;10599:10;10575:12;:35::i;2865:31::-;;;-1:-1:-1;;;;;2865:31:0;;:::o;9457:109::-;9545:4;9537:21;9457:109;:::o;4613:144::-;4679:7;4706:43;4721:16;4739:9;4706:14;:43::i;:::-;4699:50;4613:144;-1:-1:-1;;4613:144:0:o;9996:138::-;-1:-1:-1;;;;;10089:37:0;10062:7;10089:37;;;:19;:37;;;;;;;9996:138::o;3250:46::-;;;;;;;;;;;;;:::o;8969:127::-;875:5;;-1:-1:-1;;;;;875:5:0;861:10;:19;853:28;;;;;;9053:16;:35;;-1:-1:-1;;9053:35:0;-1:-1:-1;;;;;9053:35:0;;;;;;;;;;8969:127::o;10655:273::-;10696:7;10716:17;10751:18;10836:17;10736:4;10716:24;;10772:53;10785:34;10798:9;10809;;10785:12;:34::i;10772:53::-;10751:74;;10856:35;10869:9;10880:10;10856:12;:35::i;609:20::-;;;-1:-1:-1;;;;;609:20:0;;:::o;9673:151::-;9714:7;9761:10;9789:27;9761:10;9789:9;:27::i;2363:31::-;;;;;;;;;;;;;;;-1:-1:-1;;2363:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2984:39;;;;:::o;9104:131::-;1313:16;;-1:-1:-1;;;;;1313:16:0;1299:10;:30;1291:39;;;;;;9192:16;:35;;-1:-1:-1;;9192:35:0;-1:-1:-1;;;;;9192:35:0;;;;;;;;;;9104:131::o;3456:30::-;;;;;;:::o;4494:111::-;4533:7;4560:37;4575:10;4587:9;4560:14;:37::i;:::-;4553:44;;4494:111;:::o;7443:1326::-;7541:4;7557:24;7755:17;7848:20;7922:18;1414:1;1401:10;:8;:10::i;:::-;:14;1393:23;;;;;;7584:10;7632:37;;;;:19;:37;;;;;;7584:10;;-1:-1:-1;7613:56:0;;;7605:65;;;;;;7703:1;7687:13;:11;:13::i;:::-;:17;7683:60;;;7721:10;:8;:10::i;:::-;7775:62;7788:43;7801:15;7818:12;;7788;:43::i;7775:62::-;7755:82;;7871:40;7884:15;7901:9;7871:12;:40::i;:::-;7848:63;;7943:9;7922:30;;7980:37;7993:12;;8007:9;7980:12;:37::i;:::-;7965:12;:52;-1:-1:-1;;;;;8083:37:0;;;;;;:19;:37;;;;;;8070:68;;8122:15;8070:12;:68::i;:::-;-1:-1:-1;;;;;8030:37:0;;;;;;;:19;:37;;;;;;:108;;;;8196:31;;;;;;;8183:59;;8229:12;8183;:59::i;:::-;-1:-1:-1;;;;;8149:31:0;;;;;;;:19;:31;;;;;;;;:93;;;;8297:15;;;8255:28;;;;;:10;:28;;;;;;:76;;8297:33;;;8255:76;;;;;;8378:15;;8342:22;;;;;;:67;;8378:30;;;8342:67;;;;;8426:10;;;;:19;;8422:246;;8487:50;8500:24;;8526:10;8487:12;:50::i;:::-;8460:24;:77;8422:246;;;8586:70;8599:15;;8643:12;;3070:7;8617:10;:22;8616:39;;;;;;8586:70;8568:15;:88;8422:246;8712:10;-1:-1:-1;;;;;8685:52:0;8694:16;-1:-1:-1;;;;;8685:52:0;;8724:12;8685:52;;;;;;;;;;;;;;;;;;-1:-1:-1;8757:4:0;;7443:1326;-1:-1:-1;;;;;;7443:1326:0:o;8869:92::-;875:5;;-1:-1:-1;;;;;875:5:0;861:10;:19;853:28;;;;;;8937:16;;;;:6;;:16;;;;;:::i;:::-;;8869:92;:::o;2827:31::-;;;-1:-1:-1;;;;;2827:31:0;;:::o;8777:84::-;875:5;;-1:-1:-1;;;;;875:5:0;861:10;:19;853:28;;;;;;8841:12;;;;:4;;:12;;;;;:::i;3378:30::-;;;;:::o;4855:345::-;4899:24;4947:18;5069:15;1498:1;1482:13;:11;:13::i;:::-;:17;1474:26;;;;;;4926:10;4899:37;;4968:13;:11;:13::i;:::-;-1:-1:-1;;;;;4992:28:0;;;;;;:10;:28;;;;;:66;;3070:7;5035:22;;4992:66;;;4947:34;-1:-1:-1;5087:44:0;5003:16;4947:34;5087:14;:44::i;:::-;5069:62;;5154:16;-1:-1:-1;;;;;5147:45:0;;5172:10;5184:7;5147:45;;;;;;;;;;;;;;;;;;;;;;;;4855:345;;;:::o;5805:1630::-;5879:24;6005:27;6106:20;6262:19;6461:18;6566:17;6839:22;1414:1;1401:10;:8;:10::i;:::-;:14;1393:23;;;;;;5906:10;5954:37;;;;:19;:37;;;;;;5906:10;;-1:-1:-1;5935:56:0;;;5927:65;;;;;;6035:58;6048:39;6061:15;6078:8;;6048:12;:39::i;6035:58::-;6005:88;;6129:68;6142:50;6155:19;6176:15;;6142:12;:50::i;6129:68::-;6208:18;;:41;;6106:91;;-1:-1:-1;;;;;;6208:18:0;;:41;;;;;6106:91;;6208:18;:41;:18;:41;6106:91;6208:18;:41;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6208:41:0;6284:68;6297:49;6310:19;6331:14;;6297:12;:49::i;6284:68::-;6363:18;:33;;;;;;6407:19;;:41;;6262:90;;-1:-1:-1;;;;;;6407:19:0;;:41;;;;;6262:90;;6363:18;6407:41;6363:18;6407:41;6262:90;6407:19;:41;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6407:41:0;6482:73;6495:19;6516:38;6529:12;6542:11;6516:12;:38::i;6482:73::-;6461:94;;6586:50;6599:15;6616:19;6586:12;:50::i;:::-;6566:70;;6664:43;6677:12;;6691:15;6664:12;:43::i;:::-;6649:12;:58;-1:-1:-1;;;;;6771:37:0;;;;;;:19;:37;;;;;;6758:68;;6810:15;6758:12;:68::i;:::-;-1:-1:-1;;;;;6718:37:0;;;;;;:19;:37;;;;;;;;:108;;;;6874:15;;6945:10;:28;;;;;;:47;;6874:33;;;3070:7;6911:21;;6874:59;6945:47;;;;;;7009:10;;6874:59;;-1:-1:-1;7009:10:0;;:19;;7005:272;;7072:50;7085:24;;7111:10;7072:12;:50::i;:::-;7045:24;:77;7005:272;;;7159:1;7144:12;;:16;7140:137;;;7195:70;7208:15;;7252:12;;3070:7;7226:10;:22;7225:39;;;;;;7195:70;7177:15;:88;7140:137;7294:55;;;;;;;;7329:1;;-1:-1:-1;;;;;7294:55:0;;;;;;;;;;;;7365:62;;;;;;;;;;;;7423:3;7365:62;;;;;;-1:-1:-1;;;;;7365:62:0;;;;;;;;;;;;;5805:1630;;;;;;;;:::o;3878:304::-;3924:7;3964:1;3952:9;:13;:35;;;;-1:-1:-1;3969:10:0;;;;:18;;:10;:18;3952:35;3944:44;;;;;;;;3999:13;:26;;4016:9;3999:26;;;;;;4067:15;;4110:12;;4054:69;;3070:7;4085:21;4084:38;;;;;;4054:69;4036:15;:87;4139:35;;;4164:9;4139:35;;;;4152:10;;4139:35;;;;;;;;;;3878:304;:::o;5208:209::-;5271:10;5244:24;5310:37;;;:19;:37;;;;;;;5362:11;;5358:30;;;5375:13;5380:7;5375:4;:13::i;:::-;5399:10;:8;:10::i;3415:32::-;;;;:::o;901:178::-;875:5;;-1:-1:-1;;;;;875:5:0;861:10;:19;853:28;;;;;;-1:-1:-1;;;;;978:22:0;;;;970:31;;;;;;1034:5;;;1013:37;;-1:-1:-1;;;;;1013:37:0;;;;1034:5;;;1013:37;;;1057:5;:16;;-1:-1:-1;;1057:16:0;-1:-1:-1;;;;;1057:16:0;;;;;;;;;;901:178::o;3200:43::-;;;;;;;;;;;;;:::o;52:174::-;110:9;132:6;;128:37;;;-1:-1:-1;156:1:0;149:8;;128:37;-1:-1:-1;175:5:0;;;179:1;175;:5;194;;;;;;;;:10;187:18;;;232:92;290:7;317:1;313;:5;;;;;;;;;232:92;-1:-1:-1;;;232:92:0:o;449:127::-;529:5;;;548:6;;;;541:14;;;330:113;388:7;411:6;;;;404:14;;;;-1:-1:-1;432:5:0;;;330:113::o;1088:12602::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1088:12602:0;;;;-1:-1:-1;1088:12602:0;;;;;;;;;;;;;;

Swarm Source

bzzr://fa1e26e19cd06c38b17649d4ebf4bd27deeffb18dde36777c937fdbc76af4517
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.