ETH Price: $3,829.63 (-0.46%)

Token

ERC-20: HIH (HIH)
 

Overview

Max Total Supply

301,531,873 HIH

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
5,994 HIH

Value
$0.00
0x6a199f2c0bc8296cba13449641089d1a7b420202
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:
Test

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-02
*/

pragma solidity ^0.4.11;

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

    function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal constant 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) constant returns (uint256);
    function transfer(address to, uint256 value) 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) constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) returns (bool);
    function approve(address spender, uint256 value) returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) balances;

    /**
    * @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) returns (bool) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        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) constant returns (uint256 balance) {
        return balances[_owner];
    }

}

/**
 * @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)) 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 amout of tokens to be transfered
     */
    function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);

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

    /**
     * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) returns (bool) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        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 specifing the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

}

/**
 * @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() {
        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) onlyOwner {
        require(newOwner != address(0));
        owner = newOwner;
    }

}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;


    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     */
    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     */
    modifier whenPaused() {
        require(paused);
        _;
    }

    /**
     * @dev called by the owner to pause, triggers stopped state
     */
    function pause() onlyOwner whenNotPaused public {
        paused = true;
        Pause();
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function unpause() onlyOwner whenPaused public {
        paused = false;
        Unpause();
    }
}

contract MintableToken is StandardToken, Ownable, Pausable {
    event Mint(address indexed to, uint256 amount);
    event MintFinished();

    bool public mintingFinished = false;
    uint256 public constant maxTokensToMint = 1000000000 ether;
    uint256 public constant maxTokensToBuy  = 600000000 ether;

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

    /**
    * @dev Function to mint tokens
    * @param _to The address that will receive the minted tokens.
    * @param _amount The amount of tokens to mint.
    * @return A boolean that indicates if the operation was successful.
    */
    function mint(address _to, uint256 _amount) whenNotPaused onlyOwner returns (bool) {
        return mintInternal(_to, _amount);
    }

    /**
    * @dev Function to stop minting new tokens.
    * @return True if the operation was successful.
    */
    function finishMinting() whenNotPaused onlyOwner returns (bool) {
        mintingFinished = true;
        MintFinished();
        return true;
    }

    function mintInternal(address _to, uint256 _amount) internal canMint returns (bool) {
        require(totalSupply.add(_amount) <= maxTokensToMint);
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        Mint(_to, _amount);
        Transfer(this, _to, _amount);
        return true;
    }
}

contract Test is MintableToken {

    string public constant name = "HIH";

    string public constant symbol = "HIH";

    bool public preIcoActive = false;

    bool public preIcoFinished = false;

    bool public icoActive = false;

    bool public icoFinished = false;

    bool public transferEnabled = false;

    uint8 public constant decimals = 18;

    uint256 public constant maxPreIcoTokens = 100000000 ether;

    uint256 public preIcoTokensCount = 0;

    uint256 public tokensForIco = 600000000 ether;

    address public wallet = 0xa74fF9130dBfb9E326Ad7FaE2CAFd60e52129CF0;

    uint256 public dateStart = 1511987870;

    uint256 public rateBase = 35000;

    event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 amount);


    /**
    * @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, uint _value) whenNotPaused canTransfer returns (bool) {
        require(_to != address(this) && _to != address(0));
        return super.transfer(_to, _value);
    }

    /**
    * @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 amout of tokens to be transfered
    */
    function transferFrom(address _from, address _to, uint _value) whenNotPaused canTransfer returns (bool) {
        require(_to != address(this) && _to != address(0));
        return super.transferFrom(_from, _to, _value);
    }

    /**
     * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) whenNotPaused returns (bool) {
        return super.approve(_spender, _value);
    }

    /**
     * @dev Modifier to make a function callable only when the transfer is enabled.
     */
    modifier canTransfer() {
        require(transferEnabled);
        _;
    }

    /**
    * @dev Function to stop transfering tokens.
    * @return True if the operation was successful.
    */
    function enableTransfer() onlyOwner returns (bool) {
        transferEnabled = true;
        return true;
    }

    function startPre() onlyOwner returns (bool) {
        require(!preIcoActive && !preIcoFinished && !icoActive && !icoFinished);
        preIcoActive = true;
        dateStart = block.timestamp;
        return true;
    }

    function finishPre() onlyOwner returns (bool) {
        require(preIcoActive && !preIcoFinished && !icoActive && !icoFinished);
        preIcoActive = false;
        tokensForIco = maxTokensToBuy.sub(totalSupply);
        preIcoTokensCount = totalSupply;
        preIcoFinished = true;
        return true;
    }

    function startIco() onlyOwner returns (bool) {
        require(!preIcoActive && preIcoFinished && !icoActive && !icoFinished);
        icoActive = true;
        return true;
    }

    function finishIco() onlyOwner returns (bool) {
        require(!preIcoActive && preIcoFinished && icoActive && !icoFinished);
        icoActive = false;
        icoFinished = true;
        return true;
    }

    modifier canBuyTokens() {
        require(preIcoActive || icoActive);
        require(block.timestamp >= dateStart);
        _;
    }

    function () payable {
        buyTokens(msg.sender);
    }

    function buyTokens(address beneficiary) whenNotPaused canBuyTokens payable {
        require(beneficiary != 0x0);
        require(msg.value > 0);
        require(msg.value >= 10 finney);

        uint256 weiAmount = msg.value;
        uint256 tokens = 0;
        if(preIcoActive){
            tokens = buyPreIcoTokens(weiAmount);
        }else if(icoActive){
            tokens = buyIcoTokens(weiAmount);
        }
        mintInternal(beneficiary, tokens);
        forwardFunds();

    }

    // send ether to the fund collection wallet
    function forwardFunds() internal {
        wallet.transfer(msg.value);
    }

    function changeWallet(address _newWallet) onlyOwner returns (bool) {
        require(_newWallet != 0x0);
        wallet = _newWallet;
        return true;
    }

    function buyPreIcoTokens(uint256 _weiAmount) internal returns(uint256){
        uint8 percents = 0;

        if(block.timestamp - dateStart <= 10 days){
            percents = 20;
        }

        if(block.timestamp - dateStart <= 8 days){
            percents = 40;
        }

        if(block.timestamp - dateStart <= 6 days){
            percents = 60;
        }

        if(block.timestamp - dateStart <= 4 days){
            percents = 80;
        }

        if(block.timestamp - dateStart <= 2 days){  // first week
            percents = 100;
        }

        uint256 tokens = _weiAmount.mul(rateBase).mul(2);

        if(percents > 0){
            tokens = tokens.add(tokens.mul(percents).div(100));    // add bonus
        }

        require(totalSupply.add(tokens) <= maxPreIcoTokens);

        return tokens;

    }

    function buyIcoTokens(uint256 _weiAmount) internal returns(uint256){
        uint256 rate = getRate();
        uint256 tokens = _weiAmount.mul(rate);

        tokens = tokens.add(tokens.mul(30).div(100));    // add bonus

        require(totalSupply.add(tokens) <= maxTokensToBuy);

        return tokens;

    }

    function getRate() internal returns(uint256){
        uint256 rate = rateBase;
        uint256 step = tokensForIco.div(5);


        uint8 additionalPercents = 0;

        if(totalSupply < step){
            additionalPercents = 0;
        }else{
            uint256 currentRound = totalSupply.sub(preIcoTokensCount).div(step);

            if(currentRound >= 4){
                additionalPercents = 30;
            }

            if(currentRound >= 3 && currentRound < 4){
                additionalPercents = 30;
            }

            if(currentRound >= 2&& currentRound < 3){
                additionalPercents = 20;
            }

            if(currentRound >= 1 && currentRound < 2){
                additionalPercents = 10;
            }
        }

        if(additionalPercents > 0){
            rate -= rateBase.mul(additionalPercents).div(100);    // add bonus
        }

        return rate;
    }

    function setDateStart(uint256 _dateStart) onlyOwner returns (bool) {
        require(_dateStart > block.timestamp);
        dateStart = _dateStart;
        return true;
    }

    function setRate(uint256 _rate) onlyOwner returns (bool) {
        require(_rate > 0);
        rateBase = _rate;
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"rateBase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"icoActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"}],"name":"setRate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transferEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startPre","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"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":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensForIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startIco","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newWallet","type":"address"}],"name":"changeWallet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTokensToBuy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dateStart","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"preIcoFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxPreIcoTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preIcoActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishPre","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":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_dateStart","type":"uint256"}],"name":"setDateStart","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishIco","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"enableTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTokensToMint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preIcoTokensCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"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"}]

60606040526000600360146101000a81548160ff0219169083151502179055506000600360156101000a81548160ff0219169083151502179055506000600360166101000a81548160ff0219169083151502179055506000600360176101000a81548160ff0219169083151502179055506000600360186101000a81548160ff0219169083151502179055506000600360196101000a81548160ff02191690831515021790555060006003601a6101000a81548160ff02191690831515021790555060006004556b01f04ef12cb04cf15800000060055573a74ff9130dbfb9e326ad7fae2cafd60e52129cf0600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550635a1f1a9e6007556188b860085533600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612594806101896000396000f3006060604052600436106101e3576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063014e95ba146101ee57806305d2035b1461021757806306fdde0314610244578063095ea7b3146102d257806318160ddd1461032c57806323b872dd146103555780632aa073c5146103ce578063313ce567146103fb57806334fcf4371461042a578063356e2927146104655780633f4ba83a1461049257806340c10f19146104a75780634cd412d5146105015780634d129fb51461052e578063521eb2731461055b5780635c975abb146105b057806370a08231146105dd5780637d64bcb41461062a57806382ea97b3146106575780638456cb591461068057806389311e6f146106955780638da5cb5b146106c257806395d89b411461071757806398b9a2dc146107a55780639cfa0f7c146107f6578063a3b6120c1461081f578063a9059cbb14610848578063a9b0c5a4146108a2578063b61d4511146108cf578063c4868452146108f8578063c8ad27e614610925578063dd62ed3e14610952578063e5ed78bb146109be578063ec42f82f146109f9578063ec8ac4d814610a26578063f1b50c1d14610a54578063f2fde38b14610a81578063f669052a14610aba578063f8f2d5e414610ae3575b6101ec33610b0c565b005b34156101f957600080fd5b610201610c1f565b6040518082815260200191505060405180910390f35b341561022257600080fd5b61022a610c25565b604051808215151515815260200191505060405180910390f35b341561024f57600080fd5b610257610c38565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029757808201518184015260208101905061027c565b50505050905090810190601f1680156102c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102dd57600080fd5b610312600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c71565b604051808215151515815260200191505060405180910390f35b341561033757600080fd5b61033f610ca1565b6040518082815260200191505060405180910390f35b341561036057600080fd5b6103b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ca7565b604051808215151515815260200191505060405180910390f35b34156103d957600080fd5b6103e1610d68565b604051808215151515815260200191505060405180910390f35b341561040657600080fd5b61040e610d7b565b604051808260ff1660ff16815260200191505060405180910390f35b341561043557600080fd5b61044b6004808035906020019091905050610d80565b604051808215151515815260200191505060405180910390f35b341561047057600080fd5b610478610dfd565b604051808215151515815260200191505060405180910390f35b341561049d57600080fd5b6104a5610e10565b005b34156104b257600080fd5b6104e7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ed0565b604051808215151515815260200191505060405180910390f35b341561050c57600080fd5b610514610f5c565b604051808215151515815260200191505060405180910390f35b341561053957600080fd5b610541610f6f565b604051808215151515815260200191505060405180910390f35b341561056657600080fd5b61056e61105d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105bb57600080fd5b6105c3611083565b604051808215151515815260200191505060405180910390f35b34156105e857600080fd5b610614600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611096565b6040518082815260200191505060405180910390f35b341561063557600080fd5b61063d6110df565b604051808215151515815260200191505060405180910390f35b341561066257600080fd5b61066a6111a7565b6040518082815260200191505060405180910390f35b341561068b57600080fd5b6106936111ad565b005b34156106a057600080fd5b6106a861126e565b604051808215151515815260200191505060405180910390f35b34156106cd57600080fd5b6106d5611354565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561072257600080fd5b61072a61137a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561076a57808201518184015260208101905061074f565b50505050905090810190601f1680156107975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107b057600080fd5b6107dc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113b3565b604051808215151515815260200191505060405180910390f35b341561080157600080fd5b610809611481565b6040518082815260200191505060405180910390f35b341561082a57600080fd5b610832611491565b6040518082815260200191505060405180910390f35b341561085357600080fd5b610888600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611497565b604051808215151515815260200191505060405180910390f35b34156108ad57600080fd5b6108b5611556565b604051808215151515815260200191505060405180910390f35b34156108da57600080fd5b6108e2611569565b6040518082815260200191505060405180910390f35b341561090357600080fd5b61090b611578565b604051808215151515815260200191505060405180910390f35b341561093057600080fd5b61093861158b565b604051808215151515815260200191505060405180910390f35b341561095d57600080fd5b6109a8600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116bc565b6040518082815260200191505060405180910390f35b34156109c957600080fd5b6109df6004808035906020019091905050611743565b604051808215151515815260200191505060405180910390f35b3415610a0457600080fd5b610a0c6117bf565b604051808215151515815260200191505060405180910390f35b610a52600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b0c565b005b3415610a5f57600080fd5b610a676118bf565b604051808215151515815260200191505060405180910390f35b3415610a8c57600080fd5b610ab8600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061193f565b005b3415610ac557600080fd5b610acd611a1b565b6040518082815260200191505060405180910390f35b3415610aee57600080fd5b610af6611a2b565b6040518082815260200191505060405180910390f35b600080600360149054906101000a900460ff16151515610b2b57600080fd5b600360169054906101000a900460ff1680610b525750600360189054906101000a900460ff165b1515610b5d57600080fd5b6007544210151515610b6e57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff1614151515610b9457600080fd5b600034111515610ba357600080fd5b662386f26fc100003410151515610bb957600080fd5b34915060009050600360169054906101000a900460ff1615610be557610bde82611a31565b9050610c07565b600360189054906101000a900460ff1615610c0657610c0382611b4e565b90505b5b610c118382611be6565b50610c1a611da0565b505050565b60085481565b600360159054906101000a900460ff1681565b6040805190810160405280600381526020017f484948000000000000000000000000000000000000000000000000000000000081525081565b6000600360149054906101000a900460ff16151515610c8f57600080fd5b610c998383611e04565b905092915050565b60005481565b6000600360149054906101000a900460ff16151515610cc557600080fd5b6003601a9054906101000a900460ff161515610ce057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d495750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515610d5457600080fd5b610d5f848484611f8b565b90509392505050565b600360189054906101000a900460ff1681565b601281565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dde57600080fd5b600082111515610ded57600080fd5b8160088190555060019050919050565b600360199054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6c57600080fd5b600360149054906101000a900460ff161515610e8757600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600360149054906101000a900460ff16151515610eee57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4a57600080fd5b610f548383611be6565b905092915050565b6003601a9054906101000a900460ff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fcd57600080fd5b600360169054906101000a900460ff16158015610ff75750600360179054906101000a900460ff16155b80156110105750600360189054906101000a900460ff16155b80156110295750600360199054906101000a900460ff16155b151561103457600080fd5b6001600360166101000a81548160ff021916908315150217905550426007819055506001905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360149054906101000a900460ff161515156110fd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115957600080fd5b6001600360156101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120957600080fd5b600360149054906101000a900460ff1615151561122557600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112cc57600080fd5b600360169054906101000a900460ff161580156112f55750600360179054906101000a900460ff165b801561130e5750600360189054906101000a900460ff16155b80156113275750600360199054906101000a900460ff16155b151561133257600080fd5b6001600360186101000a81548160ff0219169083151502179055506001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f484948000000000000000000000000000000000000000000000000000000000081525081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561141157600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff161415151561143757600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6b01f04ef12cb04cf15800000081565b60075481565b6000600360149054906101000a900460ff161515156114b557600080fd5b6003601a9054906101000a900460ff1615156114d057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115395750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b151561154457600080fd5b61154e838361223b565b905092915050565b600360179054906101000a900460ff1681565b6a52b7d2dcc80cd2e400000081565b600360169054906101000a900460ff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e957600080fd5b600360169054906101000a900460ff1680156116125750600360179054906101000a900460ff16155b801561162b5750600360189054906101000a900460ff16155b80156116445750600360199054906101000a900460ff16155b151561164f57600080fd5b6000600360166101000a81548160ff02191690831515021790555061168b6000546b01f04ef12cb04cf1580000006123d690919063ffffffff16565b6005819055506000546004819055506001600360176101000a81548160ff0219169083151502179055506001905090565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117a157600080fd5b42821115156117af57600080fd5b8160078190555060019050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181d57600080fd5b600360169054906101000a900460ff161580156118465750600360179054906101000a900460ff165b801561185e5750600360189054906101000a900460ff165b80156118775750600360199054906101000a900460ff16155b151561188257600080fd5b6000600360186101000a81548160ff0219169083151502179055506001600360196101000a81548160ff0219169083151502179055506001905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561191d57600080fd5b60016003601a6101000a81548160ff0219169083151502179055506001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561199b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156119d757600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6b033b2e3c9fd0803ce800000081565b60045481565b6000806000809150620d2f006007544203111515611a4e57601491505b620a8c006007544203111515611a6357602891505b6207e9006007544203111515611a7857603c91505b620546006007544203111515611a8d57605091505b6202a3006007544203111515611aa257606491505b611aca6002611abc600854876123ef90919063ffffffff16565b6123ef90919063ffffffff16565b905060008260ff161115611b1657611b13611b046064611af68560ff16856123ef90919063ffffffff16565b61242290919063ffffffff16565b8261243d90919063ffffffff16565b90505b6a52b7d2dcc80cd2e4000000611b378260005461243d90919063ffffffff16565b11151515611b4457600080fd5b8092505050919050565b6000806000611b5b61245b565b9150611b7082856123ef90919063ffffffff16565b9050611bab611b9c6064611b8e601e856123ef90919063ffffffff16565b61242290919063ffffffff16565b8261243d90919063ffffffff16565b90506b01f04ef12cb04cf158000000611bcf8260005461243d90919063ffffffff16565b11151515611bdc57600080fd5b8092505050919050565b6000600360159054906101000a900460ff16151515611c0457600080fd5b6b033b2e3c9fd0803ce8000000611c268360005461243d90919063ffffffff16565b11151515611c3357600080fd5b611c488260005461243d90919063ffffffff16565b600081905550611ca082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515611e0257600080fd5b565b600080821480611e9057506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515611e9b57600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061205f83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f483600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061214a83826123d690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600061228f82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d690919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061232482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156123e457fe5b818303905092915050565b60008082840290506000841480612410575082848281151561240d57fe5b04145b151561241857fe5b8091505092915050565b600080828481151561243057fe5b0490508091505092915050565b600080828401905083811015151561245157fe5b8091505092915050565b6000806000806000600854935061247d6005805461242290919063ffffffff16565b9250600091508260005410156124965760009150612522565b6124bf836124b16004546000546123d690919063ffffffff16565b61242290919063ffffffff16565b90506004811015156124d057601e91505b600381101580156124e15750600481105b156124eb57601e91505b600281101580156124fc5750600381105b1561250657601491505b600181101580156125175750600281105b1561252157600a91505b5b60008260ff16111561255e57612559606461254b8460ff166008546123ef90919063ffffffff16565b61242290919063ffffffff16565b840393505b83945050505050905600a165627a7a72305820e6fba2aba6203a9ba4e816d89aabe67b9a550294dce958f3e64420d2b1fb2d5a0029

Deployed Bytecode

0x6060604052600436106101e3576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063014e95ba146101ee57806305d2035b1461021757806306fdde0314610244578063095ea7b3146102d257806318160ddd1461032c57806323b872dd146103555780632aa073c5146103ce578063313ce567146103fb57806334fcf4371461042a578063356e2927146104655780633f4ba83a1461049257806340c10f19146104a75780634cd412d5146105015780634d129fb51461052e578063521eb2731461055b5780635c975abb146105b057806370a08231146105dd5780637d64bcb41461062a57806382ea97b3146106575780638456cb591461068057806389311e6f146106955780638da5cb5b146106c257806395d89b411461071757806398b9a2dc146107a55780639cfa0f7c146107f6578063a3b6120c1461081f578063a9059cbb14610848578063a9b0c5a4146108a2578063b61d4511146108cf578063c4868452146108f8578063c8ad27e614610925578063dd62ed3e14610952578063e5ed78bb146109be578063ec42f82f146109f9578063ec8ac4d814610a26578063f1b50c1d14610a54578063f2fde38b14610a81578063f669052a14610aba578063f8f2d5e414610ae3575b6101ec33610b0c565b005b34156101f957600080fd5b610201610c1f565b6040518082815260200191505060405180910390f35b341561022257600080fd5b61022a610c25565b604051808215151515815260200191505060405180910390f35b341561024f57600080fd5b610257610c38565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029757808201518184015260208101905061027c565b50505050905090810190601f1680156102c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102dd57600080fd5b610312600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c71565b604051808215151515815260200191505060405180910390f35b341561033757600080fd5b61033f610ca1565b6040518082815260200191505060405180910390f35b341561036057600080fd5b6103b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ca7565b604051808215151515815260200191505060405180910390f35b34156103d957600080fd5b6103e1610d68565b604051808215151515815260200191505060405180910390f35b341561040657600080fd5b61040e610d7b565b604051808260ff1660ff16815260200191505060405180910390f35b341561043557600080fd5b61044b6004808035906020019091905050610d80565b604051808215151515815260200191505060405180910390f35b341561047057600080fd5b610478610dfd565b604051808215151515815260200191505060405180910390f35b341561049d57600080fd5b6104a5610e10565b005b34156104b257600080fd5b6104e7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ed0565b604051808215151515815260200191505060405180910390f35b341561050c57600080fd5b610514610f5c565b604051808215151515815260200191505060405180910390f35b341561053957600080fd5b610541610f6f565b604051808215151515815260200191505060405180910390f35b341561056657600080fd5b61056e61105d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105bb57600080fd5b6105c3611083565b604051808215151515815260200191505060405180910390f35b34156105e857600080fd5b610614600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611096565b6040518082815260200191505060405180910390f35b341561063557600080fd5b61063d6110df565b604051808215151515815260200191505060405180910390f35b341561066257600080fd5b61066a6111a7565b6040518082815260200191505060405180910390f35b341561068b57600080fd5b6106936111ad565b005b34156106a057600080fd5b6106a861126e565b604051808215151515815260200191505060405180910390f35b34156106cd57600080fd5b6106d5611354565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561072257600080fd5b61072a61137a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561076a57808201518184015260208101905061074f565b50505050905090810190601f1680156107975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107b057600080fd5b6107dc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113b3565b604051808215151515815260200191505060405180910390f35b341561080157600080fd5b610809611481565b6040518082815260200191505060405180910390f35b341561082a57600080fd5b610832611491565b6040518082815260200191505060405180910390f35b341561085357600080fd5b610888600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611497565b604051808215151515815260200191505060405180910390f35b34156108ad57600080fd5b6108b5611556565b604051808215151515815260200191505060405180910390f35b34156108da57600080fd5b6108e2611569565b6040518082815260200191505060405180910390f35b341561090357600080fd5b61090b611578565b604051808215151515815260200191505060405180910390f35b341561093057600080fd5b61093861158b565b604051808215151515815260200191505060405180910390f35b341561095d57600080fd5b6109a8600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116bc565b6040518082815260200191505060405180910390f35b34156109c957600080fd5b6109df6004808035906020019091905050611743565b604051808215151515815260200191505060405180910390f35b3415610a0457600080fd5b610a0c6117bf565b604051808215151515815260200191505060405180910390f35b610a52600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b0c565b005b3415610a5f57600080fd5b610a676118bf565b604051808215151515815260200191505060405180910390f35b3415610a8c57600080fd5b610ab8600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061193f565b005b3415610ac557600080fd5b610acd611a1b565b6040518082815260200191505060405180910390f35b3415610aee57600080fd5b610af6611a2b565b6040518082815260200191505060405180910390f35b600080600360149054906101000a900460ff16151515610b2b57600080fd5b600360169054906101000a900460ff1680610b525750600360189054906101000a900460ff165b1515610b5d57600080fd5b6007544210151515610b6e57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff1614151515610b9457600080fd5b600034111515610ba357600080fd5b662386f26fc100003410151515610bb957600080fd5b34915060009050600360169054906101000a900460ff1615610be557610bde82611a31565b9050610c07565b600360189054906101000a900460ff1615610c0657610c0382611b4e565b90505b5b610c118382611be6565b50610c1a611da0565b505050565b60085481565b600360159054906101000a900460ff1681565b6040805190810160405280600381526020017f484948000000000000000000000000000000000000000000000000000000000081525081565b6000600360149054906101000a900460ff16151515610c8f57600080fd5b610c998383611e04565b905092915050565b60005481565b6000600360149054906101000a900460ff16151515610cc557600080fd5b6003601a9054906101000a900460ff161515610ce057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d495750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515610d5457600080fd5b610d5f848484611f8b565b90509392505050565b600360189054906101000a900460ff1681565b601281565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dde57600080fd5b600082111515610ded57600080fd5b8160088190555060019050919050565b600360199054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6c57600080fd5b600360149054906101000a900460ff161515610e8757600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600360149054906101000a900460ff16151515610eee57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4a57600080fd5b610f548383611be6565b905092915050565b6003601a9054906101000a900460ff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fcd57600080fd5b600360169054906101000a900460ff16158015610ff75750600360179054906101000a900460ff16155b80156110105750600360189054906101000a900460ff16155b80156110295750600360199054906101000a900460ff16155b151561103457600080fd5b6001600360166101000a81548160ff021916908315150217905550426007819055506001905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600360149054906101000a900460ff161515156110fd57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115957600080fd5b6001600360156101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120957600080fd5b600360149054906101000a900460ff1615151561122557600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112cc57600080fd5b600360169054906101000a900460ff161580156112f55750600360179054906101000a900460ff165b801561130e5750600360189054906101000a900460ff16155b80156113275750600360199054906101000a900460ff16155b151561133257600080fd5b6001600360186101000a81548160ff0219169083151502179055506001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f484948000000000000000000000000000000000000000000000000000000000081525081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561141157600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff161415151561143757600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6b01f04ef12cb04cf15800000081565b60075481565b6000600360149054906101000a900460ff161515156114b557600080fd5b6003601a9054906101000a900460ff1615156114d057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115395750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b151561154457600080fd5b61154e838361223b565b905092915050565b600360179054906101000a900460ff1681565b6a52b7d2dcc80cd2e400000081565b600360169054906101000a900460ff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e957600080fd5b600360169054906101000a900460ff1680156116125750600360179054906101000a900460ff16155b801561162b5750600360189054906101000a900460ff16155b80156116445750600360199054906101000a900460ff16155b151561164f57600080fd5b6000600360166101000a81548160ff02191690831515021790555061168b6000546b01f04ef12cb04cf1580000006123d690919063ffffffff16565b6005819055506000546004819055506001600360176101000a81548160ff0219169083151502179055506001905090565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117a157600080fd5b42821115156117af57600080fd5b8160078190555060019050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181d57600080fd5b600360169054906101000a900460ff161580156118465750600360179054906101000a900460ff165b801561185e5750600360189054906101000a900460ff165b80156118775750600360199054906101000a900460ff16155b151561188257600080fd5b6000600360186101000a81548160ff0219169083151502179055506001600360196101000a81548160ff0219169083151502179055506001905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561191d57600080fd5b60016003601a6101000a81548160ff0219169083151502179055506001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561199b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156119d757600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6b033b2e3c9fd0803ce800000081565b60045481565b6000806000809150620d2f006007544203111515611a4e57601491505b620a8c006007544203111515611a6357602891505b6207e9006007544203111515611a7857603c91505b620546006007544203111515611a8d57605091505b6202a3006007544203111515611aa257606491505b611aca6002611abc600854876123ef90919063ffffffff16565b6123ef90919063ffffffff16565b905060008260ff161115611b1657611b13611b046064611af68560ff16856123ef90919063ffffffff16565b61242290919063ffffffff16565b8261243d90919063ffffffff16565b90505b6a52b7d2dcc80cd2e4000000611b378260005461243d90919063ffffffff16565b11151515611b4457600080fd5b8092505050919050565b6000806000611b5b61245b565b9150611b7082856123ef90919063ffffffff16565b9050611bab611b9c6064611b8e601e856123ef90919063ffffffff16565b61242290919063ffffffff16565b8261243d90919063ffffffff16565b90506b01f04ef12cb04cf158000000611bcf8260005461243d90919063ffffffff16565b11151515611bdc57600080fd5b8092505050919050565b6000600360159054906101000a900460ff16151515611c0457600080fd5b6b033b2e3c9fd0803ce8000000611c268360005461243d90919063ffffffff16565b11151515611c3357600080fd5b611c488260005461243d90919063ffffffff16565b600081905550611ca082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515611e0257600080fd5b565b600080821480611e9057506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1515611e9b57600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061205f83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f483600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061214a83826123d690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600061228f82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d690919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061232482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156123e457fe5b818303905092915050565b60008082840290506000841480612410575082848281151561240d57fe5b04145b151561241857fe5b8091505092915050565b600080828481151561243057fe5b0490508091505092915050565b600080828401905083811015151561245157fe5b8091505092915050565b6000806000806000600854935061247d6005805461242290919063ffffffff16565b9250600091508260005410156124965760009150612522565b6124bf836124b16004546000546123d690919063ffffffff16565b61242290919063ffffffff16565b90506004811015156124d057601e91505b600381101580156124e15750600481105b156124eb57601e91505b600281101580156124fc5750600381105b1561250657601491505b600181101580156125175750600281105b1561252157600a91505b5b60008260ff16111561255e57612559606461254b8460ff166008546123ef90919063ffffffff16565b61242290919063ffffffff16565b840393505b83945050505050905600a165627a7a72305820e6fba2aba6203a9ba4e816d89aabe67b9a550294dce958f3e64420d2b1fb2d5a0029

Swarm Source

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