ETH Price: $2,912.16 (-2.89%)
Gas: 6 Gwei

Token

NOA (NOA)
 

Overview

Max Total Supply

1,000,000,000 NOA

Holders

816 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

OVERVIEW

NOA token contract has migrated to 0x73474D0A549e32845F541e030C3d529de6ab8738

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
NOAToken

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-01-28
*/

// File: @openzeppelin/contracts/GSN/Context.sol

pragma solidity ^0.5.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }
}

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol

pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see {ERC20Detailed}.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: 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
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
    
    event Mint(address indexed account, uint256 amount);
}

// File: @openzeppelin/contracts/math/SafeMath.sol

pragma solidity ^0.5.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * _Available since v2.4.0._
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;


    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol

pragma solidity ^0.5.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20Mintable}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20};
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        
        emit Transfer(address(0), account, amount);
        emit Mint(account, amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

// File: @openzeppelin/contracts/access/Roles.sol

pragma solidity ^0.5.0;

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    /**
     * @dev Give an account access to this role.
     */
    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    /**
     * @dev Remove an account's access to this role.
     */
    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    /**
     * @dev Check if an account has this role.
     * @return bool
     */
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

// File: @openzeppelin/contracts/access/roles/MinterRole.sol

pragma solidity ^0.5.0;



contract MinterRole is Context {
    using Roles for Roles.Role;

    event MinterAdded(address indexed account);
    event MinterRemoved(address indexed account);

    Roles.Role private _minters;

    constructor () internal {
        _addMinter(_msgSender());
    }

    modifier onlyMinter() {
        require(isMinter(_msgSender()), "MinterRole: caller does not have the Minter role");
        _;
    }

    function isMinter(address account) public view returns (bool) {
        return _minters.has(account);
    }

    function _addMinter(address account) internal {
        _minters.add(account);
        emit MinterAdded(account);
    }

    function _removeMinter(address account) internal {
        _minters.remove(account);
        emit MinterRemoved(account);
    }
}

// File: @openzeppelin/contracts/token/ERC20/ERC20Mintable.sol

pragma solidity ^0.5.0;



/**
 * @dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},
 * which have permission to mint (create) new tokens as they see fit.
 *
 * At construction, the deployer of the contract is the only minter.
 */
contract ERC20Mintable is ERC20, MinterRole {
    
    /**
     * @dev See {ERC20-_mint}.amount
     *
     * Requirements:
     *
     * - the caller must have the {MinterRole}.
     */
    function mint(address account, uint256 amount) public onlyMinter returns (bool) {
        _mint(account, amount);
        return true;
    }
}

// File: @openzeppelin/contracts/token/ERC20/ERC20Capped.sol

pragma solidity ^0.5.0;


/**
 * @dev Extension of {ERC20Mintable} that adds a cap to the supply of tokens.
 */
contract ERC20Capped is ERC20Mintable {
    uint256 private _cap;

    /**
     * @dev Sets the value of the `cap`. This value is immutable, it can only be
     * set once during construction.
     */
    constructor (uint256 cap) public {
        require(cap > 0, "ERC20Capped: cap is 0");
        _cap = cap;
    }

    /**
     * @dev Returns the cap on the token's total supply.
     */
    /*
    function cap() public view returns (uint256) {
        return _cap;
    }
    */

    /**
     * @dev See {ERC20Mintable-mint}.
     *
     * Requirements:
     *
     * - `value` must not cause the total supply to go over the cap.
     */
    function _mint(address account, uint256 value) internal {
        require(totalSupply().add(value) <= _cap, "ERC20Capped: cap exceeded");
        super._mint(account, value);
    }
}

// File: @openzeppelin/contracts/token/ERC20/ERC20Detailed.sol

pragma solidity ^0.5.0;


/**
 * @dev Optional functions from the ERC20 standard.
 */
contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for `name`, `symbol`, and `decimals`. All three of
     * these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

pragma solidity >=0.5.0;


/**
 * @title NOA contract 
 */
contract NOAToken is ERC20Capped, ERC20Detailed {
    uint noOfTokens = 1000000000; // 1,000,000,000   
    
    uint publishedTimeStamp =  0;

    address internal vault;
    address internal owner;
    address internal admin;
    
    address internal sales;
    address internal team;
    address internal adviser;
    address internal bounty;
    address internal partner;
    address internal reserved;

    struct lockup {
        address addr;
        bool isEnabled;
        uint8 rule;
        uint256 withdrawalAmount;
        
        uint totalSupplyLocked;
        uint initialRate;
        uint increaseRate;
    }

    uint8 SALES_RULE    = 0;
    uint8 TEAM_RULE     = 1;
    uint8 ADVISER_RULE  = 2;
    uint8 PARTNER_RULE  = 3;
    uint8 RESERVE_RULE  = 4;
    
    uint32[10][] times;
    
    mapping(address => uint) private reserves;
    mapping(address => uint) private amountofWithdrawal;
    mapping(address => lockup) private listOfLocked;

    /**
       * modifier to limit access to the owner only
       */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * initialize ERC20
     *
     * all token will deposit into the vault
     * later, the vault, owner will be multi sign contract to protect privileged operations
     *
     * @param _symbol token symbol
     * @param _name   token name
     * @param _owner  owner address
     * @param _admin  admin address
     * @param _vault  vault address
     *
     * Cap the mintable amount to 1,000,000,000
     *
     */
     
    constructor (string memory _symbol, string memory _name, address _owner,
        address _admin, address _vault) ERC20Detailed(_name, _symbol, 9) ERC20Capped(1000000000000000000)
    public {
        require(bytes(_symbol).length > 0);
        require(bytes(_name).length > 0);

        owner = _owner;
        admin = _admin;
        vault = _vault;

        // mint coins to the vault
        _mint(vault, noOfTokens * (10 ** uint(decimals())));

        times.push([
            // Sales
            1 minutes, 90 days, 180 days,  270 days, 360 days, 
            450 days, 540 days, 630 days, 720 days, 810 days
        ]);
        
        times.push([
            // Team
            180 days, 270 days, 360 days, 450 days, 540 days, 
            630 days, 720 days, 810 days, 900 days, 990 days
        ]);
        
        times.push([
            // Adviser 
            150 days, 240 days, 330 days, 420 days, 510 days, 
            600 days, 690 days, 780 days, 870 days, 960 days
        ]);
        
        times.push([
            // Partner
            150 days, 240 days, 330 days, 420 days, 510 days, 
            600 days, 690 days, 780 days, 870 days, 960 days
        ]);
        
        times.push([
            // Reserve
            365 days,  730 days, 1095 days, 1460 days, 1825 days, 
            2190 days, 2555 days, 2920 days, 3285 days, 3650 days
        ]);
        
        publishedTimeStamp =  block.timestamp;
    }

    function releasedTokenAmount(address targetAddr) public view returns (uint256) {
        uint256 p = 0;
        uint utcNow = now;
        uint k = 0;
        
        uint8 id = listOfLocked[targetAddr].rule;
        uint32[10] memory lockupTable = times[id];
            
        for(k = 0 ; k < lockupTable.length ; k++) {
            if( (utcNow - publishedTimeStamp) >= lockupTable[k] ) {
                p = listOfLocked[targetAddr].initialRate + (k* listOfLocked[targetAddr].increaseRate);
            } else {
                break;
            }
        }
        
        p = (p > 100 ? 100 : p);
        return (uint(listOfLocked[targetAddr].totalSupplyLocked) /  100) * p;
    }
   
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_from != vault);
        require(_value <= balanceOf(_from).sub(reserves[_from]));
        return super.transferFrom(_from, _to, _value);
    }
    
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(address(msg.sender) != address(_to));
        
        uint spend =  0;
        uint maxiumToken = 0;
        
         if(listOfLocked[msg.sender].addr != address(0) &&
            listOfLocked[msg.sender].addr == address(msg.sender) &&
            listOfLocked[msg.sender].isEnabled == true) {
                
            maxiumToken = releasedTokenAmount(msg.sender);
            if(amountofWithdrawal[msg.sender] > 0) {
                spend = amountofWithdrawal[msg.sender];
            }
            require(maxiumToken >= _value + spend);
        }
        
        amountofWithdrawal[msg.sender] =  amountofWithdrawal[msg.sender] + _value;
        
        return super.transfer(_to, _value);
    }
    
    function removeLockup(address targetAddr) onlyOwner public returns (bool _result) {
      require(targetAddr != address(0));
      
      if(listOfLocked[targetAddr].isEnabled  == true) { 
           lockup memory item;
           item.isEnabled = false;
           item.totalSupplyLocked = 0;
           item.initialRate = 100;
           item.increaseRate= 0;
           
           listOfLocked[targetAddr] = item;
           
           return true;
       }
       
      return false;
    }
    
    function setLockup(uint8 ruleId, address targetAddr) onlyOwner public {
      require(ruleId >= SALES_RULE && ruleId < times.length);
      require(targetAddr != address(0));

       lockup memory item;
       
       item.addr = targetAddr;
       item.rule = ruleId;
       item.withdrawalAmount = 0;
    
       uint256 _totalOfAmount = noOfTokens * (10 ** uint(decimals()));
       if(ruleId == SALES_RULE) { 
           item.isEnabled = true;
           item.totalSupplyLocked = (uint(_totalOfAmount) /  100) * 15;
           item.initialRate = 20;
           item.increaseRate = 10;
       } else if(ruleId == TEAM_RULE) { 
           item.isEnabled = true;
           item.totalSupplyLocked = (uint(_totalOfAmount) /  100) * 16;
           item.initialRate = 20;
           item.increaseRate = 10;
       } else if(ruleId == ADVISER_RULE) { 
           item.isEnabled = true;
           item.totalSupplyLocked = (uint(_totalOfAmount) /  100) * 5;
           item.initialRate = 20;
           item.increaseRate = 10;
       } else if(ruleId == PARTNER_RULE) { 
           item.isEnabled = true;
           item.totalSupplyLocked = (uint(_totalOfAmount) /  100) * 10;
           item.initialRate = 20;
           item.increaseRate = 10;
       } else if(ruleId == RESERVE_RULE) { 
           item.isEnabled = true;
           item.totalSupplyLocked = (uint(_totalOfAmount) /  100) * 50;
           item.initialRate = 20;
           item.increaseRate = 20;
       } 
       
       listOfLocked[targetAddr] = item;
    }
    
    function getPublishedTimeStamp() public view returns (uint _result) {
        return (now - publishedTimeStamp);
    }
    
    function withdrawalOf(address _address) public view returns (uint _reserve) {
        return amountofWithdrawal[_address];
    }
}

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":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"withdrawalOf","outputs":[{"name":"_reserve","type":"uint256"}],"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":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"ruleId","type":"uint8"},{"name":"targetAddr","type":"address"}],"name":"setLockup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getPublishedTimeStamp","outputs":[{"name":"_result","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"targetAddr","type":"address"}],"name":"removeLockup","outputs":[{"name":"_result","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"targetAddr","type":"address"}],"name":"releasedTokenAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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"},{"inputs":[{"name":"_symbol","type":"string"},{"name":"_name","type":"string"},{"name":"_owner","type":"address"},{"name":"_admin","type":"address"},{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","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"},{"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":"account","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"}]

6080604052633b9aca0060085560006009556000601260146101000a81548160ff021916908360ff1602179055506001601260156101000a81548160ff021916908360ff1602179055506002601260166101000a81548160ff021916908360ff1602179055506003601260176101000a81548160ff021916908360ff1602179055506004601260186101000a81548160ff021916908360ff160217905550348015620000aa57600080fd5b50604051620038c2380380620038c2833981018060405260a0811015620000d057600080fd5b810190808051640100000000811115620000e957600080fd5b828101905060208101848111156200010057600080fd5b81518560018202830111640100000000821117156200011e57600080fd5b505092919060200180516401000000008111156200013b57600080fd5b828101905060208101848111156200015257600080fd5b81518560018202830111640100000000821117156200017057600080fd5b505092919060200180519060200190929190805190602001909291908051906020019092919050505083856009670de0b6b3a7640000620001d8620001c362000889640100000000026401000000009004565b62000891640100000000026401000000009004565b60008111151562000251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f45524332304361707065643a206361702069732030000000000000000000000081525060200191505060405180910390fd5b806004819055505082600590805190602001906200027192919062000ebf565b5081600690805190602001906200028a92919062000ebf565b5080600760006101000a81548160ff021916908360ff16021790555050505060008551111515620002ba57600080fd5b60008451111515620002cb57600080fd5b82600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003ed600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620003ce620008fb640100000000026401000000009004565b60ff16600a0a6008540262000912640100000000026401000000009004565b601361014060405190810160405280603c63ffffffff1681526020016276a70063ffffffff16815260200162ed4e0063ffffffff168152602001630163f50063ffffffff1681526020016301da9c0063ffffffff168152602001630251430063ffffffff1681526020016302c7ea0063ffffffff16815260200163033e910063ffffffff1681526020016303b5380063ffffffff16815260200163042bdf0063ffffffff168152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915090600a620004d092919062000f46565b505060136101406040519081016040528062ed4e0063ffffffff168152602001630163f50063ffffffff1681526020016301da9c0063ffffffff168152602001630251430063ffffffff1681526020016302c7ea0063ffffffff16815260200163033e910063ffffffff1681526020016303b5380063ffffffff16815260200163042bdf0063ffffffff1681526020016304a2860063ffffffff1681526020016305192d0063ffffffff168152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915090600a620005b992919062000f46565b505060136101406040519081016040528062c5c10063ffffffff16815260200163013c680063ffffffff1681526020016301b30f0063ffffffff168152602001630229b60063ffffffff1681526020016302a05d0063ffffffff168152602001630317040063ffffffff16815260200163038dab0063ffffffff168152602001630404520063ffffffff16815260200163047af90063ffffffff1681526020016304f1a00063ffffffff168152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915090600a620006a292919062000f46565b505060136101406040519081016040528062c5c10063ffffffff16815260200163013c680063ffffffff1681526020016301b30f0063ffffffff168152602001630229b60063ffffffff1681526020016302a05d0063ffffffff168152602001630317040063ffffffff16815260200163038dab0063ffffffff168152602001630404520063ffffffff16815260200163047af90063ffffffff1681526020016304f1a00063ffffffff168152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915090600a6200078b92919062000f46565b50506013610140604051908101604052806301e1338063ffffffff1681526020016303c2670063ffffffff1681526020016305a39a8063ffffffff168152602001630784ce0063ffffffff168152602001630966018063ffffffff168152602001630b47350063ffffffff168152602001630d28688063ffffffff168152602001630f099c0063ffffffff1681526020016310eacf8063ffffffff1681526020016312cc030063ffffffff168152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915090600a6200087592919062000f46565b50504260098190555050505050506200104e565b600033905090565b620008b5816003620009eb640100000000026200275b179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6000600760009054906101000a900460ff16905090565b60045462000950826200093362000ada640100000000026401000000009004565b62000ae46401000000000262001e21179091906401000000009004565b11151515620009c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f45524332304361707065643a206361702065786365656465640000000000000081525060200191505060405180910390fd5b620009e7828262000b6f64010000000002620024d3176401000000009004565b5050565b62000a06828262000d9b640100000000026401000000009004565b15151562000a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600254905090565b600080828401905083811015151562000b65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000c15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000c3a8160025462000ae46401000000000262001e21179091906401000000009004565b60028190555062000ca1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000ae46401000000000262001e21179091906401000000009004565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a25050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151562000e68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000f0257805160ff191683800117855562000f33565b8280016001018555821562000f33579182015b8281111562000f3257825182559160200191906001019062000f15565b5b50905062000f42919062000ff0565b5090565b82600a60070160089004810192821562000fdd5791602002820160005b8382111562000fa957835183826101000a81548163ffffffff021916908363ffffffff160217905550926020019260040160208160030104928301926001030262000f63565b801562000fdb5782816101000a81549063ffffffff021916905560040160208160030104928301926001030262000fa9565b505b50905062000fec919062001018565b5090565b6200101591905b808211156200101157600081600090555060010162000ff7565b5090565b90565b6200104b91905b808211156200104757600081816101000a81549063ffffffff0219169055506001016200101f565b5090565b90565b612864806200105e6000396000f3fe6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610101578063095ea7b31461019157806314bf9d2b1461020457806318160ddd1461026957806323b872dd14610294578063313ce56714610327578063395093511461035857806340c10f19146103cb5780634479839d1461043e5780636de4204d1461049c57806370a08231146104c757806395d89b411461052c578063a457c2d7146105bc578063a9059cbb1461062f578063aa271e1a146106a2578063bbdd91db1461070b578063d261585814610774578063dd62ed3e146107d9575b600080fd5b34801561010d57600080fd5b5061011661085e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015657808201518184015260208101905061013b565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019d57600080fd5b506101ea600480360360408110156101b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610900565b604051808215151515815260200191505060405180910390f35b34801561021057600080fd5b506102536004803603602081101561022757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061091e565b6040518082815260200191505060405180910390f35b34801561027557600080fd5b5061027e610967565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b5061030d600480360360608110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610971565b604051808215151515815260200191505060405180910390f35b34801561033357600080fd5b5061033c610a4c565b604051808260ff1660ff16815260200191505060405180910390f35b34801561036457600080fd5b506103b16004803603604081101561037b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a63565b604051808215151515815260200191505060405180910390f35b3480156103d757600080fd5b50610424600480360360408110156103ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b16565b604051808215151515815260200191505060405180910390f35b34801561044a57600080fd5b5061049a6004803603604081101561046157600080fd5b81019080803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd6565b005b3480156104a857600080fd5b506104b1610ffb565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b50610516600480360360208110156104ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611007565b6040518082815260200191505060405180910390f35b34801561053857600080fd5b5061054161104f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610581578082015181840152602081019050610566565b50505050905090810190601f1680156105ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105c857600080fd5b50610615600480360360408110156105df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110f1565b604051808215151515815260200191505060405180910390f35b34801561063b57600080fd5b506106886004803603604081101561065257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611202565b604051808215151515815260200191505060405180910390f35b3480156106ae57600080fd5b506106f1600480360360208110156106c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061151a565b604051808215151515815260200191505060405180910390f35b34801561071757600080fd5b5061075a6004803603602081101561072e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611537565b604051808215151515815260200191505060405180910390f35b34801561078057600080fd5b506107c36004803603602081101561079757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061176e565b6040518082815260200191505060405180910390f35b3480156107e557600080fd5b50610848600480360360408110156107fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119aa565b6040518082815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108f65780601f106108cb576101008083540402835291602001916108f6565b820191906000526020600020905b8154815290600101906020018083116108d957829003601f168201915b5050505050905090565b600061091461090d611a31565b8484611a39565b6001905092915050565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600254905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156109d057600080fd5b610a2a601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1c86611007565b611cba90919063ffffffff16565b8211151515610a3857600080fd5b610a43848484611d04565b90509392505050565b6000600760009054906101000a900460ff16905090565b6000610b0c610a70611a31565b84610b078560016000610a81611a31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2190919063ffffffff16565b611a39565b6001905092915050565b6000610b28610b23611a31565b61151a565b1515610bc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b610bcc8383611eab565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3257600080fd5b601260149054906101000a900460ff1660ff168260ff1610158015610c5e57506013805490508260ff16105b1515610c6957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ca557600080fd5b610cad6126de565b81816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816040019060ff16908160ff168152505060008160600181815250506000610d0c610a4c565b60ff16600a0a600854029050601260149054906101000a900460ff1660ff168460ff161415610d7a576001826020019015159081151581525050600f606482811515610d5457fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610f02565b601260159054906101000a900460ff1660ff168460ff161415610ddc5760018260200190151590811515815250506010606482811515610db657fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610f01565b601260169054906101000a900460ff1660ff168460ff161415610e3e5760018260200190151590811515815250506005606482811515610e1857fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610f00565b601260179054906101000a900460ff1660ff168460ff161415610ea0576001826020019015159081151581525050600a606482811515610e7a57fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610eff565b601260189054906101000a900460ff1660ff168460ff161415610efe5760018260200190151590811515815250506032606482811515610edc57fe5b040282608001818152505060148260a001818152505060148260c00181815250505b5b5b5b5b81601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160000160156101000a81548160ff021916908360ff160217905550606082015181600101556080820151816002015560a0820151816003015560c0820151816004015590505050505050565b60006009544203905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110e75780601f106110bc576101008083540402835291602001916110e7565b820191906000526020600020905b8154815290600101906020018083116110ca57829003601f168201915b5050505050905090565b60006111f86110fe611a31565b846111f385606060405190810160405280602581526020017f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7781526020017f207a65726f0000000000000000000000000000000000000000000000000000008152506001600061116c611a31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c9092919063ffffffff16565b611a39565b6001905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561123f57600080fd5b60008090506000809050600073ffffffffffffffffffffffffffffffffffffffff16601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561137557503373ffffffffffffffffffffffffffffffffffffffff16601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80156113d4575060011515601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460ff161515145b15611481576113e23361176e565b90506000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561146f57601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505b818401811015151561148057600080fd5b5b83601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611510858561200e565b9250505092915050565b600061153082600361202c90919063ffffffff16565b9050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156115d157600080fd5b60011515601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460ff1615151415611764576116356126de565b6000816020019015159081151581525050600081608001818152505060648160a001818152505060008160c001818152505080601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160000160156101000a81548160ff021916908360ff160217905550606082015181600101556080820151816002015560a0820151816003015560c082015181600401559050506001915050611769565b600090505b919050565b60008060009050600042905060008090506000601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160159054906101000a900460ff1690506117db612737565b60138260ff168154811015156117ed57fe5b9060005260206000209060020201600a806020026040519081016040528092919082600a801561185e576020028201916000905b82829054906101000a900463ffffffff1663ffffffff16815260200190600401906020826003010492830192600103820291508084116118215790505b50505050509050600092505b600a83101561193a578083600a8110151561188157fe5b602002015163ffffffff16600954850310151561192857601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401548302601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015401945061192d565b61193a565b828060010193505061186a565b60648511611948578461194b565b60645b9450846064601660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015481151561199c57fe5b040295505050505050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611bcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f45524332303a20617070726f766520746f20746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611cfc83836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f4c565b905092915050565b6000611d1184848461214f565b611e1684611d1d611a31565b611e1185606060405190810160405280602881526020017f45524332303a207472616e7366657220616d6f756e742065786365656473206181526020017f6c6c6f77616e6365000000000000000000000000000000000000000000000000815250600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611dc7611a31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c9092919063ffffffff16565b611a39565b600190509392505050565b6000808284019050838110151515611ea1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600454611ec882611eba610967565b611e2190919063ffffffff16565b11151515611f3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f45524332304361707065643a206361702065786365656465640000000000000081525060200191505060405180910390fd5b611f4882826124d3565b5050565b60008383111582901515611ffb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611fc0578082015181840152602081019050611fa5565b50505050905090810190601f168015611fed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061202261201b611a31565b848461214f565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561221a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f45524332303a207472616e736665722066726f6d20746865207a65726f20616481526020017f647265737300000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156122e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f45524332303a207472616e7366657220746f20746865207a65726f206164647281526020017f657373000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61239481606060405190810160405280602681526020017f45524332303a207472616e7366657220616d6f756e742065786365656473206281526020017f616c616e636500000000000000000000000000000000000000000000000000008152506000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612427816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61258d81600254611e2190919063ffffffff16565b6002819055506125e4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a25050565b60e060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600060ff168152602001600081526020016000815260200160008152602001600081525090565b61014060405190810160405280600a90602082028038833980820191505090505090565b612765828261202c565b1515156127da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fea165627a7a72305820dc2a24b4866acbd51ad669d9425d41edba74d48ae8ea5ea891d11b3f995e2c6e002900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da56000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da56000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da5600000000000000000000000000000000000000000000000000000000000000034e4f41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034e4f410000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610101578063095ea7b31461019157806314bf9d2b1461020457806318160ddd1461026957806323b872dd14610294578063313ce56714610327578063395093511461035857806340c10f19146103cb5780634479839d1461043e5780636de4204d1461049c57806370a08231146104c757806395d89b411461052c578063a457c2d7146105bc578063a9059cbb1461062f578063aa271e1a146106a2578063bbdd91db1461070b578063d261585814610774578063dd62ed3e146107d9575b600080fd5b34801561010d57600080fd5b5061011661085e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015657808201518184015260208101905061013b565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019d57600080fd5b506101ea600480360360408110156101b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610900565b604051808215151515815260200191505060405180910390f35b34801561021057600080fd5b506102536004803603602081101561022757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061091e565b6040518082815260200191505060405180910390f35b34801561027557600080fd5b5061027e610967565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b5061030d600480360360608110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610971565b604051808215151515815260200191505060405180910390f35b34801561033357600080fd5b5061033c610a4c565b604051808260ff1660ff16815260200191505060405180910390f35b34801561036457600080fd5b506103b16004803603604081101561037b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a63565b604051808215151515815260200191505060405180910390f35b3480156103d757600080fd5b50610424600480360360408110156103ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b16565b604051808215151515815260200191505060405180910390f35b34801561044a57600080fd5b5061049a6004803603604081101561046157600080fd5b81019080803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd6565b005b3480156104a857600080fd5b506104b1610ffb565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b50610516600480360360208110156104ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611007565b6040518082815260200191505060405180910390f35b34801561053857600080fd5b5061054161104f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610581578082015181840152602081019050610566565b50505050905090810190601f1680156105ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105c857600080fd5b50610615600480360360408110156105df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110f1565b604051808215151515815260200191505060405180910390f35b34801561063b57600080fd5b506106886004803603604081101561065257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611202565b604051808215151515815260200191505060405180910390f35b3480156106ae57600080fd5b506106f1600480360360208110156106c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061151a565b604051808215151515815260200191505060405180910390f35b34801561071757600080fd5b5061075a6004803603602081101561072e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611537565b604051808215151515815260200191505060405180910390f35b34801561078057600080fd5b506107c36004803603602081101561079757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061176e565b6040518082815260200191505060405180910390f35b3480156107e557600080fd5b50610848600480360360408110156107fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119aa565b6040518082815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108f65780601f106108cb576101008083540402835291602001916108f6565b820191906000526020600020905b8154815290600101906020018083116108d957829003601f168201915b5050505050905090565b600061091461090d611a31565b8484611a39565b6001905092915050565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600254905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156109d057600080fd5b610a2a601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1c86611007565b611cba90919063ffffffff16565b8211151515610a3857600080fd5b610a43848484611d04565b90509392505050565b6000600760009054906101000a900460ff16905090565b6000610b0c610a70611a31565b84610b078560016000610a81611a31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2190919063ffffffff16565b611a39565b6001905092915050565b6000610b28610b23611a31565b61151a565b1515610bc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b610bcc8383611eab565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3257600080fd5b601260149054906101000a900460ff1660ff168260ff1610158015610c5e57506013805490508260ff16105b1515610c6957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ca557600080fd5b610cad6126de565b81816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816040019060ff16908160ff168152505060008160600181815250506000610d0c610a4c565b60ff16600a0a600854029050601260149054906101000a900460ff1660ff168460ff161415610d7a576001826020019015159081151581525050600f606482811515610d5457fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610f02565b601260159054906101000a900460ff1660ff168460ff161415610ddc5760018260200190151590811515815250506010606482811515610db657fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610f01565b601260169054906101000a900460ff1660ff168460ff161415610e3e5760018260200190151590811515815250506005606482811515610e1857fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610f00565b601260179054906101000a900460ff1660ff168460ff161415610ea0576001826020019015159081151581525050600a606482811515610e7a57fe5b040282608001818152505060148260a0018181525050600a8260c0018181525050610eff565b601260189054906101000a900460ff1660ff168460ff161415610efe5760018260200190151590811515815250506032606482811515610edc57fe5b040282608001818152505060148260a001818152505060148260c00181815250505b5b5b5b5b81601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160000160156101000a81548160ff021916908360ff160217905550606082015181600101556080820151816002015560a0820151816003015560c0820151816004015590505050505050565b60006009544203905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110e75780601f106110bc576101008083540402835291602001916110e7565b820191906000526020600020905b8154815290600101906020018083116110ca57829003601f168201915b5050505050905090565b60006111f86110fe611a31565b846111f385606060405190810160405280602581526020017f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7781526020017f207a65726f0000000000000000000000000000000000000000000000000000008152506001600061116c611a31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c9092919063ffffffff16565b611a39565b6001905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561123f57600080fd5b60008090506000809050600073ffffffffffffffffffffffffffffffffffffffff16601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561137557503373ffffffffffffffffffffffffffffffffffffffff16601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80156113d4575060011515601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460ff161515145b15611481576113e23361176e565b90506000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561146f57601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505b818401811015151561148057600080fd5b5b83601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611510858561200e565b9250505092915050565b600061153082600361202c90919063ffffffff16565b9050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156115d157600080fd5b60011515601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460ff1615151415611764576116356126de565b6000816020019015159081151581525050600081608001818152505060648160a001818152505060008160c001818152505080601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160000160156101000a81548160ff021916908360ff160217905550606082015181600101556080820151816002015560a0820151816003015560c082015181600401559050506001915050611769565b600090505b919050565b60008060009050600042905060008090506000601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160159054906101000a900460ff1690506117db612737565b60138260ff168154811015156117ed57fe5b9060005260206000209060020201600a806020026040519081016040528092919082600a801561185e576020028201916000905b82829054906101000a900463ffffffff1663ffffffff16815260200190600401906020826003010492830192600103820291508084116118215790505b50505050509050600092505b600a83101561193a578083600a8110151561188157fe5b602002015163ffffffff16600954850310151561192857601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401548302601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015401945061192d565b61193a565b828060010193505061186a565b60648511611948578461194b565b60645b9450846064601660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015481151561199c57fe5b040295505050505050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611bcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f45524332303a20617070726f766520746f20746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611cfc83836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f4c565b905092915050565b6000611d1184848461214f565b611e1684611d1d611a31565b611e1185606060405190810160405280602881526020017f45524332303a207472616e7366657220616d6f756e742065786365656473206181526020017f6c6c6f77616e6365000000000000000000000000000000000000000000000000815250600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611dc7611a31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c9092919063ffffffff16565b611a39565b600190509392505050565b6000808284019050838110151515611ea1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600454611ec882611eba610967565b611e2190919063ffffffff16565b11151515611f3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f45524332304361707065643a206361702065786365656465640000000000000081525060200191505060405180910390fd5b611f4882826124d3565b5050565b60008383111582901515611ffb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611fc0578082015181840152602081019050611fa5565b50505050905090810190601f168015611fed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061202261201b611a31565b848461214f565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561221a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f45524332303a207472616e736665722066726f6d20746865207a65726f20616481526020017f647265737300000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156122e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f45524332303a207472616e7366657220746f20746865207a65726f206164647281526020017f657373000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61239481606060405190810160405280602681526020017f45524332303a207472616e7366657220616d6f756e742065786365656473206281526020017f616c616e636500000000000000000000000000000000000000000000000000008152506000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612427816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61258d81600254611e2190919063ffffffff16565b6002819055506125e4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a25050565b60e060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600060ff168152602001600081526020016000815260200160008152602001600081525090565b61014060405190810160405280600a90602082028038833980820191505090505090565b612765828261202c565b1515156127da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fea165627a7a72305820dc2a24b4866acbd51ad669d9425d41edba74d48ae8ea5ea891d11b3f995e2c6e0029

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da56000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da56000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da5600000000000000000000000000000000000000000000000000000000000000034e4f41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034e4f410000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _symbol (string): NOA
Arg [1] : _name (string): NOA
Arg [2] : _owner (address): 0xf7a8c796129c648C12dbF7BfDfB8B9Fccaf7dA56
Arg [3] : _admin (address): 0xf7a8c796129c648C12dbF7BfDfB8B9Fccaf7dA56
Arg [4] : _vault (address): 0xf7a8c796129c648C12dbF7BfDfB8B9Fccaf7dA56

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da56
Arg [3] : 000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da56
Arg [4] : 000000000000000000000000f7a8c796129c648c12dbf7bfdfb8b9fccaf7da56
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4e4f410000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [8] : 4e4f410000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

22092:7300:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21085:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21085:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;21085:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11969:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11969:152:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11969:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29259:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29259:130:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;29259:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10990:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10990:91:0;;;;;;;;;;;;;;;;;;;;;;;25937:253;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25937:253:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25937:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21937:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21937:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13306:210;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13306:210:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13306:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19177:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19177:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19177:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27552:1563;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27552:1563:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27552:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29127:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29127:120:0;;;;;;;;;;;;;;;;;;;;;;;11144:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11144:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11144:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21287:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21287:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;21287:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14019:261;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14019:261:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14019:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26202:814;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26202:814:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26202:814:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18260:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18260:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18260:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27028:512;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27028:512:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27028:512:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25218:708;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25218:708:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25218:708:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11688:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11688:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11688:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21085:83;21122:13;21155:5;21148:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21085:83;:::o;11969:152::-;12035:4;12052:39;12061:12;:10;:12::i;:::-;12075:7;12084:6;12052:8;:39::i;:::-;12109:4;12102:11;;11969:152;;;;:::o;29259:130::-;29320:13;29353:18;:28;29372:8;29353:28;;;;;;;;;;;;;;;;29346:35;;29259:130;;;:::o;10990:91::-;11034:7;11061:12;;11054:19;;10990:91;:::o;25937:253::-;26019:4;26053:5;;;;;;;;;;;26044:14;;:5;:14;;;;26036:23;;;;;;;;26088:37;26109:8;:15;26118:5;26109:15;;;;;;;;;;;;;;;;26088:16;26098:5;26088:9;:16::i;:::-;:20;;:37;;;;:::i;:::-;26078:6;:47;;26070:56;;;;;;;;26144:38;26163:5;26170:3;26175:6;26144:18;:38::i;:::-;26137:45;;25937:253;;;;;:::o;21937:83::-;21978:5;22003:9;;;;;;;;;;;21996:16;;21937:83;:::o;13306:210::-;13386:4;13403:83;13412:12;:10;:12::i;:::-;13426:7;13435:50;13474:10;13435:11;:25;13447:12;:10;:12::i;:::-;13435:25;;;;;;;;;;;;;;;:34;13461:7;13435:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13403:8;:83::i;:::-;13504:4;13497:11;;13306:210;;;;:::o;19177:143::-;19251:4;18157:22;18166:12;:10;:12::i;:::-;18157:8;:22::i;:::-;18149:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19268:22;19274:7;19283:6;19268:5;:22::i;:::-;19308:4;19301:11;;19177:143;;;;:::o;27552:1563::-;23229:5;;;;;;;;;;;23215:19;;:10;:19;;;23207:28;;;;;;;;27649:10;;;;;;;;;;;27639:20;;:6;:20;;;;:45;;;;;27672:5;:12;;;;27663:6;:21;;;27639:45;27631:54;;;;;;;;27724:1;27702:24;;:10;:24;;;;27694:33;;;;;;;;27739:18;;:::i;:::-;27788:10;27776:4;:9;;:22;;;;;;;;;;;27820:6;27808:4;:9;;:18;;;;;;;;;;;27860:1;27836:4;:21;;:25;;;;;27877:22;27927:10;:8;:10::i;:::-;27922:16;;27916:2;:22;27902:10;;:37;27877:62;;27962:10;;;;;;;;;;;27952:20;;:6;:20;;;27949:1108;;;28006:4;27989;:14;;:21;;;;;;;;;;;28081:2;28074:3;28055:14;28050:27;;;;;;;;28049:34;28024:4;:22;;:59;;;;;28116:2;28097:4;:16;;:21;;;;;28152:2;28132:4;:17;;:22;;;;;27949:1108;;;28184:9;;;;;;;;;;;28174:19;;:6;:19;;;28171:886;;;28227:4;28210;:14;;:21;;;;;;;;;;;28302:2;28295:3;28276:14;28271:27;;;;;;;;28270:34;28245:4;:22;;:59;;;;;28337:2;28318:4;:16;;:21;;;;;28373:2;28353:4;:17;;:22;;;;;28171:886;;;28405:12;;;;;;;;;;;28395:22;;:6;:22;;;28392:665;;;28451:4;28434;:14;;:21;;;;;;;;;;;28526:1;28519:3;28500:14;28495:27;;;;;;;;28494:33;28469:4;:22;;:58;;;;;28560:2;28541:4;:16;;:21;;;;;28596:2;28576:4;:17;;:22;;;;;28392:665;;;28628:12;;;;;;;;;;;28618:22;;:6;:22;;;28615:442;;;28674:4;28657;:14;;:21;;;;;;;;;;;28749:2;28742:3;28723:14;28718:27;;;;;;;;28717:34;28692:4;:22;;:59;;;;;28784:2;28765:4;:16;;:21;;;;;28820:2;28800:4;:17;;:22;;;;;28615:442;;;28852:12;;;;;;;;;;;28842:22;;:6;:22;;;28839:218;;;28898:4;28881;:14;;:21;;;;;;;;;;;28973:2;28966:3;28947:14;28942:27;;;;;;;;28941:34;28916:4;:22;;:59;;;;;29008:2;28989:4;:16;;:21;;;;;29044:2;29024:4;:17;;:22;;;;;28839:218;28615:442;28392:665;28171:886;27949:1108;29103:4;29076:12;:24;29089:10;29076:24;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23246:1;;27552:1563;;:::o;29127:120::-;29181:12;29220:18;;29214:3;:24;29206:33;;29127:120;:::o;11144:110::-;11201:7;11228:9;:18;11238:7;11228:18;;;;;;;;;;;;;;;;11221:25;;11144:110;;;:::o;21287:87::-;21326:13;21359:7;21352:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21287:87;:::o;14019:261::-;14104:4;14121:129;14130:12;:10;:12::i;:::-;14144:7;14153:96;14192:15;14153:96;;;;;;;;;;;;;;;;;;;;;;;:11;:25;14165:12;:10;:12::i;:::-;14153:25;;;;;;;;;;;;;;;:34;14179:7;14153:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;14121:8;:129::i;:::-;14268:4;14261:11;;14019:261;;;;:::o;26202:814::-;26265:4;26321:3;26290:35;;26298:10;26290:35;;;;26282:44;;;;;;;;26347:10;26361:1;26347:15;;26373:16;26392:1;26373:20;;26459:1;26418:43;;:12;:24;26431:10;26418:24;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;;:112;;;;;26519:10;26478:52;;:12;:24;26491:10;26478:24;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:52;;;26418:112;:171;;;;;26585:4;26547:42;;:12;:24;26560:10;26547:24;;;;;;;;;;;;;;;:34;;;;;;;;;;;;:42;;;26418:171;26415:445;;;26638:31;26658:10;26638:19;:31::i;:::-;26624:45;;26720:1;26687:18;:30;26706:10;26687:30;;;;;;;;;;;;;;;;:34;26684:112;;;26750:18;:30;26769:10;26750:30;;;;;;;;;;;;;;;;26742:38;;26684:112;26842:5;26833:6;:14;26818:11;:29;;26810:38;;;;;;;;26415:445;26947:6;26914:18;:30;26933:10;26914:30;;;;;;;;;;;;;;;;:39;26880:18;:30;26899:10;26880:30;;;;;;;;;;;;;;;:73;;;;26981:27;26996:3;27001:6;26981:14;:27::i;:::-;26974:34;;;;26202:814;;;;:::o;18260:109::-;18316:4;18340:21;18353:7;18340:8;:12;;:21;;;;:::i;:::-;18333:28;;18260:109;;;:::o;27028:512::-;27096:12;23229:5;;;;;;;;;;;23215:19;;:10;:19;;;23207:28;;;;;;;;27149:1;27127:24;;:10;:24;;;;27119:33;;;;;;;;27211:4;27172:43;;:12;:24;27185:10;27172:24;;;;;;;;;;;;;;;:34;;;;;;;;;;;;:43;;;27169:334;;;27232:18;;:::i;:::-;27281:5;27264:4;:14;;:22;;;;;;;;;;;27325:1;27300:4;:22;;:26;;;;;27359:3;27340:4;:16;;:22;;;;;27395:1;27376:4;:17;;:20;;;;;27450:4;27423:12;:24;27436:10;27423:24;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27488:4;27481:11;;;;;27169:334;27527:5;27520:12;;23246:1;27028:512;;;:::o;25218:708::-;25288:7;25308:9;25320:1;25308:13;;25332:11;25346:3;25332:17;;25360:6;25369:1;25360:10;;25391:8;25402:12;:24;25415:10;25402:24;;;;;;;;;;;;;;;:29;;;;;;;;;;;;25391:40;;25442:29;;:::i;:::-;25474:5;25480:2;25474:9;;;;;;;;;;;;;;;;;;;;;;25442:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25516:1;25512:5;;25508:288;25524:18;25520:1;:22;25508:288;;;25602:11;25614:1;25602:14;;;;;;;;;;;;;25569:47;;25579:18;;25570:6;:27;25569:47;;25565:220;;;25685:12;:24;25698:10;25685:24;;;;;;;;;;;;;;;:37;;;25682:1;:40;25642:12;:24;25655:10;25642:24;;;;;;;;;;;;;;;:36;;;:81;25638:85;;25565:220;;;25764:5;;25565:220;25545:3;;;;;;;25508:288;;;25825:3;25821:1;:7;:17;;25837:1;25821:17;;;25831:3;25821:17;25816:23;;25917:1;25910:3;25863:12;:24;25876:10;25863:24;;;;;;;;;;;;;;;:42;;;25858:55;;;;;;;;25857:61;25850:68;;;;;;;25218:708;;;:::o;11688:134::-;11760:7;11787:11;:18;11799:5;11787:18;;;;;;;;;;;;;;;:27;11806:7;11787:27;;;;;;;;;;;;;;;;11780:34;;11688:134;;;;:::o;858:98::-;903:15;938:10;931:17;;858:98;:::o;16317:338::-;16428:1;16411:19;;:5;:19;;;;16403:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16509:1;16490:21;;:7;:21;;;;16482:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16593:6;16563:11;:18;16575:5;16563:18;;;;;;;;;;;;;;;:27;16582:7;16563:27;;;;;;;;;;;;;;;:36;;;;16631:7;16615:32;;16624:5;16615:32;;;16640:6;16615:32;;;;;;;;;;;;;;;;;;16317:338;;;:::o;5276:136::-;5334:7;5361:43;5365:1;5368;5361:43;;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5354:50;;5276:136;;;;:::o;12593:304::-;12682:4;12699:36;12709:6;12717:9;12728:6;12699:9;:36::i;:::-;12746:121;12755:6;12763:12;:10;:12::i;:::-;12777:89;12815:6;12777:89;;;;;;;;;;;;;;;;;;;;;;;:11;:19;12789:6;12777:19;;;;;;;;;;;;;;;:33;12797:12;:10;:12::i;:::-;12777:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12746:8;:121::i;:::-;12885:4;12878:11;;12593:304;;;;;:::o;4820:181::-;4878:7;4898:9;4914:1;4910;:5;4898:17;;4939:1;4934;:6;;4926:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4992:1;4985:8;;;4820:181;;;;:::o;20183:183::-;20286:4;;20258:24;20276:5;20258:13;:11;:13::i;:::-;:17;;:24;;;;:::i;:::-;:32;;20250:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20331:27;20343:7;20352:5;20331:11;:27::i;:::-;20183:183;;:::o;5749:194::-;5835:7;5868:1;5863;:6;;5871:12;5855:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5855:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5895:9;5911:1;5907;:5;5895:17;;5930:1;5923:8;;;5749:194;;;;;:::o;11467:158::-;11536:4;11553:42;11563:12;:10;:12::i;:::-;11577:9;11588:6;11553:9;:42::i;:::-;11613:4;11606:11;;11467:158;;;;:::o;17525:203::-;17597:4;17641:1;17622:21;;:7;:21;;;;17614:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17700:4;:11;;:20;17712:7;17700:20;;;;;;;;;;;;;;;;;;;;;;;;;17693:27;;17525:203;;;;:::o;14770:471::-;14886:1;14868:20;;:6;:20;;;;14860:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14970:1;14949:23;;:9;:23;;;;14941:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15045;15067:6;15045:71;;;;;;;;;;;;;;;;;;;;;;;:9;:17;15055:6;15045:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;15025:9;:17;15035:6;15025:17;;;;;;;;;;;;;;;:91;;;;15150:32;15175:6;15150:9;:20;15160:9;15150:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15127:9;:20;15137:9;15127:20;;;;;;;;;;;;;;;:55;;;;15215:9;15198:35;;15207:6;15198:35;;;15226:6;15198:35;;;;;;;;;;;;;;;;;;14770:471;;;:::o;15522:355::-;15617:1;15598:21;;:7;:21;;;;15590:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15683:24;15700:6;15683:12;;:16;;:24;;;;:::i;:::-;15668:12;:39;;;;15739:30;15762:6;15739:9;:18;15749:7;15739:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;15718:9;:18;15728:7;15718:18;;;;;;;;;;;;;;;:51;;;;15816:7;15795:37;;15812:1;15795:37;;;15825:6;15795:37;;;;;;;;;;;;;;;;;;15853:7;15848:21;;;15862:6;15848:21;;;;;;;;;;;;;;;;;;15522:355;;:::o;22092:7300::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;22092:7300:0;;;;:::o;16989:178::-;17067:18;17071:4;17077:7;17067:3;:18::i;:::-;17066:19;17058:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17155:4;17132;:11;;:20;17144:7;17132:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;16989:178;;:::o

Swarm Source

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