ETH Price: $3,540.25 (+4.52%)

Token

EcosBall (ABA)
 

Overview

Max Total Supply

2,100,000,000 ABA

Holders

2,432

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
772.8 ABA

Value
$0.00
0x6ae7705c4bc53253f5185d0e0382219642285fc5
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:
ABAToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-01-19
*/

pragma solidity ^0.4.18;

contract DateTime {
        /*
         *  Date and Time utilities for ethereum contracts
         *
         */
        struct _DateTime {
                uint16 year;
                uint8 month;
                uint8 day;
                uint8 hour;
                uint8 minute;
                uint8 second;
                uint8 weekday;
        }

        uint constant DAY_IN_SECONDS = 86400;
        uint constant YEAR_IN_SECONDS = 31536000;
        uint constant LEAP_YEAR_IN_SECONDS = 31622400;

        uint constant HOUR_IN_SECONDS = 3600;
        uint constant MINUTE_IN_SECONDS = 60;

        uint16 constant ORIGIN_YEAR = 1970;

        function isLeapYear(uint16 year) public pure returns (bool) {
                if (year % 4 != 0) {
                        return false;
                }
                if (year % 100 != 0) {
                        return true;
                }
                if (year % 400 != 0) {
                        return false;
                }
                return true;
        }

        function leapYearsBefore(uint year) public pure returns (uint) {
                year -= 1;
                return year / 4 - year / 100 + year / 400;
        }

        function getDaysInMonth(uint8 month, uint16 year) public pure returns (uint8) {
                if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                        return 31;
                }
                else if (month == 4 || month == 6 || month == 9 || month == 11) {
                        return 30;
                }
                else if (isLeapYear(year)) {
                        return 29;
                }
                else {
                        return 28;
                }
        }

        function parseTimestamp(uint timestamp) internal pure returns (_DateTime dt) {
                uint secondsAccountedFor = 0;
                uint buf;
                uint8 i;

                // Year
                dt.year = getYear(timestamp);
                buf = leapYearsBefore(dt.year) - leapYearsBefore(ORIGIN_YEAR);

                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * buf;
                secondsAccountedFor += YEAR_IN_SECONDS * (dt.year - ORIGIN_YEAR - buf);

                // Month
                uint secondsInMonth;
                for (i = 1; i <= 12; i++) {
                        secondsInMonth = DAY_IN_SECONDS * getDaysInMonth(i, dt.year);
                        if (secondsInMonth + secondsAccountedFor > timestamp) {
                                dt.month = i;
                                break;
                        }
                        secondsAccountedFor += secondsInMonth;
                }

                // Day
                for (i = 1; i <= getDaysInMonth(dt.month, dt.year); i++) {
                        if (DAY_IN_SECONDS + secondsAccountedFor > timestamp) {
                                dt.day = i;
                                break;
                        }
                        secondsAccountedFor += DAY_IN_SECONDS;
                }

                // Hour
                dt.hour = getHour(timestamp);

                // Minute
                dt.minute = getMinute(timestamp);

                // Second
                dt.second = getSecond(timestamp);

                // Day of week.
                dt.weekday = getWeekday(timestamp);
        }

        function getYear(uint timestamp) public pure returns (uint16) {
                uint secondsAccountedFor = 0;
                uint16 year;
                uint numLeapYears;

                // Year
                year = uint16(ORIGIN_YEAR + timestamp / YEAR_IN_SECONDS);
                numLeapYears = leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR);

                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * numLeapYears;
                secondsAccountedFor += YEAR_IN_SECONDS * (year - ORIGIN_YEAR - numLeapYears);

                while (secondsAccountedFor > timestamp) {
                        if (isLeapYear(uint16(year - 1))) {
                                secondsAccountedFor -= LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                secondsAccountedFor -= YEAR_IN_SECONDS;
                        }
                        year -= 1;
                }
                return year;
        }

        function getMonth(uint timestamp) public pure returns (uint8) {
                return parseTimestamp(timestamp).month;
        }

        function getDay(uint timestamp) public pure returns (uint8) {
                return parseTimestamp(timestamp).day;
        }

        function getHour(uint timestamp) public pure returns (uint8) {
                return uint8((timestamp / 60 / 60) % 24);
        }

        function getMinute(uint timestamp) public pure returns (uint8) {
                return uint8((timestamp / 60) % 60);
        }

        function getSecond(uint timestamp) public pure returns (uint8) {
                return uint8(timestamp % 60);
        }

        function getWeekday(uint timestamp) public pure returns (uint8) {
                return uint8((timestamp / DAY_IN_SECONDS + 4) % 7);
        }

        function toTimestamp(uint16 year, uint8 month, uint8 day) public pure returns (uint timestamp) {
                return toTimestamp(year, month, day, 0, 0, 0);
        }

        function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour) public pure returns (uint timestamp) {
                return toTimestamp(year, month, day, hour, 0, 0);
        }

        function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute) public pure returns (uint timestamp) {
                return toTimestamp(year, month, day, hour, minute, 0);
        }

        function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute, uint8 second) public pure returns (uint timestamp) {
                uint16 i;

                // Year
                for (i = ORIGIN_YEAR; i < year; i++) {
                        if (isLeapYear(i)) {
                                timestamp += LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                timestamp += YEAR_IN_SECONDS;
                        }
                }

                // Month
                uint8[12] memory monthDayCounts;
                monthDayCounts[0] = 31;
                if (isLeapYear(year)) {
                        monthDayCounts[1] = 29;
                }
                else {
                        monthDayCounts[1] = 28;
                }
                monthDayCounts[2] = 31;
                monthDayCounts[3] = 30;
                monthDayCounts[4] = 31;
                monthDayCounts[5] = 30;
                monthDayCounts[6] = 31;
                monthDayCounts[7] = 31;
                monthDayCounts[8] = 30;
                monthDayCounts[9] = 31;
                monthDayCounts[10] = 30;
                monthDayCounts[11] = 31;

                for (i = 1; i < month; i++) {
                        timestamp += DAY_IN_SECONDS * monthDayCounts[i - 1];
                }

                // Day
                timestamp += DAY_IN_SECONDS * (day - 1);

                // Hour
                timestamp += HOUR_IN_SECONDS * (hour);

                // Minute
                timestamp += MINUTE_IN_SECONDS * (minute);

                // Second
                timestamp += second;

                return timestamp;
        }
}
pragma solidity ^0.4.18;


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


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

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

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

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

}
pragma solidity ^0.4.18;


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


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


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

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


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

}


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

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


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

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

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

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

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

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

}
pragma solidity ^0.4.18;


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

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

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

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


/**
 * @title Destructible
 * @dev Base contract that can be destroyed by owner. All funds in contract will be sent to the owner.
 */
contract Destructible is Ownable {

    function Destructible() public payable { }

    /**
     * @dev Transfers the current balance to the owner and terminates the contract.
     */
    function destroy() onlyOwner public {
        selfdestruct(owner);
    }

    function destroyAndSend(address _recipient) onlyOwner public {
        selfdestruct(_recipient);
    }
}


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

    bool public paused = false;


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

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

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

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


/// @title ABAToken - Token code for the ABA Project
/// @author David Chen, Jacky Lin
contract ABAToken is StandardToken, Ownable, Pausable, Destructible {

    using SafeMath for uint;
    string public constant name = "EcosBall";
    string public constant symbol = "ABA";
    uint public constant decimals = 18;

    DateTime public dateTime;

    uint constant million=1000000e18;
    //total token supply: 2.1 billion
    uint constant totalToken = 2100*million;
    //miner reward: 1.47 billion, 70% in 30 years, locked in the first year, 3.45% per year started from second year
    uint constant minerTotalSupply = 1470*million;
    //fund:105 million,5%, locked at least 1 year
    uint constant fundTotalSupply = 105*million;
    //IEO supply 105 million,5%
    uint constant ieoTotalSupply = 105*million;
    //Project team 105 million,5%, 12.5% of them are released in every 6 months
    uint constant projectTotalSupply = 105*million;
    //presale supply 105 million,5%
    uint constant presaleTotalSupply = 105*million;
    //market and community: 210 million, 10%, 50% of them are locked for 1 year
    uint constant market_communityTotalSupply = 210*million;

    uint projectUsedTokens = 0;
    uint market_communityUsedTokens = 0;

    bool bAllocFund = false;
    bool bAllocMarket_community = false;
    bool bAllocProject1 = false;
    bool bAllocProject2 = false;
    bool bAllocProject3 = false;
    bool bAllocProject4 = false;
    bool bAllocProject5 = false;
    bool bAllocProject6 = false;
    bool bAllocProject7 = false;
    bool bAllocProject8 = false;
    uint constant perProjectAlloc = 13125000e18;

    address public fundStorageVault;
    address public ieoStorageVault;
    address public projectStorageVault;
    address public presaleStorageVault;
    address public market_communityStorageVault;

    //@notice  Constructor of ABAToken
    function ABAToken() {
      totalSupply = totalToken;
      fundStorageVault = 0xa5b2F189552d3200fF393a38cCD90D63F3a99D08;
      ieoStorageVault = 0x07D150A514EB394efe4879d530C4c6C710509Da7;
      projectStorageVault = 0xd275eD1359F89251FbDeCdCbC196B57Ad71B851c;
      presaleStorageVault = 0xeA426B782D7526d5236Ff39515696cB096F5Af0A;
      market_communityStorageVault = 0xA408529eb7a233808F4c37308ed52e02046e7B09;

      balances[fundStorageVault] = 0;
      balances[ieoStorageVault] = ieoTotalSupply;
      balances[projectStorageVault] = 0;
      balances[presaleStorageVault] = presaleTotalSupply;
      market_communityUsedTokens = market_communityTotalSupply.div(2);
      balances[market_communityStorageVault] = market_communityUsedTokens;

      dateTime = new DateTime();
      balances[msg.sender] = minerTotalSupply;
    }

    function allocateFundToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2019,4,15)) throw;
      if (bAllocFund) throw;
      bAllocFund = true;
      balances[fundStorageVault] = balances[fundStorageVault].add(fundTotalSupply);
    }

    function getProjectUsedTokens() constant returns (uint256) {
      return projectUsedTokens;
    }

    function getProjectUnusedTokens() constant returns (uint256) {
      if(projectUsedTokens > projectTotalSupply) throw;
      uint projectUnusedTokens = projectTotalSupply.sub(projectUsedTokens);
      return projectUnusedTokens;
    }

    function allocate1ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2018,6,30)) throw;
      if (bAllocProject1) throw;
      bAllocProject1 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocate2ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2018,12,31)) throw;
      if (bAllocProject2) throw;
      bAllocProject2 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocate3ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2019,6,30)) throw;
      if (bAllocProject3) throw;
      bAllocProject3 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocate4ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2019,12,31)) throw;
      if (bAllocProject4) throw;
      bAllocProject4 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocate5ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2020,6,30)) throw;
      if (bAllocProject5) throw;
      bAllocProject5 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocate6ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2020,12,31)) throw;
      if (bAllocProject6) throw;
      bAllocProject6 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocate7ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2021,6,30)) throw;
      if (bAllocProject7) throw;
      bAllocProject7 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocate8ProjectToken() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2021,12,31)) throw;
      if (bAllocProject8) throw;
      bAllocProject8 = true;
      projectUsedTokens = projectUsedTokens.add(perProjectAlloc);
      balances[projectStorageVault] = balances[projectStorageVault].add(perProjectAlloc);
    }

    function allocateMarket_CommunitTokens() onlyOwner whenNotPaused external {
      if (now < dateTime.toTimestamp(2019,4,15)) throw;
      if (bAllocMarket_community) throw;
      bAllocMarket_community = true;
      uint nowAllocateTokens = market_communityTotalSupply.div(2);
      market_communityUsedTokens = market_communityUsedTokens.add(market_communityUsedTokens);
      balances[market_communityStorageVault] = balances[market_communityStorageVault].add(nowAllocateTokens);
    }

    function getMarket_CommunitUsedTokens() constant returns (uint256) {
      return market_communityUsedTokens;
    }

    function getMarket_CommunitUnusedTokens() constant returns (uint256) {
      if(market_communityUsedTokens > market_communityTotalSupply) throw;
      uint market_communityUnusedTokens = market_communityTotalSupply.sub(market_communityUsedTokens);
      return market_communityUnusedTokens;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ieoStorageVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundStorageVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"allocate8ProjectToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMarket_CommunitUsedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"allocate6ProjectToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"projectStorageVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"allocate1ProjectToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dateTime","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"allocate5ProjectToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getProjectUsedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"market_communityStorageVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"allocateFundToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleStorageVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"allocate7ProjectToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMarket_CommunitUnusedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"allocate4ProjectToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"allocateMarket_CommunitTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"allocate3ProjectToken","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":"getProjectUnusedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"allocate2ProjectToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60606040526000600360146101000a81548160ff021916908315150217905550600060055560006006556000600760006101000a81548160ff0219169083151502179055506000600760016101000a81548160ff0219169083151502179055506000600760026101000a81548160ff0219169083151502179055506000600760036101000a81548160ff0219169083151502179055506000600760046101000a81548160ff0219169083151502179055506000600760056101000a81548160ff0219169083151502179055506000600760066101000a81548160ff02191690831515021790555060006007806101000a81548160ff0219169083151502179055506000600760086101000a81548160ff0219169083151502179055506000600760096101000a81548160ff02191690831515021790555034156200014257600080fd5b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069d3c21bcecceda10000006108340260008190555073a5b2f189552d3200ff393a38ccd90d63f3a99d086007600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507307d150a514eb394efe4879d530c4c6c710509da7600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d275ed1359f89251fbdecdcbc196b57ad71b851c600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ea426b782d7526d5236ff39515696cb096f5af0a600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a408529eb7a233808f4c37308ed52e02046e7b09600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006007600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555069d3c21bcecceda100000060690260016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555069d3c21bcecceda100000060690260016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000526600269d3c21bcecceda100000060d2026200064d64010000000002620036ee179091906401000000009004565b60068190555060065460016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200059e62000669565b604051809103906000f0801515620005b557600080fd5b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069d3c21bcecceda10000006105be02600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200067a565b60008082848115156200065c57fe5b0490508091505092915050565b604051610d258062003dbf83390190565b613735806200068a6000396000f3006060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101dd578063095ea7b31461026b5780630b611241146102c5578063115ecc581461031a57806318160ddd1461036f57806323b872dd146103985780632b22a18c146104115780632dd0e79e14610426578063313ce5671461044f57806331852a0214610478578063345b256a1461048d5780633f4ba83a146104e257806343c9a189146104f757806348c8cd411461050c578063492e333f146105615780635957ee49146105765780635c975abb1461059f57806366188463146105cc57806367ca1fdf1461062657806370a082311461067b57806383197ef0146106c85780638456cb59146106dd57806386c02e88146106f25780638da5cb5b1461070757806395a015051461075c57806395d89b41146107b1578063a9059cbb1461083f578063b407d1d214610899578063b7c7986f146108ae578063ca077f72146108d7578063d73dd623146108ec578063dd62ed3e14610946578063dfcb737f146109b2578063eaf4b6df146109c7578063f2fde38b146109dc578063f4320f0014610a15578063f5074f4114610a3e578063fb21364b14610a77575b600080fd5b34156101e857600080fd5b6101f0610a8c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610230578082015181840152602081019050610215565b50505050905090810190601f16801561025d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027657600080fd5b6102ab600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ac5565b604051808215151515815260200191505060405180910390f35b34156102d057600080fd5b6102d8610bb7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561032557600080fd5b61032d610bdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037a57600080fd5b610382610c03565b6040518082815260200191505060405180910390f35b34156103a357600080fd5b6103f7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c09565b604051808215151515815260200191505060405180910390f35b341561041c57600080fd5b610424610fc8565b005b341561043157600080fd5b61043961125f565b6040518082815260200191505060405180910390f35b341561045a57600080fd5b610462611269565b6040518082815260200191505060405180910390f35b341561048357600080fd5b61048b61126e565b005b341561049857600080fd5b6104a0611503565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ed57600080fd5b6104f5611529565b005b341561050257600080fd5b61050a6115e9565b005b341561051757600080fd5b61051f611880565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561056c57600080fd5b6105746118a6565b005b341561058157600080fd5b610589611b3d565b6040518082815260200191505060405180910390f35b34156105aa57600080fd5b6105b2611b47565b604051808215151515815260200191505060405180910390f35b34156105d757600080fd5b61060c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b5a565b604051808215151515815260200191505060405180910390f35b341561063157600080fd5b610639611deb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561068657600080fd5b6106b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e11565b6040518082815260200191505060405180910390f35b34156106d357600080fd5b6106db611e5a565b005b34156106e857600080fd5b6106f0611ef1565b005b34156106fd57600080fd5b610705611fb2565b005b341561071257600080fd5b61071a612225565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561076757600080fd5b61076f61224b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107bc57600080fd5b6107c4612271565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108045780820151818401526020810190506107e9565b50505050905090810190601f1680156108315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561084a57600080fd5b61087f600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506122aa565b604051808215151515815260200191505060405180910390f35b34156108a457600080fd5b6108ac6124ce565b005b34156108b957600080fd5b6108c1612765565b6040518082815260200191505060405180910390f35b34156108e257600080fd5b6108ea6127af565b005b34156108f757600080fd5b61092c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612a46565b604051808215151515815260200191505060405180910390f35b341561095157600080fd5b61099c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612c42565b6040518082815260200191505060405180910390f35b34156109bd57600080fd5b6109c5612cc9565b005b34156109d257600080fd5b6109da612f72565b005b34156109e757600080fd5b610a13600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613209565b005b3415610a2057600080fd5b610a28613361565b6040518082815260200191505060405180910390f35b3415610a4957600080fd5b610a75600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506133ab565b005b3415610a8257600080fd5b610a8a613420565b005b6040805190810160405280600881526020017f45636f7342616c6c00000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c4657600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c9457600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1f57600080fd5b610d7182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136b790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e0682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136b790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102457600080fd5b600360149054906101000a900460ff1615151561104057600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e5600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156110f757600080fd5b6102c65a03f1151561110857600080fd5b5050506040518051905042101561111e57600080fd5b600760099054906101000a900460ff161561113857600080fd5b6001600760096101000a81548160ff0219169083151502179055506111736a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506111f86a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600654905090565b601281565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ca57600080fd5b600360149054906101000a900460ff161515156112e657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e4600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b151561139d57600080fd5b6102c65a03f115156113ae57600080fd5b505050604051805190504210156113c457600080fd5b6007809054906101000a900460ff16156113dd57600080fd5b60016007806101000a81548160ff0219169083151502179055506114176a0adb53acfa41aee12000006005546136d090919063ffffffff16565b60058190555061149c6a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158557600080fd5b600360149054906101000a900460ff1615156115a057600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164557600080fd5b600360149054906101000a900460ff1615151561166157600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e26006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b151561171857600080fd5b6102c65a03f1151561172957600080fd5b5050506040518051905042101561173f57600080fd5b600760029054906101000a900460ff161561175957600080fd5b6001600760026101000a81548160ff0219169083151502179055506117946a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506118196a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561190257600080fd5b600360149054906101000a900460ff1615151561191e57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e46006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156119d557600080fd5b6102c65a03f115156119e657600080fd5b505050604051805190504210156119fc57600080fd5b600760069054906101000a900460ff1615611a1657600080fd5b6001600760066101000a81548160ff021916908315150217905550611a516a0adb53acfa41aee12000006005546136d090919063ffffffff16565b600581905550611ad66a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600554905090565b600360149054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611c6b576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cff565b611c7e83826136b790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eb657600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f4d57600080fd5b600360149054906101000a900460ff16151515611f6957600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200e57600080fd5b600360149054906101000a900460ff1615151561202a57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e36004600f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156120e157600080fd5b6102c65a03f115156120f257600080fd5b5050506040518051905042101561210857600080fd5b600760009054906101000a900460ff161561212257600080fd5b6001600760006101000a81548160ff0219169083151502179055506121be69d3c21bcecceda1000000606902600160006007600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600160006007600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f414241000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156122e757600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561233557600080fd5b61238782600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136b790919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061241c82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561252a57600080fd5b600360149054906101000a900460ff1615151561254657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e56006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156125fd57600080fd5b6102c65a03f1151561260e57600080fd5b5050506040518051905042101561262457600080fd5b600760089054906101000a900460ff161561263e57600080fd5b6001600760086101000a81548160ff0219169083151502179055506126796a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506126fe6a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008069d3c21bcecceda100000060d202600654111561278457600080fd5b6127a660065469d3c21bcecceda100000060d2026136b790919063ffffffff16565b90508091505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561280b57600080fd5b600360149054906101000a900460ff1615151561282757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e3600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156128de57600080fd5b6102c65a03f115156128ef57600080fd5b5050506040518051905042101561290557600080fd5b600760059054906101000a900460ff161561291f57600080fd5b6001600760056101000a81548160ff02191690831515021790555061295a6a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506129df6a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000612ad782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d2757600080fd5b600360149054906101000a900460ff16151515612d4357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e36004600f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b1515612dfa57600080fd5b6102c65a03f11515612e0b57600080fd5b50505060405180519050421015612e2157600080fd5b600760019054906101000a900460ff1615612e3b57600080fd5b6001600760016101000a81548160ff021916908315150217905550612e77600269d3c21bcecceda100000060d2026136ee90919063ffffffff16565b9050612e906006546006546136d090919063ffffffff16565b600681905550612f0a8160016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612fce57600080fd5b600360149054906101000a900460ff16151515612fea57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e36006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156130a157600080fd5b6102c65a03f115156130b257600080fd5b505050604051805190504210156130c857600080fd5b600760049054906101000a900460ff16156130e257600080fd5b6001600760046101000a81548160ff02191690831515021790555061311d6a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506131a26a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561326557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156132a157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008069d3c21bcecceda1000000606902600554111561338057600080fd5b6133a260055469d3c21bcecceda10000006069026136b790919063ffffffff16565b90508091505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561340757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561347c57600080fd5b600360149054906101000a900460ff1615151561349857600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e2600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b151561354f57600080fd5b6102c65a03f1151561356057600080fd5b5050506040518051905042101561357657600080fd5b600760039054906101000a900460ff161561359057600080fd5b6001600760036101000a81548160ff0219169083151502179055506135cb6a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506136506a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008282111515156136c557fe5b818303905092915050565b60008082840190508381101515156136e457fe5b8091505092915050565b60008082848115156136fc57fe5b04905080915050929150505600a165627a7a723058204624deb9a1756f79013fd278569b30be6c65dbda92e7552f630f29c1c4ad919a00296060604052341561000f57600080fd5b610d078061001e6000396000f3006060604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633e239e1a146100d55780634ac1ad781461011257806362ba96871461014f57806365c72840146101ba5780637f791833146101f75780638aa001fc146102565780638c8d98a0146102935780639054bdec146102e657806392d663131461035d578063a324ad241461039c578063a6f0e577146103d9578063b199993714610418578063b238ad0e1461044f578063fa93f8831461049c575b600080fd5b34156100e057600080fd5b6100f660048080359060200190919050506104d9565b604051808260ff1660ff16815260200191505060405180910390f35b341561011d57600080fd5b6101336004808035906020019091905050610506565b604051808260ff1660ff16815260200191505060405180910390f35b341561015a57600080fd5b6101a4600480803561ffff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190505061052d565b6040518082815260200191505060405180910390f35b34156101c557600080fd5b6101db6004808035906020019091905050610549565b604051808260ff1660ff16815260200191505060405180910390f35b341561020257600080fd5b610240600480803561ffff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190505061055f565b6040518082815260200191505060405180910390f35b341561026157600080fd5b610277600480803590602001909190505061057a565b604051808260ff1660ff16815260200191505060405180910390f35b341561029e57600080fd5b6102d0600480803561ffff1690602001909190803560ff1690602001909190803560ff16906020019091905050610590565b6040518082815260200191505060405180910390f35b34156102f157600080fd5b610347600480803561ffff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff169060200190919050506105ab565b6040518082815260200191505060405180910390f35b341561036857600080fd5b61037e6004808035906020019091905050610852565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156103a757600080fd5b6103bd60048080359060200190919050506108fd565b604051808260ff1660ff16815260200191505060405180910390f35b34156103e457600080fd5b6103fe600480803561ffff16906020019091905050610913565b604051808215151515815260200191505060405180910390f35b341561042357600080fd5b6104396004808035906020019091905050610994565b6040518082815260200191505060405180910390f35b341561045a57600080fd5b610480600480803560ff1690602001909190803561ffff169060200190919050506109cd565b604051808260ff1660ff16815260200191505060405180910390f35b34156104a757600080fd5b6104bd6004808035906020019091905050610a99565b604051808260ff1660ff16815260200191505060405180910390f35b60006018603c80848115156104ea57fe5b048115156104f457fe5b048115156104fe57fe5b069050919050565b600060076004620151808481151561051a57fe5b040181151561052557fe5b069050919050565b600061053e868686868660006105ab565b905095945050505050565b600061055482610aba565b604001519050919050565b6000610570858585856000806105ab565b9050949350505050565b6000603c8281151561058857fe5b069050919050565b60006105a284848460008060006105ab565b90509392505050565b6000806105b6610c5b565b6107b291505b8861ffff168261ffff1610156105ff576105d582610913565b156105e8576301e28500830192506105f2565b6301e13380830192505b81806001019250506105bc565b601f816000600c8110151561061057fe5b602002019060ff16908160ff168152505061062a89610913565b1561065657601d816001600c8110151561064057fe5b602002019060ff16908160ff1681525050610679565b601c816001600c8110151561066757fe5b602002019060ff16908160ff16815250505b601f816002600c8110151561068a57fe5b602002019060ff16908160ff1681525050601e816003600c811015156106ac57fe5b602002019060ff16908160ff1681525050601f816004600c811015156106ce57fe5b602002019060ff16908160ff1681525050601e816005600c811015156106f057fe5b602002019060ff16908160ff1681525050601f816006600c8110151561071257fe5b602002019060ff16908160ff1681525050601f816007600c8110151561073457fe5b602002019060ff16908160ff1681525050601e816008600c8110151561075657fe5b602002019060ff16908160ff1681525050601f816009600c8110151561077857fe5b602002019060ff16908160ff1681525050601e81600a600c8110151561079a57fe5b602002019060ff16908160ff1681525050601f81600b600c811015156107bc57fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff16101561081457806001830361ffff16600c811015156107f657fe5b602002015160ff1662015180028301925081806001019250506107d2565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b600080600080600092506301e133808581151561086b57fe5b046107b261ffff160191506108856107b261ffff16610994565b6108928361ffff16610994565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b848311156108f2576108ca60018303610913565b156108dd576301e28500830392506108e7565b6301e13380830392505b6001820391506108b6565b819350505050919050565b600061090882610aba565b602001519050919050565b60008060048361ffff1681151561092657fe5b0661ffff1614151561093b576000905061098f565b600060648361ffff1681151561094d57fe5b0661ffff16141515610962576001905061098f565b60006101908361ffff1681151561097557fe5b0661ffff1614151561098a576000905061098f565b600190505b919050565b6000600182039150610190828115156109a957fe5b046064838115156109b657fe5b046004848115156109c357fe5b0403019050919050565b600060018360ff1614806109e4575060038360ff16145b806109f2575060058360ff16145b80610a00575060078360ff16145b80610a0e575060088360ff16145b80610a1c5750600a8360ff16145b80610a2a5750600c8360ff16145b15610a3857601f9050610a93565b60048360ff161480610a4d575060068360ff16145b80610a5b575060098360ff16145b80610a695750600b8360ff16145b15610a7757601e9050610a93565b610a8082610913565b15610a8e57601d9050610a93565b601c90505b92915050565b6000603c8083811515610aa857fe5b04811515610ab257fe5b069050919050565b610ac2610c87565b60008060008060009350610ad586610852565b856000019061ffff16908161ffff1681525050610af76107b261ffff16610994565b610b08866000015161ffff16610994565b039250826301e285000284019350826107b286600001510361ffff16036301e133800284019350600191505b600c8260ff16111515610b8c57610b4f8286600001516109cd565b60ff1662015180029050858482011115610b7a5781856020019060ff16908160ff1681525050610b8c565b80840193508180600101925050610b34565b600191505b610ba3856020015186600001516109cd565b60ff168260ff16111515610bea57858462015180011115610bd55781856040019060ff16908160ff1681525050610bea565b62015180840193508180600101925050610b91565b610bf3866104d9565b856060019060ff16908160ff1681525050610c0d86610a99565b856080019060ff16908160ff1681525050610c278661057a565b8560a0019060ff16908160ff1681525050610c4186610506565b8560c0019060ff16908160ff168152505050505050919050565b61018060405190810160405280600c905b600060ff16815260200190600190039081610c6c5790505090565b60e060405190810160405280600061ffff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff16815250905600a165627a7a723058200e941a6e989bfe56cf743931da35188c0938f91c13254415aa79b106daaa4a080029

Deployed Bytecode

0x6060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101dd578063095ea7b31461026b5780630b611241146102c5578063115ecc581461031a57806318160ddd1461036f57806323b872dd146103985780632b22a18c146104115780632dd0e79e14610426578063313ce5671461044f57806331852a0214610478578063345b256a1461048d5780633f4ba83a146104e257806343c9a189146104f757806348c8cd411461050c578063492e333f146105615780635957ee49146105765780635c975abb1461059f57806366188463146105cc57806367ca1fdf1461062657806370a082311461067b57806383197ef0146106c85780638456cb59146106dd57806386c02e88146106f25780638da5cb5b1461070757806395a015051461075c57806395d89b41146107b1578063a9059cbb1461083f578063b407d1d214610899578063b7c7986f146108ae578063ca077f72146108d7578063d73dd623146108ec578063dd62ed3e14610946578063dfcb737f146109b2578063eaf4b6df146109c7578063f2fde38b146109dc578063f4320f0014610a15578063f5074f4114610a3e578063fb21364b14610a77575b600080fd5b34156101e857600080fd5b6101f0610a8c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610230578082015181840152602081019050610215565b50505050905090810190601f16801561025d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027657600080fd5b6102ab600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ac5565b604051808215151515815260200191505060405180910390f35b34156102d057600080fd5b6102d8610bb7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561032557600080fd5b61032d610bdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037a57600080fd5b610382610c03565b6040518082815260200191505060405180910390f35b34156103a357600080fd5b6103f7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c09565b604051808215151515815260200191505060405180910390f35b341561041c57600080fd5b610424610fc8565b005b341561043157600080fd5b61043961125f565b6040518082815260200191505060405180910390f35b341561045a57600080fd5b610462611269565b6040518082815260200191505060405180910390f35b341561048357600080fd5b61048b61126e565b005b341561049857600080fd5b6104a0611503565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ed57600080fd5b6104f5611529565b005b341561050257600080fd5b61050a6115e9565b005b341561051757600080fd5b61051f611880565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561056c57600080fd5b6105746118a6565b005b341561058157600080fd5b610589611b3d565b6040518082815260200191505060405180910390f35b34156105aa57600080fd5b6105b2611b47565b604051808215151515815260200191505060405180910390f35b34156105d757600080fd5b61060c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b5a565b604051808215151515815260200191505060405180910390f35b341561063157600080fd5b610639611deb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561068657600080fd5b6106b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e11565b6040518082815260200191505060405180910390f35b34156106d357600080fd5b6106db611e5a565b005b34156106e857600080fd5b6106f0611ef1565b005b34156106fd57600080fd5b610705611fb2565b005b341561071257600080fd5b61071a612225565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561076757600080fd5b61076f61224b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107bc57600080fd5b6107c4612271565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108045780820151818401526020810190506107e9565b50505050905090810190601f1680156108315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561084a57600080fd5b61087f600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506122aa565b604051808215151515815260200191505060405180910390f35b34156108a457600080fd5b6108ac6124ce565b005b34156108b957600080fd5b6108c1612765565b6040518082815260200191505060405180910390f35b34156108e257600080fd5b6108ea6127af565b005b34156108f757600080fd5b61092c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612a46565b604051808215151515815260200191505060405180910390f35b341561095157600080fd5b61099c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612c42565b6040518082815260200191505060405180910390f35b34156109bd57600080fd5b6109c5612cc9565b005b34156109d257600080fd5b6109da612f72565b005b34156109e757600080fd5b610a13600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613209565b005b3415610a2057600080fd5b610a28613361565b6040518082815260200191505060405180910390f35b3415610a4957600080fd5b610a75600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506133ab565b005b3415610a8257600080fd5b610a8a613420565b005b6040805190810160405280600881526020017f45636f7342616c6c00000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c4657600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c9457600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1f57600080fd5b610d7182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136b790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e0682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136b790919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102457600080fd5b600360149054906101000a900460ff1615151561104057600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e5600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156110f757600080fd5b6102c65a03f1151561110857600080fd5b5050506040518051905042101561111e57600080fd5b600760099054906101000a900460ff161561113857600080fd5b6001600760096101000a81548160ff0219169083151502179055506111736a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506111f86a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600654905090565b601281565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ca57600080fd5b600360149054906101000a900460ff161515156112e657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e4600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b151561139d57600080fd5b6102c65a03f115156113ae57600080fd5b505050604051805190504210156113c457600080fd5b6007809054906101000a900460ff16156113dd57600080fd5b60016007806101000a81548160ff0219169083151502179055506114176a0adb53acfa41aee12000006005546136d090919063ffffffff16565b60058190555061149c6a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158557600080fd5b600360149054906101000a900460ff1615156115a057600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164557600080fd5b600360149054906101000a900460ff1615151561166157600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e26006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b151561171857600080fd5b6102c65a03f1151561172957600080fd5b5050506040518051905042101561173f57600080fd5b600760029054906101000a900460ff161561175957600080fd5b6001600760026101000a81548160ff0219169083151502179055506117946a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506118196a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561190257600080fd5b600360149054906101000a900460ff1615151561191e57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e46006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156119d557600080fd5b6102c65a03f115156119e657600080fd5b505050604051805190504210156119fc57600080fd5b600760069054906101000a900460ff1615611a1657600080fd5b6001600760066101000a81548160ff021916908315150217905550611a516a0adb53acfa41aee12000006005546136d090919063ffffffff16565b600581905550611ad66a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600554905090565b600360149054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611c6b576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cff565b611c7e83826136b790919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eb657600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f4d57600080fd5b600360149054906101000a900460ff16151515611f6957600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200e57600080fd5b600360149054906101000a900460ff1615151561202a57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e36004600f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156120e157600080fd5b6102c65a03f115156120f257600080fd5b5050506040518051905042101561210857600080fd5b600760009054906101000a900460ff161561212257600080fd5b6001600760006101000a81548160ff0219169083151502179055506121be69d3c21bcecceda1000000606902600160006007600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600160006007600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f414241000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156122e757600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561233557600080fd5b61238782600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136b790919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061241c82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561252a57600080fd5b600360149054906101000a900460ff1615151561254657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e56006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156125fd57600080fd5b6102c65a03f1151561260e57600080fd5b5050506040518051905042101561262457600080fd5b600760089054906101000a900460ff161561263e57600080fd5b6001600760086101000a81548160ff0219169083151502179055506126796a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506126fe6a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008069d3c21bcecceda100000060d202600654111561278457600080fd5b6127a660065469d3c21bcecceda100000060d2026136b790919063ffffffff16565b90508091505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561280b57600080fd5b600360149054906101000a900460ff1615151561282757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e3600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156128de57600080fd5b6102c65a03f115156128ef57600080fd5b5050506040518051905042101561290557600080fd5b600760059054906101000a900460ff161561291f57600080fd5b6001600760056101000a81548160ff02191690831515021790555061295a6a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506129df6a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000612ad782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d2757600080fd5b600360149054906101000a900460ff16151515612d4357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e36004600f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b1515612dfa57600080fd5b6102c65a03f11515612e0b57600080fd5b50505060405180519050421015612e2157600080fd5b600760019054906101000a900460ff1615612e3b57600080fd5b6001600760016101000a81548160ff021916908315150217905550612e77600269d3c21bcecceda100000060d2026136ee90919063ffffffff16565b9050612e906006546006546136d090919063ffffffff16565b600681905550612f0a8160016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612fce57600080fd5b600360149054906101000a900460ff16151515612fea57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e36006601e6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b15156130a157600080fd5b6102c65a03f115156130b257600080fd5b505050604051805190504210156130c857600080fd5b600760049054906101000a900460ff16156130e257600080fd5b6001600760046101000a81548160ff02191690831515021790555061311d6a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506131a26a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561326557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156132a157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008069d3c21bcecceda1000000606902600554111561338057600080fd5b6133a260055469d3c21bcecceda10000006069026136b790919063ffffffff16565b90508091505090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561340757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16ff5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561347c57600080fd5b600360149054906101000a900460ff1615151561349857600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8d98a06107e2600c601f6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808461ffff1681526020018360ff1681526020018260ff1681526020019350505050602060405180830381600087803b151561354f57600080fd5b6102c65a03f1151561356057600080fd5b5050506040518051905042101561357657600080fd5b600760039054906101000a900460ff161561359057600080fd5b6001600760036101000a81548160ff0219169083151502179055506135cb6a0adb53acfa41aee12000006005546136d090919063ffffffff16565b6005819055506136506a0adb53acfa41aee120000060016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136d090919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b60008282111515156136c557fe5b818303905092915050565b60008082840190508381101515156136e457fe5b8091505092915050565b60008082848115156136fc57fe5b04905080915050929150505600a165627a7a723058204624deb9a1756f79013fd278569b30be6c65dbda92e7552f630f29c1c4ad919a0029

Swarm Source

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