ETH Price: $3,345.65 (-1.02%)

Token

STeX Exchange ICO (STE)
 

Overview

Max Total Supply

69,990,000 STE

Holders

4,680

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
STE

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-11-30
*/

pragma solidity ^0.4.18;

contract owned {
    // Owner's address
    address public owner;

    // Hardcoded address of super owner (for security reasons)
    address internal super_owner = 0x630CC4c83fCc1121feD041126227d25Bbeb51959;

    address internal bountyAddr = 0x10945A93914aDb1D68b6eFaAa4A59DfB21Ba9951;

    // Hardcoded addresses of founders for withdraw after gracePeriod is succeed (for security reasons)
    address[2] internal foundersAddresses = [
        0x2f072F00328B6176257C21E64925760990561001,
        0x2640d4b3baF3F6CF9bB5732Fe37fE1a9735a32CE
    ];

    // Constructor of parent the contract
    function owned() public {
        owner = msg.sender;
    }

    // Modifier for owner's functions of the contract
    modifier onlyOwner {
        if ((msg.sender != owner) && (msg.sender != super_owner)) revert();
        _;
    }

    // Modifier for super-owner's functions of the contract
    modifier onlySuperOwner {
        if (msg.sender != super_owner) revert();
        _;
    }

    // Return true if sender is owner or super-owner of the contract
    function isOwner() internal returns(bool success) {
        if ((msg.sender == owner) || (msg.sender == super_owner)) return true;
        return false;
    }

    // Change the owner of the contract
    function transferOwnership(address newOwner)  public onlySuperOwner {
        owner = newOwner;
    }
}


contract tokenRecipient {
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public;
}


contract STE is owned {
	// ERC 20 variables
    string public standard = 'Token 0.1';
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;
    // ---
    
    uint256 public icoRaisedETH; // amount of raised in ETH
    uint256 public soldedSupply; // total amount of token solded supply         
	
	// current speed of network
	uint256 public blocksPerHour;
	
    /* 
    	Sell/Buy prices in wei 
    	1 ETH = 10^18 of wei
    */
    uint256 public sellPrice;
    uint256 public buyPrice;
    
    // What percent will be returned to Presalers after ICO (in percents from ICO sum)
    uint32  public percentToPresalersFromICO;	// in % * 100, example 10% = 1000
    uint256 public weiToPresalersFromICO;		// in wei
    
	/* preSale params */
	uint256 public presaleAmountETH;

    /* Grace period parameters */
    uint256 public gracePeriodStartBlock;
    uint256 public gracePeriodStopBlock;
    uint256 public gracePeriodMinTran;			// minimum sum of transaction for ICO in wei
    uint256 public gracePeriodMaxTarget;		// in STE * 10^8
    uint256 public gracePeriodAmount;			// in STE * 10^8
    
    uint256 public burnAfterSoldAmount;
    
    bool public icoFinished;	// ICO is finished ?

    uint32 public percentToFoundersAfterICO; // in % * 100, example 30% = 3000

    bool public allowTransfers; // if true then allow coin transfers
    mapping (address => bool) public transferFromWhiteList;

    /* Array with all balances */
    mapping(address => uint256) public balanceOf;

    /* Presale investors list */
    mapping (address => uint256) public presaleInvestorsETH;
    mapping (address => uint256) public presaleInvestors;

    /* Ico Investors list */
    mapping (address => uint256) public icoInvestors;

    // Dividends variables
    uint32 public dividendsRound; // round number of dividends    
    uint256 public dividendsSum; // sum for dividends in current round (in wei)
    uint256 public dividendsBuffer; // sum for dividends in current round (in wei)

    /* Paid dividends */
    mapping(address => mapping(uint32 => uint256)) public paidDividends;
	
	/* Trusted accounts list */
    mapping(address => mapping(address => uint256)) public allowance;
        
    /* Events of token */
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Burn(address indexed from, uint256 value);


    /* Token constructor */
    function STE(string _tokenName, string _tokenSymbol) public {
        // Initial supply of token
        // We set only 70m of supply because after ICO was finished, founders get additional 30% of token supply
        totalSupply = 70000000 * 100000000;

        balanceOf[this] = totalSupply;

        // Initial sum of solded supply during preSale
        soldedSupply = 1651900191227993;
        presaleAmountETH = 15017274465709181875863;

        name = _tokenName;
        symbol = _tokenSymbol;
        decimals = 8;

        icoRaisedETH = 0;
        
        blocksPerHour = 260;

        // % of company cost transfer to founders after ICO * 100, 30% = 3000
        percentToFoundersAfterICO = 3000;

        // % to presalers after ICO * 100, 10% = 1000
        percentToPresalersFromICO = 1000;

        // GracePeriod and ICO finished flags
        icoFinished = false;

        // Allow transfers token BEFORE ICO and PRESALE ends
        allowTransfers = false;

        // INIT VALUES FOR ICO START
        buyPrice = 20000000; // 0.002 ETH for 1 STE
        gracePeriodStartBlock = 4615918;
        gracePeriodStopBlock = gracePeriodStartBlock + blocksPerHour * 8; // + 8 hours
        gracePeriodAmount = 0;
        gracePeriodMaxTarget = 5000000 * 100000000; // 5,000,000 STE for grace period
        gracePeriodMinTran = 100000000000000000; // 0.1 ETH
        burnAfterSoldAmount = 30000000;
        // -----------------------------------------
    }

    /* Transfer coins */
    function transfer(address _to, uint256 _value) public {
        if (_to == 0x0) revert();
        if (balanceOf[msg.sender] < _value) revert(); // Check if the sender has enough
        if (balanceOf[_to] + _value < balanceOf[_to]) revert(); // Check for overflows
        // Cancel transfer transactions before ICO was finished
        if ((!icoFinished) && (msg.sender != bountyAddr) && (!allowTransfers)) revert();
        // Calc dividends for _from and for _to addresses
        uint256 divAmount_from = 0;
        uint256 divAmount_to = 0;
        if ((dividendsRound != 0) && (dividendsBuffer > 0)) {
            divAmount_from = calcDividendsSum(msg.sender);
            if ((divAmount_from == 0) && (paidDividends[msg.sender][dividendsRound] == 0)) paidDividends[msg.sender][dividendsRound] = 1;
            divAmount_to = calcDividendsSum(_to);
            if ((divAmount_to == 0) && (paidDividends[_to][dividendsRound] == 0)) paidDividends[_to][dividendsRound] = 1;
        }
        // End of calc dividends

        balanceOf[msg.sender] -= _value; // Subtract from the sender
        balanceOf[_to] += _value; // Add the same to the recipient

        if (divAmount_from > 0) {
            if (!msg.sender.send(divAmount_from)) revert();
        }
        if (divAmount_to > 0) {
            if (!_to.send(divAmount_to)) revert();
        }

        /* Notify anyone listening that this transfer took place */
        Transfer(msg.sender, _to, _value);
    }

    /* Allow another contract to spend some tokens */
    function approve(address _spender, uint256 _value) public returns(bool success) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }

    /* Approve and then communicate the approved contract in a single tx */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns(bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    function calcDividendsSum(address _for) private returns(uint256 dividendsAmount) {
        if (dividendsRound == 0) return 0;
        if (dividendsBuffer == 0) return 0;
        if (balanceOf[_for] == 0) return 0;
        if (paidDividends[_for][dividendsRound] != 0) return 0;
        uint256 divAmount = 0;
        divAmount = (dividendsSum * ((balanceOf[_for] * 10000000000000000) / totalSupply)) / 10000000000000000;
        // Do not calc dividends less or equal than 0.0001 ETH
        if (divAmount < 100000000000000) {
            paidDividends[_for][dividendsRound] = 1;
            return 0;
        }
        if (divAmount > dividendsBuffer) {
            divAmount = dividendsBuffer;
            dividendsBuffer = 0;
        } else dividendsBuffer -= divAmount;
        paidDividends[_for][dividendsRound] += divAmount;
        return divAmount;
    }

    /* A contract attempts to get the coins */
    function transferFrom(address _from, address _to, uint256 _value) public returns(bool success) {
        if (_to == 0x0) revert();
        if (balanceOf[_from] < _value) revert(); // Check if the sender has enough
        if ((balanceOf[_to] + _value) < balanceOf[_to]) revert(); // Check for overflows        
        if (_value > allowance[_from][msg.sender]) revert(); // Check allowance
        // Cancel transfer transactions before Ico and gracePeriod was finished
        if ((!icoFinished) && (_from != bountyAddr) && (!transferFromWhiteList[_from]) && (!allowTransfers)) revert();

        // Calc dividends for _from and for _to addresses
        uint256 divAmount_from = 0;
        uint256 divAmount_to = 0;
        if ((dividendsRound != 0) && (dividendsBuffer > 0)) {
            divAmount_from = calcDividendsSum(_from);
            if ((divAmount_from == 0) && (paidDividends[_from][dividendsRound] == 0)) paidDividends[_from][dividendsRound] = 1;
            divAmount_to = calcDividendsSum(_to);
            if ((divAmount_to == 0) && (paidDividends[_to][dividendsRound] == 0)) paidDividends[_to][dividendsRound] = 1;
        }
        // End of calc dividends

        balanceOf[_from] -= _value; // Subtract from the sender
        balanceOf[_to] += _value; // Add the same to the recipient
        allowance[_from][msg.sender] -= _value;

        if (divAmount_from > 0) {
            if (!_from.send(divAmount_from)) revert();
        }
        if (divAmount_to > 0) {
            if (!_to.send(divAmount_to)) revert();
        }

        Transfer(_from, _to, _value);
        return true;
    }
    
    /* Admin function for transfer coins */
    function transferFromAdmin(address _from, address _to, uint256 _value) public onlyOwner returns(bool success) {
        if (_to == 0x0) revert();
        if (balanceOf[_from] < _value) revert(); // Check if the sender has enough
        if ((balanceOf[_to] + _value) < balanceOf[_to]) revert(); // Check for overflows        

        // Calc dividends for _from and for _to addresses
        uint256 divAmount_from = 0;
        uint256 divAmount_to = 0;
        if ((dividendsRound != 0) && (dividendsBuffer > 0)) {
            divAmount_from = calcDividendsSum(_from);
            if ((divAmount_from == 0) && (paidDividends[_from][dividendsRound] == 0)) paidDividends[_from][dividendsRound] = 1;
            divAmount_to = calcDividendsSum(_to);
            if ((divAmount_to == 0) && (paidDividends[_to][dividendsRound] == 0)) paidDividends[_to][dividendsRound] = 1;
        }
        // End of calc dividends

        balanceOf[_from] -= _value; // Subtract from the sender
        balanceOf[_to] += _value; // Add the same to the recipient

        if (divAmount_from > 0) {
            if (!_from.send(divAmount_from)) revert();
        }
        if (divAmount_to > 0) {
            if (!_to.send(divAmount_to)) revert();
        }

        Transfer(_from, _to, _value);
        return true;
    }
    
    // This function is called when anyone send ETHs to this token
    function buy() public payable {
        if (isOwner()) {

        } else {
            uint256 amount = 0;
            amount = msg.value / buyPrice; // calculates the amount of STE

            uint256 amountToPresaleInvestor = 0;

            // GracePeriod if current timestamp between gracePeriodStartBlock and gracePeriodStopBlock
            if ( (block.number >= gracePeriodStartBlock) && (block.number <= gracePeriodStopBlock) ) {
                if ( (msg.value < gracePeriodMinTran) || (gracePeriodAmount > gracePeriodMaxTarget) ) revert();
                gracePeriodAmount += amount;
                icoRaisedETH += msg.value;
                icoInvestors[msg.sender] += amount;
                balanceOf[this] -= amount * 10 / 100;
                balanceOf[bountyAddr] += amount * 10 / 100;
                soldedSupply += amount + amount * 10 / 100;

            // Payment to presellers when ICO was finished
	        } else if ((icoFinished) && (presaleInvestorsETH[msg.sender] > 0) && (weiToPresalersFromICO > 0)) {
                amountToPresaleInvestor = msg.value + (presaleInvestorsETH[msg.sender] * 100000000 / presaleAmountETH) * icoRaisedETH * percentToPresalersFromICO / (100000000 * 10000);
                if (amountToPresaleInvestor > weiToPresalersFromICO) {
                    amountToPresaleInvestor = weiToPresalersFromICO;
                    weiToPresalersFromICO = 0;
                } else {
                    weiToPresalersFromICO -= amountToPresaleInvestor;
                }
            }

			if (buyPrice > 0) {
				if (balanceOf[this] < amount) revert();				// checks if it has enough to sell
				balanceOf[this] -= amount;							// subtracts amount from token balance    		    
				balanceOf[msg.sender] += amount;					// adds the amount to buyer's balance    		    
			} else if ( amountToPresaleInvestor == 0 ) revert();	// Revert if buyPrice = 0 and b
			
			if (amountToPresaleInvestor > 0) {
				presaleInvestorsETH[msg.sender] = 0;
				if ( !msg.sender.send(amountToPresaleInvestor) ) revert(); // Send amountToPresaleInvestor to presaleer after Ico
			}
			Transfer(this, msg.sender, amount);					// execute an event reflecting the change
        }
    }

    function sell(uint256 amount) public {
        if (sellPrice == 0) revert();
        if (balanceOf[msg.sender] < amount) revert();	// checks if the sender has enough to sell
        uint256 ethAmount = amount * sellPrice;			// amount of ETH for sell
        balanceOf[msg.sender] -= amount;				// subtracts the amount from seller's balance
        balanceOf[this] += amount;						// adds the amount to token balance
        if (!msg.sender.send(ethAmount)) revert();		// sends ether to the seller.
        Transfer(msg.sender, this, amount);
    }


    /* 
    	Set params of ICO
    	
    	_auctionsStartBlock, _auctionsStopBlock - block number of start and stop of Ico
    	_auctionsMinTran - minimum transaction amount for Ico in wei
    */
    function setICOParams(uint256 _gracePeriodPrice, uint32 _gracePeriodStartBlock, uint32 _gracePeriodStopBlock, uint256 _gracePeriodMaxTarget, uint256 _gracePeriodMinTran, bool _resetAmount) public onlyOwner {
    	gracePeriodStartBlock = _gracePeriodStartBlock;
        gracePeriodStopBlock = _gracePeriodStopBlock;
        gracePeriodMaxTarget = _gracePeriodMaxTarget;
        gracePeriodMinTran = _gracePeriodMinTran;
        
        buyPrice = _gracePeriodPrice;    	
    	
        icoFinished = false;        

        if (_resetAmount) icoRaisedETH = 0;
    }

    // Initiate dividends round ( owner can transfer ETH to contract and initiate dividends round )
    // aDividendsRound - is integer value of dividends period such as YYYYMM example 201712 (year 2017, month 12)
    function setDividends(uint32 _dividendsRound) public payable onlyOwner {
        if (_dividendsRound > 0) {
            if (msg.value < 1000000000000000) revert();
            dividendsSum = msg.value;
            dividendsBuffer = msg.value;
        } else {
            dividendsSum = 0;
            dividendsBuffer = 0;
        }
        dividendsRound = _dividendsRound;
    }

    // Get dividends
    function getDividends() public {
        if (dividendsBuffer == 0) revert();
        if (balanceOf[msg.sender] == 0) revert();
        if (paidDividends[msg.sender][dividendsRound] != 0) revert();
        uint256 divAmount = calcDividendsSum(msg.sender);
        if (divAmount >= 100000000000000) {
            if (!msg.sender.send(divAmount)) revert();
        }
    }

    // Set sell and buy prices for token
    function setPrices(uint256 _buyPrice, uint256 _sellPrice) public onlyOwner {
        buyPrice = _buyPrice;
        sellPrice = _sellPrice;
    }


    // Set sell and buy prices for token
    function setAllowTransfers(bool _allowTransfers) public onlyOwner {
        allowTransfers = _allowTransfers;
    }

    // Stop gracePeriod
    function stopGracePeriod() public onlyOwner {
        gracePeriodStopBlock = block.number;
        buyPrice = 0;
        sellPrice = 0;
    }

    // Stop ICO
    function stopICO() public onlyOwner {
        if ( gracePeriodStopBlock > block.number ) gracePeriodStopBlock = block.number;
        
        icoFinished = true;

        weiToPresalersFromICO = icoRaisedETH * percentToPresalersFromICO / 10000;

        if (soldedSupply >= (burnAfterSoldAmount * 100000000)) {

            uint256 companyCost = soldedSupply * 1000000 * 10000;
            companyCost = companyCost / (10000 - percentToFoundersAfterICO) / 1000000;
            
            uint256 amountToFounders = companyCost - soldedSupply;

            // Burn extra coins if current balance of token greater than amountToFounders 
            if (balanceOf[this] > amountToFounders) {
                Burn(this, (balanceOf[this]-amountToFounders));
                balanceOf[this] = 0;
                totalSupply = companyCost;
            } else {
                totalSupply += amountToFounders - balanceOf[this];
            }

            balanceOf[owner] += amountToFounders;
            balanceOf[this] = 0;
            Transfer(this, owner, amountToFounders);
        }

        buyPrice = 0;
        sellPrice = 0;
    }
    
    
    // Withdraw ETH to founders 
    function withdrawToFounders(uint256 amount) public onlyOwner {
    	uint256 amount_to_withdraw = amount * 1000000000000000; // 0.001 ETH
        if ((this.balance - weiToPresalersFromICO) < amount_to_withdraw) revert();
        amount_to_withdraw = amount_to_withdraw / foundersAddresses.length;
        uint8 i = 0;
        uint8 errors = 0;
        
        for (i = 0; i < foundersAddresses.length; i++) {
			if (!foundersAddresses[i].send(amount_to_withdraw)) {
				errors++;
			}
		}
    }
    
    function setBlockPerHour(uint256 _blocksPerHour) public onlyOwner {
    	blocksPerHour = _blocksPerHour;
    }
    
    function setBurnAfterSoldAmount(uint256 _burnAfterSoldAmount)  public onlyOwner {
    	burnAfterSoldAmount = _burnAfterSoldAmount;
    }
    
    function setTransferFromWhiteList(address _from, bool _allow) public onlyOwner {
    	transferFromWhiteList[_from] = _allow;
    }
    
    function addPresaleInvestor(address _addr, uint256 _amountETH, uint256 _amountSTE ) public onlyOwner {    	
	    presaleInvestors[_addr] += _amountSTE;
	    balanceOf[this] -= _amountSTE;
		balanceOf[_addr] += _amountSTE;
	    
	    if ( _amountETH > 0 ) {
	    	presaleInvestorsETH[_addr] += _amountETH;
			balanceOf[this] -= _amountSTE / 10;
			balanceOf[bountyAddr] += _amountSTE / 10;
			//presaleAmountETH += _amountETH;
		}
		
	    Transfer(this, _addr, _amountSTE);
    }
    
    /**/    
        
    // BURN coins in HELL! (sender balance)
    function burn(uint256 amount) public {
        if (balanceOf[msg.sender] < amount) revert(); // Check if the sender has enough
        balanceOf[msg.sender] -= amount; // Subtract from the sender
        totalSupply -= amount; // Updates totalSupply
        Burn(msg.sender, amount);
    }

    // BURN coins of token in HELL!
    function burnContractCoins(uint256 amount) public onlySuperOwner {
        if (balanceOf[this] < amount) revert(); // Check if the sender has enough
        balanceOf[this] -= amount; // Subtract from the contract balance
        totalSupply -= amount; // Updates totalSupply
        Burn(this, amount);
    }

    /* This unnamed function is called whenever someone tries to send ether to it */
    function() internal payable {
        buy();
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_buyPrice","type":"uint256"},{"name":"_sellPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_burnAfterSoldAmount","type":"uint256"}],"name":"setBurnAfterSoldAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromAdmin","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"soldedSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dividendsBuffer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gracePeriodMaxTarget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dividendsRound","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allowTransfers","outputs":[{"name":"","type":"bool"}],"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"presaleInvestors","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gracePeriodStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_dividendsRound","type":"uint32"}],"name":"setDividends","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"percentToPresalersFromICO","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiToPresalersFromICO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_gracePeriodPrice","type":"uint256"},{"name":"_gracePeriodStartBlock","type":"uint32"},{"name":"_gracePeriodStopBlock","type":"uint32"},{"name":"_gracePeriodMaxTarget","type":"uint256"},{"name":"_gracePeriodMinTran","type":"uint256"},{"name":"_resetAmount","type":"bool"}],"name":"setICOParams","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferFromWhiteList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_blocksPerHour","type":"uint256"}],"name":"setBlockPerHour","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"percentToFoundersAfterICO","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"icoInvestors","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dividendsSum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnAfterSoldAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleAmountETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopGracePeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gracePeriodStopBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burnContractCoins","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint32"}],"name":"paidDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_amountETH","type":"uint256"},{"name":"_amountSTE","type":"uint256"}],"name":"addPresaleInvestor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gracePeriodMinTran","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gracePeriodAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"presaleInvestorsETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blocksPerHour","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_allowTransfers","type":"bool"}],"name":"setAllowTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawToFounders","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getDividends","outputs":[],"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":"icoRaisedETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_allow","type":"bool"}],"name":"setTransferFromWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenName","type":"string"},{"name":"_tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

606060405273630cc4c83fcc1121fed041126227d25bbeb51959600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507310945a93914adb1d68b6efaaa4a59dfb21ba9951600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280732f072f00328b6176257c21e6492576099056100173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732640d4b3baf3f6cf9bb5732fe37fe1a9735a32ce73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600390600262000155929190620003c1565b506040805190810160405280600981526020017f546f6b656e20302e31000000000000000000000000000000000000000000000081525060059080519060200190620001a392919062000443565b503415620001b057600080fd5b60405162004aec38038062004aec83398101604052808051820191906020018051820191905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506618de76816d8000600981905550600954601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506605de64fc1a4059600b8190555069032e168c69a1e3d3b6976011819055508160069080519060200190620002a292919062000443565b508060079080519060200190620002bb92919062000443565b5060088060006101000a81548160ff021916908360ff1602179055506000600a81905550610104600c81905550610bb8601860016101000a81548163ffffffff021916908363ffffffff1602179055506103e8600f60006101000a81548163ffffffff021916908363ffffffff1602179055506000601860006101000a81548160ff0219169083151502179055506000601860056101000a81548160ff0219169083151502179055506301312d00600e8190555062466eee6012819055506008600c54026012540160138190555060006016819055506601c6bf5263400060158190555067016345785d8a00006014819055506301c9c380601781905550505062000538565b826002810192821562000430579160200282015b828111156200042f5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620003d5565b5b5090506200043f9190620004ca565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200048657805160ff1916838001178555620004b7565b82800160010185558215620004b7579182015b82811115620004b657825182559160200191906001019062000499565b5b509050620004c6919062000510565b5090565b6200050d91905b808211156200050957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101620004d1565b5090565b90565b6200053591905b808211156200053157600081600090555060010162000517565b5090565b90565b6145a480620005486000396000f300606060405260043610610293576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305fefda71461029d57806306fdde03146102c957806308b73b3114610357578063095ea7b31461037a5780630d271720146103d45780630d6795311461044d578063111a1fe91461047657806318160ddd1461049f5780631a21c229146104c85780631d05bcb3146104f15780632185810b1461052657806323b872dd14610553578063242aa460146105cc578063313ce56714610619578063356e29271461064857806341461bad1461067557806342966c681461069e57806343ab850b146106c1578063443af072146106df5780634b750334146107145780635a3b7e421461073d57806370a08231146107cb57806371c107781461081857806377f54a82146108415780637e9b98ae1461089f5780638620410b146108f05780638da5cb5b14610919578063951d86a41461096e57806395d89b411461099157806399c20c3414610a1f5780639a95691514610a545780639dd7496414610aa15780639fd5298414610aca578063a08b144714610af3578063a6f2ae3a14610b1c578063a9059cbb14610b26578063b536fa6314610b68578063bb4cbd0b14610b7d578063c1b4aa5114610ba6578063c8e569a814610bc9578063cae9ca5114610bde578063cbd07fd814610c7b578063cc7fe38c14610cd7578063cf2f856e14610d22578063cf509b9d14610d4b578063d0fc899a14610d74578063dbcd258d14610dc1578063dd62ed3e14610dea578063df50afa414610e56578063e37d4fed14610e7b578063e4849b3214610e9e578063ed442e1414610ec1578063f2fde38b14610ed6578063f4a222e914610f0f578063f94d7a1014610f38575b61029b610f7c565b005b34156102a857600080fd5b6102c7600480803590602001909190803590602001909190505061146c565b005b34156102d457600080fd5b6102dc611533565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561031c578082015181840152602081019050610301565b50505050905090810190601f1680156103495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036257600080fd5b61037860048080359060200190919050506115d1565b005b341561038557600080fd5b6103ba600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611690565b604051808215151515815260200191505060405180910390f35b34156103df57600080fd5b610433600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061171d565b604051808215151515815260200191505060405180910390f35b341561045857600080fd5b610460611cb3565b6040518082815260200191505060405180910390f35b341561048157600080fd5b610489611cb9565b6040518082815260200191505060405180910390f35b34156104aa57600080fd5b6104b2611cbf565b6040518082815260200191505060405180910390f35b34156104d357600080fd5b6104db611cc5565b6040518082815260200191505060405180910390f35b34156104fc57600080fd5b610504611ccb565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561053157600080fd5b610539611ce1565b604051808215151515815260200191505060405180910390f35b341561055e57600080fd5b6105b2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611cf4565b604051808215151515815260200191505060405180910390f35b34156105d757600080fd5b610603600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506123cb565b6040518082815260200191505060405180910390f35b341561062457600080fd5b61062c6123e3565b604051808260ff1660ff16815260200191505060405180910390f35b341561065357600080fd5b61065b6123f6565b604051808215151515815260200191505060405180910390f35b341561068057600080fd5b610688612409565b6040518082815260200191505060405180910390f35b34156106a957600080fd5b6106bf600480803590602001909190505061240f565b005b6106dd600480803563ffffffff16906020019091905050612509565b005b34156106ea57600080fd5b6106f2612629565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561071f57600080fd5b61072761263f565b6040518082815260200191505060405180910390f35b341561074857600080fd5b610750612645565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610790578082015181840152602081019050610775565b50505050905090810190601f1680156107bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107d657600080fd5b610802600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506126e3565b6040518082815260200191505060405180910390f35b341561082357600080fd5b61082b6126fb565b6040518082815260200191505060405180910390f35b341561084c57600080fd5b61089d600480803590602001909190803563ffffffff1690602001909190803563ffffffff169060200190919080359060200190919080359060200190919080351515906020019091905050612701565b005b34156108aa57600080fd5b6108d6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612817565b604051808215151515815260200191505060405180910390f35b34156108fb57600080fd5b610903612837565b6040518082815260200191505060405180910390f35b341561092457600080fd5b61092c61283d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561097957600080fd5b61098f6004808035906020019091905050612862565b005b341561099c57600080fd5b6109a4612921565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109e45780820151818401526020810190506109c9565b50505050905090810190601f168015610a115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a2a57600080fd5b610a326129bf565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3415610a5f57600080fd5b610a8b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506129d5565b6040518082815260200191505060405180910390f35b3415610aac57600080fd5b610ab46129ed565b6040518082815260200191505060405180910390f35b3415610ad557600080fd5b610add6129f3565b6040518082815260200191505060405180910390f35b3415610afe57600080fd5b610b066129f9565b6040518082815260200191505060405180910390f35b610b24610f7c565b005b3415610b3157600080fd5b610b66600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506129ff565b005b3415610b7357600080fd5b610b7b612f65565b005b3415610b8857600080fd5b610b90613033565b6040518082815260200191505060405180910390f35b3415610bb157600080fd5b610bc76004808035906020019091905050613039565b005b3415610bd457600080fd5b610bdc61318f565b005b3415610be957600080fd5b610c61600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506135cb565b604051808215151515815260200191505060405180910390f35b3415610c8657600080fd5b610cc1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803563ffffffff16906020019091905050613749565b6040518082815260200191505060405180910390f35b3415610ce257600080fd5b610d20600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061376e565b005b3415610d2d57600080fd5b610d35613a9f565b6040518082815260200191505060405180910390f35b3415610d5657600080fd5b610d5e613aa5565b6040518082815260200191505060405180910390f35b3415610d7f57600080fd5b610dab600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613aab565b6040518082815260200191505060405180910390f35b3415610dcc57600080fd5b610dd4613ac3565b6040518082815260200191505060405180910390f35b3415610df557600080fd5b610e40600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613ac9565b6040518082815260200191505060405180910390f35b3415610e6157600080fd5b610e7960048080351515906020019091905050613aee565b005b3415610e8657600080fd5b610e9c6004808035906020019091905050613bc0565b005b3415610ea957600080fd5b610ebf6004808035906020019091905050613d60565b005b3415610ecc57600080fd5b610ed4613f07565b005b3415610ee157600080fd5b610f0d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614040565b005b3415610f1a57600080fd5b610f226140df565b6040518082815260200191505060405180910390f35b3415610f4357600080fd5b610f7a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506140e5565b005b600080610f876141f5565b15610f9157611468565b60009150600e5434811515610fa257fe5b049150600090506012544310158015610fbd57506013544311155b1561114c57601454341080610fd55750601554601654115b15610fdf57600080fd5b8160166000828254019250508190555034600a6000828254019250508190555081601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506064600a830281151561105b57fe5b04601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506064600a83028115156110b757fe5b04601a6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506064600a830281151561113557fe5b048201600b6000828254019250508190555061126e565b601860009054906101000a900460ff1680156111a757506000601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b80156111b557506000601054115b1561126d5764e8d4a51000600f60009054906101000a900463ffffffff1663ffffffff16600a546011546305f5e100601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561122e57fe5b04020281151561123a57fe5b043401905060105481111561125b576010549050600060108190555061126c565b806010600082825403925050819055505b5b5b6000600e5411156113645781601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156112c557600080fd5b81601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611373565b600081141561137257600080fd5b5b6000811115611402576000601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561140157600080fd5b5b3373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156115175750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561152157600080fd5b81600e8190555080600d819055505050565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115c95780601f1061159e576101008083540402835291602001916115c9565b820191906000526020600020905b8154815290600101906020018083116115ac57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561167c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561168657600080fd5b8060178190555050565b600081602260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156117cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156117d757600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff1614156117fb57600080fd5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561184757600080fd5b601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110156118d457600080fd5b60009150600090506000601e60009054906101000a900463ffffffff1663ffffffff161415801561190757506000602054115b15611b1357611915866142b5565b915060008214801561199557506000602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15611a0f576001602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b611a18856142b5565b9050600081148015611a9857506000602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15611b12576001602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555083601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000821115611bf7578573ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611bf657600080fd5b5b6000811115611c41578473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611c4057600080fd5b5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b600b5481565b60205481565b60095481565b60155481565b601e60009054906101000a900463ffffffff1681565b601860059054906101000a900460ff1681565b6000806000808573ffffffffffffffffffffffffffffffffffffffff161415611d1c57600080fd5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611d6857600080fd5b601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015611df557600080fd5b602260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841115611e7e57600080fd5b601860009054906101000a900460ff16158015611ee95750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3f5750601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f585750601860059054906101000a900460ff16155b15611f6257600080fd5b60009150600090506000601e60009054906101000a900463ffffffff1663ffffffff1614158015611f9557506000602054115b156121a157611fa3866142b5565b915060008214801561202357506000602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b1561209d576001602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b6120a6856142b5565b905060008114801561212657506000602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b156121a0576001602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555083601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555083602260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600082111561230f578573ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561230e57600080fd5b5b6000811115612359578473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561235857600080fd5b5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b601c6020528060005260406000206000915090505481565b600860009054906101000a900460ff1681565b601860009054906101000a900460ff1681565b60125481565b80601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561245b57600080fd5b80601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550806009600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156125b45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156125be57600080fd5b60008163ffffffff1611156125f45766038d7ea4c680003410156125e157600080fd5b34601f8190555034602081905550612605565b6000601f8190555060006020819055505b80601e60006101000a81548163ffffffff021916908363ffffffff16021790555050565b600f60009054906101000a900463ffffffff1681565b600d5481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126db5780601f106126b0576101008083540402835291602001916126db565b820191906000526020600020905b8154815290600101906020018083116126be57829003601f168201915b505050505081565b601a6020528060005260406000206000915090505481565b60105481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156127ac5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156127b657600080fd5b8463ffffffff166012819055508363ffffffff16601381905550826015819055508160148190555085600e819055506000601860006101000a81548160ff021916908315150217905550801561280f576000600a819055505b505050505050565b60196020528060005260406000206000915054906101000a900460ff1681565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561290d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561291757600080fd5b80600c8190555050565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129b75780601f1061298c576101008083540402835291602001916129b7565b820191906000526020600020905b81548152906001019060200180831161299a57829003601f168201915b505050505081565b601860019054906101000a900463ffffffff1681565b601d6020528060005260406000206000915090505481565b601f5481565b60175481565b60115481565b60008060008473ffffffffffffffffffffffffffffffffffffffff161415612a2657600080fd5b82601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612a7257600080fd5b601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015612aff57600080fd5b601860009054906101000a900460ff16158015612b6a5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015612b835750601860059054906101000a900460ff16155b15612b8d57600080fd5b60009150600090506000601e60009054906101000a900463ffffffff1663ffffffff1614158015612bc057506000602054115b15612dcc57612bce336142b5565b9150600082148015612c4e57506000602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15612cc8576001602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b612cd1846142b5565b9050600081148015612d5157506000602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15612dcb576001602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b5b82601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000821115612eb0573373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515612eaf57600080fd5b5b6000811115612efa578373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515612ef957600080fd5b5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156130105750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561301a57600080fd5b436013819055506000600e819055506000600d81905550565b60135481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561309557600080fd5b80601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156130e157600080fd5b80601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550806009600082825403925050819055503073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561323d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561324757600080fd5b43601354111561325957436013819055505b6001601860006101000a81548160ff021916908315150217905550612710600f60009054906101000a900463ffffffff1663ffffffff16600a540281151561329d57fe5b046010819055506305f5e10060175402600b541015156135b757612710620f4240600b5402029150620f4240601860019054906101000a900463ffffffff166127100363ffffffff16838115156132f057fe5b048115156132fa57fe5b049150600b548203905080601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561342b573073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036040518082815260200191505060405180910390a26000601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160098190555061347d565b601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481036009600082825401925050819055505b80601a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6000600e819055506000600d819055505050565b6000808490506135db8585611690565b15613740578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156136d55780820151818401526020810190506136ba565b50505050905090810190601f1680156137025780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561372357600080fd5b6102c65a03f1151561373457600080fd5b50505060019150613741565b5b509392505050565b6021602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156138195750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561382357600080fd5b80601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000821115613a355781601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600a8181151561396c57fe5b04601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600a818115156139c557fe5b04601a6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60145481565b60165481565b601b6020528060005260406000206000915090505481565b600c5481565b6022602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015613b995750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15613ba357600080fd5b80601860056101000a81548160ff02191690831515021790555050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015613c705750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15613c7a57600080fd5b66038d7ea4c6800084029250826010543073ffffffffffffffffffffffffffffffffffffffff1631031015613cae57600080fd5b600283811515613cba57fe5b0492506000915060009050600091505b60028260ff161015613d5a5760038260ff16600281101515613ce857fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501515613d4d5780806001019150505b8180600101925050613cca565b50505050565b600080600d541415613d7157600080fd5b81601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613dbd57600080fd5b600d548202905081601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515613e9e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b6000806020541415613f1857600080fd5b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415613f6557600080fd5b6000602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054141515613fe257600080fd5b613feb336142b5565b9050655af3107a40008110151561403d573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561403c57600080fd5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561409c57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156141905750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561419a57600080fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061429f5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b156142ad57600190506142b2565b600090505b90565b6000806000601e60009054906101000a900463ffffffff1663ffffffff1614156142e25760009150614572565b600060205414156142f65760009150614572565b6000601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156143475760009150614572565b6000602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020541415156143c85760009150614572565b60009050662386f26fc10000600954662386f26fc10000601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561442957fe5b04601f540281151561443757fe5b049050655af3107a40008110156144c5576001602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020019081526020016000208190555060009150614572565b6020548111156144e157602054905060006020819055506144f2565b806020600082825403925050819055505b80602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020600082825401925050819055508091505b509190505600a165627a7a72305820f044c3f2596409b90e3482bee906e10a30c39d375a8f91b76605fed729a3c2990029000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000011535465582045786368616e67652049434f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035354450000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x606060405260043610610293576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305fefda71461029d57806306fdde03146102c957806308b73b3114610357578063095ea7b31461037a5780630d271720146103d45780630d6795311461044d578063111a1fe91461047657806318160ddd1461049f5780631a21c229146104c85780631d05bcb3146104f15780632185810b1461052657806323b872dd14610553578063242aa460146105cc578063313ce56714610619578063356e29271461064857806341461bad1461067557806342966c681461069e57806343ab850b146106c1578063443af072146106df5780634b750334146107145780635a3b7e421461073d57806370a08231146107cb57806371c107781461081857806377f54a82146108415780637e9b98ae1461089f5780638620410b146108f05780638da5cb5b14610919578063951d86a41461096e57806395d89b411461099157806399c20c3414610a1f5780639a95691514610a545780639dd7496414610aa15780639fd5298414610aca578063a08b144714610af3578063a6f2ae3a14610b1c578063a9059cbb14610b26578063b536fa6314610b68578063bb4cbd0b14610b7d578063c1b4aa5114610ba6578063c8e569a814610bc9578063cae9ca5114610bde578063cbd07fd814610c7b578063cc7fe38c14610cd7578063cf2f856e14610d22578063cf509b9d14610d4b578063d0fc899a14610d74578063dbcd258d14610dc1578063dd62ed3e14610dea578063df50afa414610e56578063e37d4fed14610e7b578063e4849b3214610e9e578063ed442e1414610ec1578063f2fde38b14610ed6578063f4a222e914610f0f578063f94d7a1014610f38575b61029b610f7c565b005b34156102a857600080fd5b6102c7600480803590602001909190803590602001909190505061146c565b005b34156102d457600080fd5b6102dc611533565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561031c578082015181840152602081019050610301565b50505050905090810190601f1680156103495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036257600080fd5b61037860048080359060200190919050506115d1565b005b341561038557600080fd5b6103ba600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611690565b604051808215151515815260200191505060405180910390f35b34156103df57600080fd5b610433600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061171d565b604051808215151515815260200191505060405180910390f35b341561045857600080fd5b610460611cb3565b6040518082815260200191505060405180910390f35b341561048157600080fd5b610489611cb9565b6040518082815260200191505060405180910390f35b34156104aa57600080fd5b6104b2611cbf565b6040518082815260200191505060405180910390f35b34156104d357600080fd5b6104db611cc5565b6040518082815260200191505060405180910390f35b34156104fc57600080fd5b610504611ccb565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561053157600080fd5b610539611ce1565b604051808215151515815260200191505060405180910390f35b341561055e57600080fd5b6105b2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611cf4565b604051808215151515815260200191505060405180910390f35b34156105d757600080fd5b610603600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506123cb565b6040518082815260200191505060405180910390f35b341561062457600080fd5b61062c6123e3565b604051808260ff1660ff16815260200191505060405180910390f35b341561065357600080fd5b61065b6123f6565b604051808215151515815260200191505060405180910390f35b341561068057600080fd5b610688612409565b6040518082815260200191505060405180910390f35b34156106a957600080fd5b6106bf600480803590602001909190505061240f565b005b6106dd600480803563ffffffff16906020019091905050612509565b005b34156106ea57600080fd5b6106f2612629565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561071f57600080fd5b61072761263f565b6040518082815260200191505060405180910390f35b341561074857600080fd5b610750612645565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610790578082015181840152602081019050610775565b50505050905090810190601f1680156107bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107d657600080fd5b610802600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506126e3565b6040518082815260200191505060405180910390f35b341561082357600080fd5b61082b6126fb565b6040518082815260200191505060405180910390f35b341561084c57600080fd5b61089d600480803590602001909190803563ffffffff1690602001909190803563ffffffff169060200190919080359060200190919080359060200190919080351515906020019091905050612701565b005b34156108aa57600080fd5b6108d6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612817565b604051808215151515815260200191505060405180910390f35b34156108fb57600080fd5b610903612837565b6040518082815260200191505060405180910390f35b341561092457600080fd5b61092c61283d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561097957600080fd5b61098f6004808035906020019091905050612862565b005b341561099c57600080fd5b6109a4612921565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109e45780820151818401526020810190506109c9565b50505050905090810190601f168015610a115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a2a57600080fd5b610a326129bf565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3415610a5f57600080fd5b610a8b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506129d5565b6040518082815260200191505060405180910390f35b3415610aac57600080fd5b610ab46129ed565b6040518082815260200191505060405180910390f35b3415610ad557600080fd5b610add6129f3565b6040518082815260200191505060405180910390f35b3415610afe57600080fd5b610b066129f9565b6040518082815260200191505060405180910390f35b610b24610f7c565b005b3415610b3157600080fd5b610b66600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506129ff565b005b3415610b7357600080fd5b610b7b612f65565b005b3415610b8857600080fd5b610b90613033565b6040518082815260200191505060405180910390f35b3415610bb157600080fd5b610bc76004808035906020019091905050613039565b005b3415610bd457600080fd5b610bdc61318f565b005b3415610be957600080fd5b610c61600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506135cb565b604051808215151515815260200191505060405180910390f35b3415610c8657600080fd5b610cc1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803563ffffffff16906020019091905050613749565b6040518082815260200191505060405180910390f35b3415610ce257600080fd5b610d20600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061376e565b005b3415610d2d57600080fd5b610d35613a9f565b6040518082815260200191505060405180910390f35b3415610d5657600080fd5b610d5e613aa5565b6040518082815260200191505060405180910390f35b3415610d7f57600080fd5b610dab600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613aab565b6040518082815260200191505060405180910390f35b3415610dcc57600080fd5b610dd4613ac3565b6040518082815260200191505060405180910390f35b3415610df557600080fd5b610e40600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613ac9565b6040518082815260200191505060405180910390f35b3415610e6157600080fd5b610e7960048080351515906020019091905050613aee565b005b3415610e8657600080fd5b610e9c6004808035906020019091905050613bc0565b005b3415610ea957600080fd5b610ebf6004808035906020019091905050613d60565b005b3415610ecc57600080fd5b610ed4613f07565b005b3415610ee157600080fd5b610f0d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050614040565b005b3415610f1a57600080fd5b610f226140df565b6040518082815260200191505060405180910390f35b3415610f4357600080fd5b610f7a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506140e5565b005b600080610f876141f5565b15610f9157611468565b60009150600e5434811515610fa257fe5b049150600090506012544310158015610fbd57506013544311155b1561114c57601454341080610fd55750601554601654115b15610fdf57600080fd5b8160166000828254019250508190555034600a6000828254019250508190555081601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506064600a830281151561105b57fe5b04601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506064600a83028115156110b757fe5b04601a6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506064600a830281151561113557fe5b048201600b6000828254019250508190555061126e565b601860009054906101000a900460ff1680156111a757506000601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b80156111b557506000601054115b1561126d5764e8d4a51000600f60009054906101000a900463ffffffff1663ffffffff16600a546011546305f5e100601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561122e57fe5b04020281151561123a57fe5b043401905060105481111561125b576010549050600060108190555061126c565b806010600082825403925050819055505b5b5b6000600e5411156113645781601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156112c557600080fd5b81601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611373565b600081141561137257600080fd5b5b6000811115611402576000601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561140157600080fd5b5b3373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156115175750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561152157600080fd5b81600e8190555080600d819055505050565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115c95780601f1061159e576101008083540402835291602001916115c9565b820191906000526020600020905b8154815290600101906020018083116115ac57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561167c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561168657600080fd5b8060178190555050565b600081602260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156117cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156117d757600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff1614156117fb57600080fd5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561184757600080fd5b601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110156118d457600080fd5b60009150600090506000601e60009054906101000a900463ffffffff1663ffffffff161415801561190757506000602054115b15611b1357611915866142b5565b915060008214801561199557506000602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15611a0f576001602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b611a18856142b5565b9050600081148015611a9857506000602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15611b12576001602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555083601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000821115611bf7578573ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611bf657600080fd5b5b6000811115611c41578473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611c4057600080fd5b5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b600b5481565b60205481565b60095481565b60155481565b601e60009054906101000a900463ffffffff1681565b601860059054906101000a900460ff1681565b6000806000808573ffffffffffffffffffffffffffffffffffffffff161415611d1c57600080fd5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611d6857600080fd5b601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015611df557600080fd5b602260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841115611e7e57600080fd5b601860009054906101000a900460ff16158015611ee95750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3f5750601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f585750601860059054906101000a900460ff16155b15611f6257600080fd5b60009150600090506000601e60009054906101000a900463ffffffff1663ffffffff1614158015611f9557506000602054115b156121a157611fa3866142b5565b915060008214801561202357506000602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b1561209d576001602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b6120a6856142b5565b905060008114801561212657506000602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b156121a0576001602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b5b83601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555083601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555083602260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600082111561230f578573ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561230e57600080fd5b5b6000811115612359578473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561235857600080fd5b5b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b601c6020528060005260406000206000915090505481565b600860009054906101000a900460ff1681565b601860009054906101000a900460ff1681565b60125481565b80601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561245b57600080fd5b80601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550806009600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156125b45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156125be57600080fd5b60008163ffffffff1611156125f45766038d7ea4c680003410156125e157600080fd5b34601f8190555034602081905550612605565b6000601f8190555060006020819055505b80601e60006101000a81548163ffffffff021916908363ffffffff16021790555050565b600f60009054906101000a900463ffffffff1681565b600d5481565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126db5780601f106126b0576101008083540402835291602001916126db565b820191906000526020600020905b8154815290600101906020018083116126be57829003601f168201915b505050505081565b601a6020528060005260406000206000915090505481565b60105481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156127ac5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156127b657600080fd5b8463ffffffff166012819055508363ffffffff16601381905550826015819055508160148190555085600e819055506000601860006101000a81548160ff021916908315150217905550801561280f576000600a819055505b505050505050565b60196020528060005260406000206000915054906101000a900460ff1681565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561290d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561291757600080fd5b80600c8190555050565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129b75780601f1061298c576101008083540402835291602001916129b7565b820191906000526020600020905b81548152906001019060200180831161299a57829003601f168201915b505050505081565b601860019054906101000a900463ffffffff1681565b601d6020528060005260406000206000915090505481565b601f5481565b60175481565b60115481565b60008060008473ffffffffffffffffffffffffffffffffffffffff161415612a2657600080fd5b82601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612a7257600080fd5b601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015612aff57600080fd5b601860009054906101000a900460ff16158015612b6a5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015612b835750601860059054906101000a900460ff16155b15612b8d57600080fd5b60009150600090506000601e60009054906101000a900463ffffffff1663ffffffff1614158015612bc057506000602054115b15612dcc57612bce336142b5565b9150600082148015612c4e57506000602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15612cc8576001602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b612cd1846142b5565b9050600081148015612d5157506000602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054145b15612dcb576001602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020819055505b5b82601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000821115612eb0573373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515612eaf57600080fd5b5b6000811115612efa578373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515612ef957600080fd5b5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156130105750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561301a57600080fd5b436013819055506000600e819055506000600d81905550565b60135481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561309557600080fd5b80601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156130e157600080fd5b80601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550806009600082825403925050819055503073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561323d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561324757600080fd5b43601354111561325957436013819055505b6001601860006101000a81548160ff021916908315150217905550612710600f60009054906101000a900463ffffffff1663ffffffff16600a540281151561329d57fe5b046010819055506305f5e10060175402600b541015156135b757612710620f4240600b5402029150620f4240601860019054906101000a900463ffffffff166127100363ffffffff16838115156132f057fe5b048115156132fa57fe5b049150600b548203905080601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561342b573073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036040518082815260200191505060405180910390a26000601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160098190555061347d565b601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481036009600082825401925050819055505b80601a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6000600e819055506000600d819055505050565b6000808490506135db8585611690565b15613740578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156136d55780820151818401526020810190506136ba565b50505050905090810190601f1680156137025780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561372357600080fd5b6102c65a03f1151561373457600080fd5b50505060019150613741565b5b509392505050565b6021602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156138195750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561382357600080fd5b80601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000821115613a355781601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600a8181151561396c57fe5b04601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600a818115156139c557fe5b04601a6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60145481565b60165481565b601b6020528060005260406000206000915090505481565b600c5481565b6022602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015613b995750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15613ba357600080fd5b80601860056101000a81548160ff02191690831515021790555050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015613c705750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15613c7a57600080fd5b66038d7ea4c6800084029250826010543073ffffffffffffffffffffffffffffffffffffffff1631031015613cae57600080fd5b600283811515613cba57fe5b0492506000915060009050600091505b60028260ff161015613d5a5760038260ff16600281101515613ce857fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501515613d4d5780806001019150505b8180600101925050613cca565b50505050565b600080600d541415613d7157600080fd5b81601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613dbd57600080fd5b600d548202905081601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515613e9e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b6000806020541415613f1857600080fd5b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415613f6557600080fd5b6000602160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002054141515613fe257600080fd5b613feb336142b5565b9050655af3107a40008110151561403d573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561403c57600080fd5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561409c57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156141905750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561419a57600080fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061429f5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b156142ad57600190506142b2565b600090505b90565b6000806000601e60009054906101000a900463ffffffff1663ffffffff1614156142e25760009150614572565b600060205414156142f65760009150614572565b6000601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156143475760009150614572565b6000602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020541415156143c85760009150614572565b60009050662386f26fc10000600954662386f26fc10000601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561442957fe5b04601f540281151561443757fe5b049050655af3107a40008110156144c5576001602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020019081526020016000208190555060009150614572565b6020548111156144e157602054905060006020819055506144f2565b806020600082825403925050819055505b80602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900463ffffffff1663ffffffff1663ffffffff168152602001908152602001600020600082825401925050819055508091505b509190505600a165627a7a72305820f044c3f2596409b90e3482bee906e10a30c39d375a8f91b76605fed729a3c2990029

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000011535465582045786368616e67652049434f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035354450000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): STeX Exchange ICO
Arg [1] : _tokenSymbol (string): STE

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000011
Arg [3] : 535465582045786368616e67652049434f000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 5354450000000000000000000000000000000000000000000000000000000000


Swarm Source

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