Token Arcona Distribution Contract

AR  
 

Overview [ERC-20]

Price
$0.08 @ 0.000042 Eth (-4.29%)
Fully Diluted Market Cap
Max Total Supply:
15,181,707.01308544976911725 ARCONA

Holders:
23,113 (0.00%)

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

Arcona - X Reality Metaverse aims to bring together the virtual and real worlds. The Arcona X Reality environment generate new forms of reality by bringing digital objects into the physical world and bringing physical world objects into the digital world

Profitability / Loss

Since Initial Offer Price
:ETH 0.0025 98.32%

Market

Volume (24H):$32,707.00
Market Capitalization:$1,237,614.00
Circulating Supply:15,181,707.00 ARCONA
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : Apr 15th, 2018  
ICO End Date : May 15th, 2018
Total Cap : 135,000,000
Hard Cap : $ 25,000,000
Soft Cap : 2746 ETH
Token Distribution Date : May 15th, 2018
ICO Price  : 0.0025 ETH
Country : Gibraltar

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ArconaToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-11
*/

pragma solidity ^0.4.21;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  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) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
 
}


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, require mintingFinished before start transfers
 */
contract BasicToken is ERC20Basic {
    
  using SafeMath for uint256;

  mapping(address => uint256) balances;
  bool public mintingFinished = false;

  mapping(address => uint256) releaseTime;
  // Only after finishMinting and checks for bounty accounts time restrictions
  modifier timeAllowed() {
    require(mintingFinished);
    require(releaseTime[msg.sender] == 0 || now > releaseTime[msg.sender]); //finishSale + releasedays * 1 days
    _;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public timeAllowed returns (bool) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of. 
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }

  // release time of freezed account
  function checkReleaseAt(address _owner) public constant returns (uint256 date) {
    return releaseTime[_owner];
  }

  // change restricted releaseXX account
  function changeReleaseAccount(address _owner, address _newowner) internal returns (bool) {
    require(balances[_newowner] == 0);
    require(releaseTime[_owner] != 0 );
    require(releaseTime[_newowner] == 0 );
    balances[_newowner] = balances[_owner];
    releaseTime[_newowner] = releaseTime[_owner];
    balances[_owner] = 0;
    releaseTime[_owner] = 0;
    return true;
  }

  // release Customer's account after KYC
  function releaseAccount(address _owner) internal returns (bool) {
    releaseTime[_owner] = now;
    return true;
  }

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(mintingFinished);
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}
/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    
  address public owner;

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    owner = newOwner;
  }

}

/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */

contract MintableToken is StandardToken, Ownable {

  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will recieve the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @param _releaseTime The (optional) freeze time - KYC & bounty accounts.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount, uint256 _releaseTime) internal canMint returns (bool) {
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    if ( _releaseTime > 0 ) {
        releaseTime[_to] = _releaseTime;
    }
    emit Transfer(0x0, _to, _amount);
    return true;
  }

  // drain tokens
  function unMint(address _from) internal returns (bool) {
    totalSupply = totalSupply.sub(balances[_from]);
    emit Transfer(_from, 0x0, balances[_from]);
    balances[_from] = 0;
    return true;
  }
 
}
  
   
contract ArconaToken is MintableToken {

    string public constant name = "Arcona Distribution Contract";
    string public constant symbol = "ARCONA";
    uint8 public constant decimals = 18;
   
    using SafeMath for uint;
    
    address public multisig;
    address public restricted;
    address public registerbot;
    address public certbot;
    address public release6m;
    address public release12m;
    address public release18m;

    mapping (address => bool) registered;
    mapping (address => address) referral;
    mapping (string => address) certificate;

    uint restrictedPercent = 40;
    uint refererPercent = 55; // 5.5%
    uint first24Percent = 50; // 50%
    uint auctionPercent = 5; // 5%
    uint bonusPeriod = 21; // 21 days (20 + 1st day whitelist sale)

    uint public startSale;
    uint public finishSale;
    bool public isGlobalPause=false;
    uint public minTokenSale = 10*10**18; // min 10 tokens
    uint public totalWeiSale = 2746*10**18; // softcap reached on preICO:  0x516130856e743090af9d7fd95d6fc94c8743a4e1
    bool public isFinished=false;

    uint public startAuction;
    uint public finishAuction;
    uint public hardcap = 25*10**6; // USD
    uint public rateSale = 400*10**18; // 1ETH = 400 ARN
    uint public rateUSD = 500; // ETH Course in USD

    // constructor
    function ArconaToken(uint256 _startSale,uint256 _finishSale,address _multisig,address _restricted,address _registerbot,address _certbot, address _release6m, address _release12m, address _release18m) public  {
        multisig = _multisig;
        restricted = _restricted;
        registerbot = _registerbot;
        certbot = _certbot;
        release6m = _release6m;
        release12m = _release12m;
        release18m = _release18m;
        startSale = _startSale;
        finishSale = _finishSale;
    }

    modifier isRegistered() {
        require (registered[msg.sender]);
        _;
    }

    modifier anySaleIsOn() {
        require(now > startSale && now < finishSale && !isGlobalPause);
        _;
    }

    modifier isUnderHardCap() {
        uint totalUsdSale = rateUSD.mul(totalWeiSale).div(1 ether);
        require(totalUsdSale <= hardcap);
        _;
    }

    function changefirst24Percent(uint _percent) public onlyOwner {
        first24Percent = _percent;
    }

    function changeCourse(uint _usd) public onlyOwner {
        rateUSD = _usd;
    }

    function changeMultisig(address _new) public onlyOwner {
        multisig = _new;
    }

    function changeRegisterBot(address _new) public onlyOwner {
        registerbot = _new;
    }

    function changeCertBot(address _new) public onlyOwner {
        certbot = _new;
    }

    function changeRestricted(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(restricted,_new);
        }
        restricted = _new;
    }

    function proceedKYC(address _customer) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer != address(0));
       releaseAccount(_customer);
    }

    function changeRelease6m(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(release6m,_new);
        }
        release6m = _new;
    }

    function changeRelease12m(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(release12m,_new);
        }
        release12m = _new;
    }

    function changeRelease18m(address _new) public onlyOwner {
        if (isFinished) {
            changeReleaseAccount(release18m,_new);
        }
        release18m = _new;
    }

    function addCertificate(string _id,  address _owner) public {
        require(msg.sender == certbot || msg.sender == owner);
        require(certificate[_id] == address(0));
        if (_owner != address(0)) {
            certificate[_id] = _owner;
        } else {
            certificate[_id] = owner;
        }    
    }

    function editCertificate(string _id,  address _newowner) public {
        require(certificate[_id] != address(0));
        require(msg.sender == certificate[_id] || msg.sender == certbot || msg.sender == owner );
        certificate[_id] = _newowner;
    }

    function checkCertificate(string _id) public view returns (address) {
        return certificate[_id];
    }

    function deleteCertificate(string _id) public  {
        require(msg.sender == certbot || msg.sender == owner);
        delete certificate[_id];
    }

    function registerCustomer(address _customer, address _referral) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer != address(0));
        registered[_customer] = true;
        if (_referral != address(0) && _referral != _customer) {
            referral[_customer] = _referral;
        }
    }

    function checkCustomer(address _customer) public view returns (bool, address) {
        return ( registered[_customer], referral[_customer]);
    }

    // import preICO customers from 0x516130856e743090af9d7fd95d6fc94c8743a4e1
    function importCustomer(address _customer, address _referral, uint _tokenAmount) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer != address(0));
        require(now < startSale); // before ICO starts
        registered[_customer] = true;
        if (_referral != address(0) && _referral != _customer) {
            referral[_customer] = _referral;
        }
        mint(_customer, _tokenAmount, now + 99 * 1 years); // till KYC is completed
    }

    function deleteCustomer(address _customer) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_customer!= address(0));
        delete registered[_customer];
        delete referral[_customer];
        // Drain tokens
        unMint(_customer);
    }

    function globalPause(bool _state) public onlyOwner {
        isGlobalPause = _state;
    }

    function changeRateSale(uint _tokenAmount) public onlyOwner {
        require(isGlobalPause || (now > startSale && now < finishSale));
        rateSale = _tokenAmount;
    }

    function changeStartSale(uint256 _ts) public onlyOwner {
        startSale = _ts;
    }

    function changeMinTokenSale(uint256 _ts) public onlyOwner {
        minTokenSale = _ts;
    }

    function changeFinishSale(uint256 _ts) public onlyOwner {
        finishSale = _ts;
    }

    function setAuction(uint256 _startAuction, uint256 _finishAuction, uint256 _auctionPercent) public onlyOwner {
        require(_startAuction < _finishAuction);
        require(_auctionPercent > 0);
        require(_startAuction > startSale);
        require(_finishAuction <= finishSale);
        finishAuction = _finishAuction;
        startAuction = _startAuction;
        auctionPercent = _auctionPercent;
    }

    function finishMinting() public onlyOwner {
        require(!isFinished);
        isFinished=true;
        uint issuedTokenSupply = totalSupply;
        // 40% restricted + 60% issuedTokenSupply = 100%
        uint restrictedTokens = issuedTokenSupply.mul(restrictedPercent).div(100 - restrictedPercent);
        issuedTokenSupply = issuedTokenSupply.add(restrictedTokens);
        // 13% - 11% for any purpose and 2% bounty
        mint(restricted, issuedTokenSupply.mul(13).div(100), now);
        // 27% - freezed founds to team & adwisers
        mint(release6m, issuedTokenSupply.mul(85).div(1000), now + 180 * 1 days); // 8.5 %
        mint(release12m, issuedTokenSupply.mul(85).div(1000), now + 365 * 1 days); // 8.5 %
        mint(release18m, issuedTokenSupply.mul(10).div(100), now + 545 * 1 days); // 10 %
        mintingFinished=true;
    }

    function foreignBuyTest(uint256 _weiAmount, uint256 _rate) public pure returns (uint tokenAmount) {
        require(_weiAmount > 0);
        require(_rate > 0);
        return _rate.mul(_weiAmount).div(1 ether);
    }
    
    // BTC external payments
    function foreignBuy(address _holder, uint256 _weiAmount, uint256 _rate) public {
        require(msg.sender == registerbot || msg.sender == owner);
        require(_weiAmount > 0);
        require(_rate > 0);
        registered[_holder] = true;
        uint tokens = _rate.mul(_weiAmount).div(1 ether);
        mint(_holder, tokens, now + 99 * 1 years); // till KYC is completed
        totalWeiSale = totalWeiSale.add(_weiAmount);
    }

    function createTokens() public isRegistered anySaleIsOn isUnderHardCap payable {
        uint tokens = rateSale.mul(msg.value).div(1 ether);
        require(tokens >= minTokenSale); // min 10 tokens
        multisig.transfer(msg.value);
        uint percent = 0;
        uint bonusTokens = 0;
        uint finishBonus = startSale + (bonusPeriod * 1 days);
        if ( now < finishBonus ) {
            if ( now <= startSale + 1 days ) {
                percent = first24Percent;   // 1st day: 50% (for registered whitelist only)
           } else {        // 25% total:
               percent = (finishBonus - now).div(1 days); // last 15days -1% every day
               if ( percent >= 15 ) {  //  first 5days, -1% every 12h
                  percent = 27 - (now - startSale).div(1 hours).div(12);
               } else {
                  percent = percent.add(1);
               }				
          }
        } else {
            if ( now >= startAuction && now < finishAuction ) {
                percent = auctionPercent;
            }
        }
        if ( percent > 0 ) {
            bonusTokens = tokens.mul(percent).div(100);
            tokens = tokens.add(bonusTokens);
        }

        totalWeiSale = totalWeiSale.add(msg.value);
        mint(msg.sender, tokens, now + 99 * 1 years); // till KYC is completed

        if ( referral[msg.sender] != address(0) ) {
            uint refererTokens = tokens.mul(refererPercent).div(1000);
            mint(referral[msg.sender], refererTokens, now + 99 * 1 years);
        }
    }

    function() external isRegistered anySaleIsOn isUnderHardCap payable {
        createTokens();
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_usd","type":"uint256"}],"name":"changeCourse","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"},{"name":"_referral","type":"address"},{"name":"_tokenAmount","type":"uint256"}],"name":"importCustomer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"string"},{"name":"_owner","type":"address"}],"name":"addCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"}],"name":"deleteCustomer","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":"release18m","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeMultisig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"release12m","outputs":[{"name":"","type":"address"}],"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":"finishAuction","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ts","type":"uint256"}],"name":"changeMinTokenSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"multisig","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ts","type":"uint256"}],"name":"changeStartSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"_weiAmount","type":"uint256"},{"name":"_rate","type":"uint256"}],"name":"foreignBuy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minTokenSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ts","type":"uint256"}],"name":"changeFinishSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rateSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"release6m","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startAuction","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startAuction","type":"uint256"},{"name":"_finishAuction","type":"uint256"},{"name":"_auctionPercent","type":"uint256"}],"name":"setAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"restricted","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAmount","type":"uint256"}],"name":"changeRateSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"}],"name":"proceedKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"string"},{"name":"_newowner","type":"address"}],"name":"editCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRelease12m","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_weiAmount","type":"uint256"},{"name":"_rate","type":"uint256"}],"name":"foreignBuyTest","outputs":[{"name":"tokenAmount","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"string"}],"name":"deleteCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_state","type":"bool"}],"name":"globalPause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"checkReleaseAt","outputs":[{"name":"date","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":"registerbot","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finishSale","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":"_customer","type":"address"}],"name":"checkCustomer","outputs":[{"name":"","type":"bool"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"certbot","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRegisterBot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRelease18m","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardcap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"createTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"startSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_customer","type":"address"},{"name":"_referral","type":"address"}],"name":"registerCustomer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalWeiSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_percent","type":"uint256"}],"name":"changefirst24Percent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeCertBot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isGlobalPause","outputs":[{"name":"","type":"bool"}],"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":"rateUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRelease6m","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"changeRestricted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"string"}],"name":"checkCertificate","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startSale","type":"uint256"},{"name":"_finishSale","type":"uint256"},{"name":"_multisig","type":"address"},{"name":"_restricted","type":"address"},{"name":"_registerbot","type":"address"},{"name":"_certbot","type":"address"},{"name":"_release6m","type":"address"},{"name":"_release12m","type":"address"},{"name":"_release18m","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60606040526000600260006101000a81548160ff021916908315150217905550602860105560376011556032601255600560135560156014556000601760006101000a81548160ff021916908315150217905550678ac7230489e800006018556894dc67c31186a800006019556000601a60006101000a81548160ff02191690831515021790555063017d7840601d556815af1d78b58c400000601e556101f4601f5534156100ad57600080fd5b60405161012080614e788339810160405280805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190805190602001909190505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508860158190555087601681905550505050505050505050614b38806103406000396000f3006060604052600436106102d5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063011b29e3146103b457806305d2035b146103d757806306fdde0314610404578063095ea7b3146104925780630d78bc17146104ec5780630fe8c7881461054d57806311c9ccf6146105c957806318160ddd146106025780631b7d5f8c1461062b5780632268a3581461068057806323b872dd146106b95780632f0989ec14610732578063313ce56714610787578063430ca46f146107b65780634386fe0d146107df5780634783c35b146108025780634a58c409146108575780634d23aaa81461087a5780634d3b915e146108c557806356216916146108ee5780636585501014610911578063661884631461093a5780636b475df7146109945780636b64c769146109e95780636d56d9f414610a125780637072c6b114610a4757806370a0823114610a9c57806372fd1a7c14610ae95780637470312314610b0c578063776b37e214610b455780637b35296214610bc15780637b424c0d14610bee5780637d64bcb414610c275780637e4a82b114610c3c57806381f6bf7d14610c7c57806387c1be6e14610cd95780638c8ee49014610cfe5780638da5cb5b14610d4b5780638f7ba0a114610da05780638f86f5ea14610df557806395d89b4114610e1e578063a197c04214610eac578063a75261f214610f30578063a9059cbb14610f85578063ac7cda5314610fdf578063accfa48b14611018578063b071cbe614611051578063b44272631461107a578063b66a0e5d14611084578063b763150d146110ad578063b83a4da914611105578063bf30d9431461112e578063d346feb814611151578063d73dd6231461118a578063dd62ed3e146111e4578063e056c1eb14611250578063f2fde38b1461127d578063f853ee49146112b6578063fc385d51146112df578063fd93bdb114611318578063ffbd4dd514611351575b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561032d57600080fd5b6015544211801561033f575060165442105b80156103585750601760009054906101000a900460ff16155b151561036357600080fd5b6000610396670de0b6b3a7640000610388601954601f546113ee90919063ffffffff16565b61142190919063ffffffff16565b9050601d5481111515156103a957600080fd5b6103b161143c565b50005b34156103bf57600080fd5b6103d56004808035906020019091905050611838565b005b34156103e257600080fd5b6103ea61189e565b604051808215151515815260200191505060405180910390f35b341561040f57600080fd5b6104176118b1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561045757808201518184015260208101905061043c565b50505050905090810190601f1680156104845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049d57600080fd5b6104d2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118ea565b604051808215151515815260200191505060405180910390f35b34156104f757600080fd5b61054b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119dc565b005b341561055857600080fd5b6105c7600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c38565b005b34156105d457600080fd5b610600600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f68565b005b341561060d57600080fd5b610615612116565b6040518082815260200191505060405180910390f35b341561063657600080fd5b61063e61211c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561068b57600080fd5b6106b7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612142565b005b34156106c457600080fd5b610718600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121e2565b604051808215151515815260200191505060405180910390f35b341561073d57600080fd5b6107456125bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561079257600080fd5b61079a6125e3565b604051808260ff1660ff16815260200191505060405180910390f35b34156107c157600080fd5b6107c96125e8565b6040518082815260200191505060405180910390f35b34156107ea57600080fd5b61080060048080359060200190919050506125ee565b005b341561080d57600080fd5b610815612654565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561086257600080fd5b610878600480803590602001909190505061267a565b005b341561088557600080fd5b6108c3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190919050506126e0565b005b34156108d057600080fd5b6108d861286e565b6040518082815260200191505060405180910390f35b34156108f957600080fd5b61090f6004808035906020019091905050612874565b005b341561091c57600080fd5b6109246128da565b6040518082815260200191505060405180910390f35b341561094557600080fd5b61097a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506128e0565b604051808215151515815260200191505060405180910390f35b341561099f57600080fd5b6109a7612b71565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109f457600080fd5b6109fc612b97565b6040518082815260200191505060405180910390f35b3415610a1d57600080fd5b610a456004808035906020019091908035906020019091908035906020019091905050612b9d565b005b3415610a5257600080fd5b610a5a612c51565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610aa757600080fd5b610ad3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612c77565b6040518082815260200191505060405180910390f35b3415610af457600080fd5b610b0a6004808035906020019091905050612cc0565b005b3415610b1757600080fd5b610b43600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612d5a565b005b3415610b5057600080fd5b610bbf600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612e57565b005b3415610bcc57600080fd5b610bd4613141565b604051808215151515815260200191505060405180910390f35b3415610bf957600080fd5b610c25600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613154565b005b3415610c3257600080fd5b610c3a613237565b005b3415610c4757600080fd5b610c666004808035906020019091908035906020019091905050613497565b6040518082815260200191505060405180910390f35b3415610c8757600080fd5b610cd7600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506134eb565b005b3415610ce457600080fd5b610cfc60048080351515906020019091905050613630565b005b3415610d0957600080fd5b610d35600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506136a9565b6040518082815260200191505060405180910390f35b3415610d5657600080fd5b610d5e6136f2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610dab57600080fd5b610db3613718565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610e0057600080fd5b610e0861373e565b6040518082815260200191505060405180910390f35b3415610e2957600080fd5b610e31613744565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e71578082015181840152602081019050610e56565b50505050905090810190601f168015610e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610eb757600080fd5b610ee3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061377d565b60405180831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b3415610f3b57600080fd5b610f43613836565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610f9057600080fd5b610fc5600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061385c565b604051808215151515815260200191505060405180910390f35b3415610fea57600080fd5b611016600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613aa9565b005b341561102357600080fd5b61104f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613b49565b005b341561105c57600080fd5b611064613c2c565b6040518082815260200191505060405180910390f35b61108261143c565b005b341561108f57600080fd5b611097613c32565b6040518082815260200191505060405180910390f35b34156110b857600080fd5b611103600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613c38565b005b341561111057600080fd5b611118613e71565b6040518082815260200191505060405180910390f35b341561113957600080fd5b61114f6004808035906020019091905050613e77565b005b341561115c57600080fd5b611188600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613edd565b005b341561119557600080fd5b6111ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613f7d565b604051808215151515815260200191505060405180910390f35b34156111ef57600080fd5b61123a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614179565b6040518082815260200191505060405180910390f35b341561125b57600080fd5b611263614200565b604051808215151515815260200191505060405180910390f35b341561128857600080fd5b6112b4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614213565b005b34156112c157600080fd5b6112c96142ef565b6040518082815260200191505060405180910390f35b34156112ea57600080fd5b611316600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506142f5565b005b341561132357600080fd5b61134f600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506143d8565b005b341561135c57600080fd5b6113ac600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506144bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000808284029050600084148061140f575082848281151561140c57fe5b04145b151561141757fe5b8091505092915050565b600080828481151561142f57fe5b0490508091505092915050565b6000806000806000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561149c57600080fd5b601554421180156114ae575060165442105b80156114c75750601760009054906101000a900460ff16155b15156114d257600080fd5b6000611505670de0b6b3a76400006114f7601954601f546113ee90919063ffffffff16565b61142190919063ffffffff16565b9050601d54811115151561151857600080fd5b611547670de0b6b3a764000061153934601e546113ee90919063ffffffff16565b61142190919063ffffffff16565b9550601854861015151561155a57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156115bc57600080fd5b600094506000935062015180601454026015540192508242101561166b576201518060155401421115156115f4576012549450611666565b61160c6201518042850361142190919063ffffffff16565b9450600f8510151561164e57611644600c611636610e10601554420361142190919063ffffffff16565b61142190919063ffffffff16565b601b039450611665565b61166260018661455090919063ffffffff16565b94505b5b61168a565b601b54421015801561167e5750601c5442105b156116895760135494505b5b60008511156116d1576116b960646116ab87896113ee90919063ffffffff16565b61142190919063ffffffff16565b93506116ce848761455090919063ffffffff16565b95505b6116e63460195461455090919063ffffffff16565b6019819055506116fd338763ba16ea80420161456e565b50600073ffffffffffffffffffffffffffffffffffffffff16600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611830576117bc6103e86117ae601154896113ee90919063ffffffff16565b61142190919063ffffffff16565b915061182e600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168363ba16ea80420161456e565b505b505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189457600080fd5b80601f8190555050565b600260009054906101000a900460ff1681565b6040805190810160405280601c81526020017f4172636f6e6120446973747269627574696f6e20436f6e74726163740000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a855750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611a9057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611acc57600080fd5b60155442101515611adc57600080fd5b6001600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b9d57508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c215781600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b611c32838263ba16ea80420161456e565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ce15750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611cec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600f836040518082805190602001908083835b602083101515611d3c5780518252602082019150602081019050602083039250611d17565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611db257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e975780600f836040518082805190602001908083835b602083101515611e215780518252602082019150602081019050602083039250611dfc565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f64565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f836040518082805190602001908083835b602083101515611ef25780518252602082019150602081019050602083039250611ecd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120115750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561201c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561205857600080fd5b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055612112816146e5565b5050565b60005481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561219e57600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900460ff1615156121ff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561223b57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561228957600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561231457600080fd5b61236682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461481e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fb82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124cd82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461481e90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b601c5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561264a57600080fd5b8060188190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126d657600080fd5b8060158190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061278b5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561279657600080fd5b6000831115156127a557600080fd5b6000821115156127b457600080fd5b6001600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612839670de0b6b3a764000061282b85856113ee90919063ffffffff16565b61142190919063ffffffff16565b905061284c848263ba16ea80420161456e565b506128628360195461455090919063ffffffff16565b60198190555050505050565b60185481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128d057600080fd5b8060168190555050565b601e5481565b600080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156129f1576000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a85565b612a04838261481e90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bf957600080fd5b8183101515612c0757600080fd5b600081111515612c1657600080fd5b60155483111515612c2657600080fd5b6016548211151515612c3757600080fd5b81601c8190555082601b8190555080601381905550505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d1c57600080fd5b601760009054906101000a900460ff1680612d45575060155442118015612d44575060165442105b5b1515612d5057600080fd5b80601e8190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612e035750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612e0e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612e4a57600080fd5b612e5381614837565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600f836040518082805190602001908083835b602083101515612ea75780518252602082019150602081019050602083039250612e82565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515612f1e57600080fd5b600f826040518082805190602001908083835b602083101515612f565780518252602082019150602081019050602083039250612f31565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806130305750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806130885750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561309357600080fd5b80600f836040518082805190602001908083835b6020831015156130cc57805182526020820191506020810190506020830392506130a7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601a60009054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131b057600080fd5b601a60009054906101000a900460ff16156131f3576131f1600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561329657600080fd5b601a60009054906101000a900460ff161515156132b257600080fd5b6001601a60006101000a81548160ff02191690831515021790555060005491506132fe6010546064036132f0601054856113ee90919063ffffffff16565b61142190919063ffffffff16565b9050613313818361455090919063ffffffff16565b9150613368600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166133626064613354600d876113ee90919063ffffffff16565b61142190919063ffffffff16565b4261456e565b506133c2600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166133b76103e86133a96055876113ee90919063ffffffff16565b61142190919063ffffffff16565b62ed4e00420161456e565b5061341d600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166134116103e86134036055876113ee90919063ffffffff16565b61142190919063ffffffff16565b6301e13380420161456e565b50613477600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661346b606461345d600a876113ee90919063ffffffff16565b61142190919063ffffffff16565b6302ce8180420161456e565b506001600260006101000a81548160ff0219169083151502179055505050565b600080831115156134a757600080fd5b6000821115156134b657600080fd5b6134e3670de0b6b3a76400006134d585856113ee90919063ffffffff16565b61142190919063ffffffff16565b905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806135945750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561359f57600080fd5b600f816040518082805190602001908083835b6020831015156135d757805182526020820191506020810190506020830392506135b2565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561368c57600080fd5b80601760006101000a81548160ff02191690831515021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60165481565b6040805190810160405280600681526020017f4152434f4e41000000000000000000000000000000000000000000000000000081525081565b600080600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509150915091565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900460ff16151561387957600080fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414806139055750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442115b151561391057600080fd5b61396282600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461481e90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139f782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613b0557600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ba557600080fd5b601a60009054906101000a900460ff1615613be857613be6600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601d5481565b60155481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613ce15750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613cec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613d2857600080fd5b6001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613de957508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15613e6d5780600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60195481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613ed357600080fd5b8060128190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613f3957600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061400e82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601760009054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561426f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156142ab57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601f5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561435157600080fd5b601a60009054906101000a900460ff161561439457614392600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561443457600080fd5b601a60009054906101000a900460ff161561447757614475600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682614886565b505b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600f826040518082805190602001908083835b6020831015156144f557805182526020820191506020810190506020830392506144d0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080828401905083811015151561456457fe5b8091505092915050565b6000600260009054906101000a900460ff1615151561458c57600080fd5b6145a18360005461455090919063ffffffff16565b6000819055506145f983600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461455090919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082111561468a5781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b600061473b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460005461481e90919063ffffffff16565b60008190555060008273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600082821115151561482c57fe5b818303905092915050565b600042600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156148d557600080fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561492457600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151561497257600080fd5b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050929150505600a165627a7a7230582033bdba5ca54cf481290957ae04c9c23d43b4b2af638b3f908bc3af10616547220029000000000000000000000000000000000000000000000000000000005ad1c310000000000000000000000000000000000000000000000000000000005afaa190000000000000000000000000fac6e76ed94ff2afa922124240fc696ebc518ad90000000000000000000000000afc517f9c629fb4c8082876d7e17b68da35859300000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb94000000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb9400000000000000000000000004d7cc6b188231ab3a76ac0d7a9db02ad40bb15370000000000000000000000000c8e784c46b299a6d196a24a5035e4e37a9655e9000000000000000000000000de0b45e898ac123b8667cd497e58095808af1ef3

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

000000000000000000000000000000000000000000000000000000005ad1c310000000000000000000000000000000000000000000000000000000005afaa190000000000000000000000000fac6e76ed94ff2afa922124240fc696ebc518ad90000000000000000000000000afc517f9c629fb4c8082876d7e17b68da35859300000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb94000000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb9400000000000000000000000004d7cc6b188231ab3a76ac0d7a9db02ad40bb15370000000000000000000000000c8e784c46b299a6d196a24a5035e4e37a9655e9000000000000000000000000de0b45e898ac123b8667cd497e58095808af1ef3

-----Decoded View---------------
Arg [0] : _startSale (uint256): 1523696400
Arg [1] : _finishSale (uint256): 1526374800
Arg [2] : _multisig (address): 0xfac6e76ed94ff2afa922124240fc696ebc518ad9
Arg [3] : _restricted (address): 0x0afc517f9c629fb4c8082876d7e17b68da358593
Arg [4] : _registerbot (address): 0x22599536e962e7cb54728f2e2d8b774872cdb940
Arg [5] : _certbot (address): 0x22599536e962e7cb54728f2e2d8b774872cdb940
Arg [6] : _release6m (address): 0x4d7cc6b188231ab3a76ac0d7a9db02ad40bb1537
Arg [7] : _release12m (address): 0x0c8e784c46b299a6d196a24a5035e4e37a9655e9
Arg [8] : _release18m (address): 0xde0b45e898ac123b8667cd497e58095808af1ef3

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005ad1c310
Arg [1] : 000000000000000000000000000000000000000000000000000000005afaa190
Arg [2] : 000000000000000000000000fac6e76ed94ff2afa922124240fc696ebc518ad9
Arg [3] : 0000000000000000000000000afc517f9c629fb4c8082876d7e17b68da358593
Arg [4] : 00000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb940
Arg [5] : 00000000000000000000000022599536e962e7cb54728f2e2d8b774872cdb940
Arg [6] : 0000000000000000000000004d7cc6b188231ab3a76ac0d7a9db02ad40bb1537
Arg [7] : 0000000000000000000000000c8e784c46b299a6d196a24a5035e4e37a9655e9
Arg [8] : 000000000000000000000000de0b45e898ac123b8667cd497e58095808af1ef3


Swarm Source

bzzr://33bdba5ca54cf481290957ae04c9c23d43b4b2af638b3f908bc3af1061654722

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.