ETH Price: $2,642.94 (+0.62%)

Token

Nexus (NEX)
 

Overview

Max Total Supply

232,833.914598648279442897 NEX

Holders

222

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Null: 0x000...000
Balance
0 NEX

Value
$0.00
0x0000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Nexus

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-06-03
*/

pragma solidity ^0.5.17;

/*************************
**************************
* https://nexus-dapp.com *
**************************
*************************/

contract Nexus {

    /*=================================
    =            MODIFIERS            =
    =================================*/

    /// @dev Only people with tokens
    modifier onlyBagholders {
        require(myTokens(msg.sender) > 0);
        _;
    }

    /// @dev Only people with profits
    modifier onlySetherghands {
        require(myDividends(true, msg.sender) > 0);
        _;
    }


    /// @dev isControlled
    modifier isControlled() {
      require(isStarted());
      _;
    }

    /*==============================
    =            EVENTS            =
    ==============================*/

    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingEther,
        uint256 tokensMinted,
        address indexed referredBy,
        uint timestamp,
        uint256 price
    );

    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 etherEarned,
        uint timestamp,
        uint256 price
    );

    event onReinvestment(
        address indexed customerAddress,
        uint256 etherReinvested,
        uint256 tokensMinted
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 etherWithdrawn
    );

    // ERC20
    event Transfer(
        address indexed from,
        address indexed to,
        uint256 tokens
    );
	
    event Approval(
		address indexed admin, 
		address indexed spender, 
		uint256 value
	);

    /*=====================================
    =            CONFIGURABLES            =
    =====================================*/

    string public name = "Nexus";
    string public symbol = "NEX";
    uint8 constant public decimals = 18;

    /// @dev 5% dividends for token selling
    uint8 constant internal exitFee_ = 5;

    /// @dev 33% masternode
    uint8 constant internal refferalFee_ = 30;

    /// @dev P3D pricing
    uint256 constant internal tokenPriceInitial_ = 0.00000001 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.000000001 ether;

    uint256 constant internal magnitude = 2 ** 64;

    /// @dev 100 needed for masternode activation
    uint256 public stakingRequirement = 100e18;

    /// @dev light the marketing
    address payable public marketing;
	
	// @dev ERC20 allowances
	mapping (address => mapping (address => uint256)) private _allowances;


   /*=================================
    =            DATASETS            =
    ================================*/

    // amount of shares for each address (scaled number)
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => int256) public payoutsTo_;
    mapping(address => uint256) public referralBalance_;
	
	// referrers
	mapping(address => address) public referrers_;	
    
	uint256 public jackPot_;
	address payable public jackPotPretender_;	
	uint256 public jackPotStartTime_;
	
    uint256 internal tokenSupply_;
    uint256 internal profitPerShare_;
    uint256 public depositCount_;


    /*=======================================
    =            CONSTRUCTOR                =
    =======================================*/

   constructor (address payable _marketing) public {

		marketing = _marketing;
		jackPotStartTime_ = now;
		jackPot_ = 20 ether;
 
   }

    /*=======================================
    =            PUBLIC FUNCTIONS           =
    =======================================*/

    /**
     * @dev Fallback function to handle ethereum that was send straight to the contract
     *  Unfortunately we cannot use a referral address this way.
     */
    
	function() external isControlled payable  {	
        purchaseTokens(msg.value, address(0x0), msg.sender);
    }

    /// @dev Converts all incoming ether to tokens for the caller, and passes down the referral addy (if any)
    function buyNEX(address _referredBy) isControlled public payable  returns (uint256) {
        purchaseTokens(msg.value, _referredBy , msg.sender);
    }

    /// @dev Converts to tokens on behalf of the customer - this allows gifting and integration with other systems
    function purchaseFor(address _referredBy, address payable _customerAddress) isControlled public payable returns (uint256) {
        purchaseTokens(msg.value, _referredBy , _customerAddress);
    }

    /// @dev Converts all of caller's dividends to tokens.
    function reinvest() onlySetherghands public {
        // fetch dividends
        uint256 _dividends = myDividends(false, msg.sender); // retrieve ref. bonus later in the code

        // pay out the dividends virtually
        address payable _customerAddress = msg.sender;
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);

        // retrieve ref. bonus
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        // dispatch a buy order with the virtualized "withdrawn dividends"
        uint256 _tokens = purchaseTokens(_dividends, address(0x0) , _customerAddress);

        // fire event
        emit onReinvestment(_customerAddress, _dividends, _tokens);
    }
	
	/// @dev The new user welcome function
    function reg() public returns(bool) {	
		return true;
	}
	
    /// @dev Alias of sell() and withdraw().
    function exit() public {
        // get token count for caller & sell them all
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if (_tokens > 0) sell(_tokens);

        // capitulation
        withdraw();
    }

    /// @dev Withdraws all of the callers earnings.
    function withdraw() onlySetherghands public {
        // setup data
        address payable _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false, msg.sender); // get ref. bonus later in the code

        // update dividend tracker
        payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);

        // add ref. bonus
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        // lambo delivery service
        _customerAddress.transfer(_dividends);

        // fire event
        emit onWithdraw(_customerAddress, _dividends);
    }

    /// @dev Liquifies tokens to ether.
    function sell(uint256 _amountOfTokens) onlyBagholders public {
        // setup data
        address _customerAddress = msg.sender;
        // russian hackers BTFO
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ether = tokensToEther_(_tokens);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ether, exitFee_), 100);
        uint256 _taxedEther = SafeMath.sub(_ether, _dividends);

        // burn the sold tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);

        // update dividends tracker
        int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEther * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;

        // dividing by zero is a bad idea
        if (tokenSupply_ > 0) {
            // update the amount of dividends per token
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }

        // fire event
		emit Transfer(_customerAddress, address(0x0), _tokens);
        emit onTokenSell(_customerAddress, _tokens, _taxedEther, now, buyPrice());
    }
	
    /**
     * @dev ERC20 functions.
     */
    function allowance(address _admin, address _spender) public view returns (uint256) {
        return _allowances[_admin][_spender];
    }

    function approve(address _spender, uint256 _amountOfTokens) public returns (bool) {
        approveInternal(msg.sender, _spender, _amountOfTokens);
        return true;
    }

    function approveInternal(address _admin, address _spender, uint256 _amountOfTokens) internal {
        require(_admin != address(0x0), "ERC20: approve from the zero address");
        require(_spender != address(0x0), "ERC20: approve to the zero address");

        _allowances[_admin][_spender] = _amountOfTokens;
        emit Approval(_admin, _spender, _amountOfTokens);
    }
	
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        approveInternal(msg.sender, spender, SafeMath.add(_allowances[msg.sender][spender], addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        approveInternal(msg.sender, spender, SafeMath.sub(_allowances[msg.sender][spender], subtractedValue));
        return true;
    }	
	
    /**
     * @dev Transfer tokens from the caller to a new holder.
     */
    function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders public returns (bool) {
        // setup
        address _customerAddress = msg.sender;

        // make sure we have the requested tokens
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        // withdraw all outstanding dividends first
        if (myDividends(true, msg.sender) > 0) {
            withdraw();
        }

        return transferInternal(_toAddress,_amountOfTokens,_customerAddress);
    }
	
    function transferFrom(address _fromAddress, address _toAddress, uint256 _amountOfTokens) public returns (bool) {
        transferInternal(_toAddress, _amountOfTokens, _fromAddress);
        approveInternal(_fromAddress, msg.sender, SafeMath.sub(_allowances[_fromAddress][msg.sender], _amountOfTokens));
        return true;
    }	

    function transferInternal(address _toAddress, uint256 _amountOfTokens , address _fromAddress) internal returns (bool) {
        // setup
        address _customerAddress = _fromAddress;

        // exchange tokens
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _amountOfTokens);

        // update dividend trackers
        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _amountOfTokens);

        // fire event
        emit Transfer(_customerAddress, _toAddress, _amountOfTokens);

        // ERC20
        return true;
    }
	

    /*=====================================
    =      HELPERS AND CALCULATORS        =
    =====================================*/

    /**
     * @dev Method to view the current Ether stored in the contract
     *  Example: totalEtherBalance()
     */
    function totalEtherBalance() public view returns (uint256) {
        return address(this).balance;
    }

    /// @dev Retrieve the total token supply.
    function totalSupply() public view returns (uint256) {
        return tokenSupply_;
    }

    /// @dev Retrieve the tokens balance.
    function myTokens(address _customerAddress) public view returns (uint256) {
        return balanceOf(_customerAddress);
    }

    /**
     * @dev Retrieve the dividends owned by the caller.
     *  If `_includeReferralBonus` is to to 1/true, the referral bonus will be included in the calculations.
     *  The reason for this, is that in the frontend, we will want to get the total divs (global + ref)
     *  But in the internal calculations, we want them separate.
     */
    function myDividends(bool _includeReferralBonus, address _customerAddress) public view returns (uint256) {
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
    }

    /// @dev Retrieve the token balance of any single address.
    function balanceOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger_[_customerAddress];
    }

    /// @dev Retrieve the dividend balance of any single address.
    function dividendsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }

    /// @dev Return the sell price of 1 individual token.
    function sellPrice() public view returns (uint256) {
        // our calculation relies on the token supply, so we need supply. Doh.
        if (tokenSupply_ == 0) {
            return tokenPriceInitial_ - tokenPriceIncremental_;
        } else {
            uint256 _ether = tokensToEther_(1e18);
            uint256 _dividends = SafeMath.div(SafeMath.mul(_ether, exitFee_), 100);
            uint256 _taxedEther = SafeMath.sub(_ether, _dividends);

            return _taxedEther;
        }
    }

    /// @dev Return the buy price of 1 individual token.
    function buyPrice() public view returns (uint256) {
        // our calculation relies on the token supply, so we need supply. Doh.
        if (tokenSupply_ == 0) {
            return tokenPriceInitial_ + tokenPriceIncremental_;
        } else {
            uint256 _ether = tokensToEther_(1e18);
            uint256 _dividends = SafeMath.div(SafeMath.mul(_ether, entryFee()), 100);
            uint256 _taxedEther = SafeMath.add(_ether, _dividends);

            return _taxedEther;
        }
    }

    /// @dev Function for the frontend to dynamically retrieve the price scaling of buy orders.
    function calculateTokensReceived(uint256 _etherToSpend) public view returns (uint256) {
        uint256 _dividends = SafeMath.div(SafeMath.mul(_etherToSpend, entryFee()), 100);
        uint256 _taxedEther = SafeMath.sub(_etherToSpend, _dividends);
        uint256 _amountOfTokens = etherToTokens_(_taxedEther);
        return _amountOfTokens;
    }

    /// @dev Function for the frontend to dynamically retrieve the price scaling of sell orders.
    function calculateEtherReceived(uint256 _tokensToSell) public view returns (uint256) {
        require(_tokensToSell <= tokenSupply_);
        uint256 _ether = tokensToEther_(_tokensToSell);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ether, exitFee_), 100);
        uint256 _taxedEther = SafeMath.sub(_ether, _dividends);
        return _taxedEther;
    }

    /// @dev Function for the frontend to get untaxed receivable ether.
    function calculateUntaxedEtherReceived(uint256 _tokensToSell) public view returns (uint256) {
        require(_tokensToSell <= tokenSupply_);
        uint256 _ether = tokensToEther_(_tokensToSell);
        //uint256 _dividends = SafeMath.div(SafeMath.mul(_ether, exitFee()), 100);
        //uint256 _taxedEther = SafeMath.sub(_ether, _dividends);
        return _ether;
    }

    function entryFee() private view returns (uint8){
      uint256 volume = address(this).balance  - msg.value;

      if (volume<=1 ether){
        return 22;
      }
      if (volume<=2 ether){
        return 21;
      }
      if (volume<=5000 ether){
        return 20;
      }
      if (volume<=6000 ether){
        return 19;
      }
      if (volume<=7000 ether){
        return 18;
      }

      return 17;
	  
    }

     // @dev Function for find if premine
    function jackPotInfo() public view returns (uint256 jackPot, uint256 timer, address jackPotPretender) {
		jackPot = jackPot_;
		if (jackPot > address(this).balance) {
			jackPot = address(this).balance;
		}
		jackPot = SafeMath.div(jackPot,2);
		
		timer = now - jackPotStartTime_;
		jackPotPretender = jackPotPretender_;
    }
	
	// @dev Function for find if premine
    function isPremine() public view returns (bool) {
      return depositCount_<=5;
    }

    // @dev Function for find if premine
    function isStarted() public pure returns (bool) {
      return true; //startTime!=0 && now > startTime;
    }

    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/

    /// @dev Internal function to actually purchase the tokens.
    function purchaseTokens(uint256 _incomingEther, address _referredBy , address payable _customerAddress) internal returns (uint256) {
        // data setup
		require (_incomingEther > 0);
		
        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEther, entryFee()), 100);
        uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, refferalFee_), 100);
        uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus);
        uint256 _taxedEther = SafeMath.sub(_incomingEther, _undividedDividends);
        uint256 _amountOfTokens = etherToTokens_(_taxedEther);
        uint256 _fee = _dividends * magnitude;
		uint256 _marketing = SafeMath.div(SafeMath.mul(_incomingEther, 4), 100); //4%
		
        // no point in continuing execution if OP is a poorfag russian hacker
        // prevents overflow in the case that the pyramid somehow magically starts being used by everyone in the world
        // (or hackers)
        // and yes we know that the safemath function automatically rules out the "greater then" equasion.
        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

        // is the user referred by a masternode?
        if (
            // is this a referred purchase?
            _referredBy != address(0x0) &&

            // no cheating!
            _referredBy != _customerAddress &&

            // does the referrer have at least X whole tokens?
            // i.e is the referrer a godly chad masternode
            tokenBalanceLedger_[_referredBy] >= stakingRequirement
        ) {
            // wealth redistribution
			if (referrers_[_customerAddress] == address(0x0)) {
				referrers_[_customerAddress] = _referredBy;
			}
			calculateReferrers(_customerAddress, _referralBonus, 1);
        } else {
            // no ref purchase
            // add the referral bonus back to the global dividends cake
            _dividends = SafeMath.add(_dividends, _referralBonus);
            _fee = _dividends * magnitude;
        }

        // we can't give people infinite ether
        if (tokenSupply_ > 0) {
            // add tokens to the pool
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
			
			// fire event
			emit Transfer(address(0x0), _customerAddress, _amountOfTokens);

            // take the amount of dividends gained through this transaction, and allocates them evenly to each shareholder
            profitPerShare_ += (_dividends * magnitude / tokenSupply_);

            // calculate the amount of tokens the customer receives over his purchase
            _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
        } else {
            // add tokens to the pool
            tokenSupply_ = _amountOfTokens;
        }

        // update circulating supply & the ledger address for the customer
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        // Tells the contract that the buyer doesn't deserve dividends for the tokens before they owned them;
        // really i know you think you do but you don't
        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;
		
		// JackPot calculate
		calculateJackPot(_incomingEther, _customerAddress);
		
		// 4% for marketing 
		marketing.send(_marketing);

        // fire event
        emit onTokenPurchase(_customerAddress, _incomingEther, _amountOfTokens, _referredBy, now, buyPrice());

        // Keep track
        depositCount_++;
        return _amountOfTokens;
    }

    /**
     * @dev Calculate Referrers reward 
     * Level 1: 35%, Level 2: 20%, Level 3: 15%, Level 4: 10%, Level 5: 10%, Level 6: 5%, Level 7: 5%
     */	
	function calculateReferrers(address _customerAddress, uint256 _referralBonus, uint8 _level) internal {
		address _referredBy = referrers_[_customerAddress];
		uint256 _percent = 35;
		if (_referredBy != address(0x0)) {
			if (_level == 2) _percent = 20;
			if (_level == 3) _percent = 15;
			if (_level == 4 || _level == 5) _percent = 10;
			if (_level == 6 || _level == 7) _percent = 5;
			uint256 _newReferralBonus = SafeMath.div(SafeMath.mul(_referralBonus, _percent), 100);
			referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _newReferralBonus);
			if (_level < 7) {
				calculateReferrers(_referredBy, _referralBonus, _level+1);
			}
		}
	}

    /**
     * @dev Calculate JackPot 
     * 40% from entryFee is going to JackPot 
     * The last investor (with 0.2 ether) will receive the jackpot in 12 hours 
     */	
	function calculateJackPot(uint256 _incomingEther, address payable _customerAddress) internal {
		uint256 timer = SafeMath.div(SafeMath.sub(now, jackPotStartTime_), 12 hours);
		if (timer > 0 && jackPotPretender_ != address(0x0) && jackPot_ > 0) {
			//pay jackPot
			if (address(this).balance < jackPot_) {
				jackPot_ = address(this).balance;
			}
				
			jackPotPretender_.send(SafeMath.div(jackPot_,2));
			jackPot_ = SafeMath.div(jackPot_,2);
			jackPotStartTime_ = now;
			jackPotPretender_ = address(0x0);
		}
		
		uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEther, entryFee()), 100);
		jackPot_ += SafeMath.div(SafeMath.mul(_undividedDividends, 40), 100);
		
		if (_incomingEther >= 0.2 ether) { 
			jackPotPretender_ = _customerAddress;
			jackPotStartTime_ = now;
		}
	}	
	
    /**
     * @dev Calculate Token price based on an amount of incoming ether
     *  It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation;
     *  Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
     */
    function etherToTokens_(uint256 _ether) internal view returns (uint256) {
        uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
        uint256 _tokensReceived =
         (
            (
                // underflow attempts BTFO
                SafeMath.sub(
                    (sqrt
                        (
                            (_tokenPriceInitial ** 2)
                            +
                            (2 * (tokenPriceIncremental_ * 1e18) * (_ether * 1e18))
                            +
                            ((tokenPriceIncremental_ ** 2) * (tokenSupply_ ** 2))
                            +
                            (2 * tokenPriceIncremental_ * _tokenPriceInitial*tokenSupply_)
                        )
                    ), _tokenPriceInitial
                )
            ) / (tokenPriceIncremental_)
        ) - (tokenSupply_);

        return _tokensReceived;
    }

    /**
     * @dev Calculate token sell value.
     *  It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation;
     *  Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
     */
    function tokensToEther_(uint256 _tokens) internal view returns (uint256) {
        uint256 tokens_ = (_tokens + 1e18);
        uint256 _tokenSupply = (tokenSupply_ + 1e18);
        uint256 _etherReceived =
        (
            // underflow attempts BTFO
            SafeMath.sub(
                (
                    (
                        (
                            tokenPriceInitial_ + (tokenPriceIncremental_ * (_tokenSupply / 1e18))
                        ) - tokenPriceIncremental_
                    ) * (tokens_ - 1e18)
                ), (tokenPriceIncremental_ * ((tokens_ ** 2 - tokens_) / 1e18)) / 2
            )
        / 1e18);

        return _etherReceived;
    }

    /// @dev This is where all your gas goes.
    function sqrt(uint256 x) internal pure returns (uint256 y) {
        uint256 z = (x + 1) / 2;
        y = x;

        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }


}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_marketing","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"etherReinvested","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"incomingEther","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensMinted","type":"uint256"},{"indexed":true,"internalType":"address","name":"referredBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensBurned","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"etherEarned","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"etherWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_referredBy","type":"address"}],"name":"buyNEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokensToSell","type":"uint256"}],"name":"calculateEtherReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_etherToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokensToSell","type":"uint256"}],"name":"calculateUntaxedEtherReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"depositCount_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isPremine","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"jackPotInfo","outputs":[{"internalType":"uint256","name":"jackPot","type":"uint256"},{"internalType":"uint256","name":"timer","type":"uint256"},{"internalType":"address","name":"jackPotPretender","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackPotPretender_","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackPotStartTime_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackPot_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bool","name":"_includeReferralBonus","type":"bool"},{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"myDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"myTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"payoutsTo_","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_referredBy","type":"address"},{"internalType":"address payable","name":"_customerAddress","type":"address"}],"name":"purchaseFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referralBalance_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referrers_","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reg","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEtherBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_toAddress","type":"address"},{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_fromAddress","type":"address"},{"internalType":"address","name":"_toAddress","type":"address"},{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600581526020017f4e65787573000000000000000000000000000000000000000000000000000000815250600090805190602001906200005192919062000150565b506040518060400160405280600381526020017f4e45580000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000150565b5068056bc75e2d63100000600255348015620000ba57600080fd5b50604051620030543803806200305483398181016040526020811015620000e057600080fd5b810190808051906020019092919050505080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600b819055506801158e460913d0000060098190555050620001ff565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019357805160ff1916838001178555620001c4565b82800160010185558215620001c4579182015b82811115620001c3578251825591602001919060010190620001a6565b5b509050620001d39190620001d7565b5090565b620001fc91905b80821115620001f8576000816000905550600101620001de565b5090565b90565b612e45806200020f6000396000f3fe60806040526004361061022f5760003560e01c8063642ad54a1161012e578063cfb5df18116100ab578063e1456cb41161006f578063e1456cb414610dbb578063e4849b3214610e20578063e625d51514610e5b578063e9fad8ee14610e86578063fdb5a03e14610e9d5761022f565b8063cfb5df1814610c4c578063d6dda33d14610c77578063da7af32d14610ca6578063dc1df3f614610cd1578063dd62ed3e14610d365761022f565b806395d89b41116100f257806395d89b4114610a22578063a457c2d714610ab2578063a9059cbb14610b25578063c257c85114610b98578063c664f7f114610be75761022f565b8063642ad54a146108c757806364377fe41461093857806370a0823114610963578063738fdd1a146109c85780638620410b146109f75761022f565b806339509351116101bc578063544736e611610180578063544736e61461073557806356d399e8146107645780635dd103c11461078f5780635df345db146107de5780635e4791751461086f5761022f565b806339509351146105b15780633ccfd60b14610624578063458e237d1461063b5780634b75033414610692578063521ee1ae146106bd5761022f565b806318160ddd1161020357806318160ddd1461040657806323b872dd146104315780632d3e474a146104c4578063313ce5671461051b5780633904d2b11461054c5761022f565b806265318b1461024f57806306fdde03146102b4578063095ea7b31461034457806310d0ffdd146103b7575b610237610eb4565b61024057600080fd5b61024c34600033610ebd565b50005b34801561025b57600080fd5b5061029e6004803603602081101561027257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143d565b6040518082815260200191505060405180910390f35b3480156102c057600080fd5b506102c96114dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103095780820151818401526020810190506102ee565b50505050905090810190601f1680156103365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035057600080fd5b5061039d6004803603604081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061157b565b604051808215151515815260200191505060405180910390f35b3480156103c357600080fd5b506103f0600480360360208110156103da57600080fd5b8101908080359060200190929190505050611592565b6040518082815260200191505060405180910390f35b34801561041257600080fd5b5061041b6115db565b6040518082815260200191505060405180910390f35b34801561043d57600080fd5b506104aa6004803603606081101561045457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115e5565b604051808215151515815260200191505060405180910390f35b3480156104d057600080fd5b506104d961168e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052757600080fd5b506105306116b4565b604051808260ff1660ff16815260200191505060405180910390f35b34801561055857600080fd5b506105616116b9565b604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b3480156105bd57600080fd5b5061060a600480360360408110156105d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061170d565b604051808215151515815260200191505060405180910390f35b34801561063057600080fd5b506106396117a9565b005b34801561064757600080fd5b5061065061194e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069e57600080fd5b506106a7611974565b6040518082815260200191505060405180910390f35b61071f600480360360408110156106d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119dc565b6040518082815260200191505060405180910390f35b34801561074157600080fd5b5061074a610eb4565b604051808215151515815260200191505060405180910390f35b34801561077057600080fd5b50610779611a01565b6040518082815260200191505060405180910390f35b34801561079b57600080fd5b506107c8600480360360208110156107b257600080fd5b8101908080359060200190929190505050611a07565b6040518082815260200191505060405180910390f35b3480156107ea57600080fd5b5061082d6004803603602081101561080157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a2e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108b16004803603602081101561088557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a61565b6040518082815260200191505060405180910390f35b3480156108d357600080fd5b50610922600480360360408110156108ea57600080fd5b81019080803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a85565b6040518082815260200191505060405180910390f35b34801561094457600080fd5b5061094d611aed565b6040518082815260200191505060405180910390f35b34801561096f57600080fd5b506109b26004803603602081101561098657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611af3565b6040518082815260200191505060405180910390f35b3480156109d457600080fd5b506109dd611b3c565b604051808215151515815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c611b45565b6040518082815260200191505060405180910390f35b348015610a2e57600080fd5b50610a37611bb3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a77578082015181840152602081019050610a5c565b50505050905090810190601f168015610aa45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610abe57600080fd5b50610b0b60048036036040811015610ad557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c51565b604051808215151515815260200191505060405180910390f35b348015610b3157600080fd5b50610b7e60048036036040811015610b4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ced565b604051808215151515815260200191505060405180910390f35b348015610ba457600080fd5b50610bd160048036036020811015610bbb57600080fd5b8101908080359060200190929190505050611d84565b6040518082815260200191505060405180910390f35b348015610bf357600080fd5b50610c3660048036036020811015610c0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dd7565b6040518082815260200191505060405180910390f35b348015610c5857600080fd5b50610c61611def565b6040518082815260200191505060405180910390f35b348015610c8357600080fd5b50610c8c611df5565b604051808215151515815260200191505060405180910390f35b348015610cb257600080fd5b50610cbb611e03565b6040518082815260200191505060405180910390f35b348015610cdd57600080fd5b50610d2060048036036020811015610cf457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e09565b6040518082815260200191505060405180910390f35b348015610d4257600080fd5b50610da560048036036040811015610d5957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e1b565b6040518082815260200191505060405180910390f35b348015610dc757600080fd5b50610e0a60048036036020811015610dde57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea2565b6040518082815260200191505060405180910390f35b348015610e2c57600080fd5b50610e5960048036036020811015610e4357600080fd5b8101908080359060200190929190505050611eba565b005b348015610e6757600080fd5b50610e7061216d565b6040518082815260200191505060405180910390f35b348015610e9257600080fd5b50610e9b612175565b005b348015610ea957600080fd5b50610eb26121dd565b005b60006001905090565b6000808411610ecb57600080fd5b6000610eeb610ee486610edc612354565b60ff166123e8565b606461241f565b90506000610f07610f0083601e60ff166123e8565b606461241f565b90506000610f158383612438565b90506000610f238885612438565b90506000610f308261244f565b9050600068010000000000000000840290506000610f59610f528c60046123e8565b606461241f565b9050600083118015610f775750600c54610f7584600c546124d6565b115b610f8057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614158015610fe957508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614155b80156110365750600254600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561115f57600073ffffffffffffffffffffffffffffffffffffffff16600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561114e5789600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61115a898760016124f2565b61117a565b61116985876124d6565b945068010000000000000000850291505b6000600c54111561124757611191600c54846124d6565b600c819055508873ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600c546801000000000000000086028161121357fe5b04600d60008282540192505081905550600c546801000000000000000086028161123957fe5b04830282038203915061124f565b82600c819055505b611298600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846124d6565b600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008284600d540203905080600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061133d8c8b6126b8565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050508a73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8e87426113ef611b45565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a3600e6000815480929190600101919050555083985050505050505050509392505050565b600068010000000000000000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d540203816114d557fe5b049050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115735780601f1061154857610100808354040283529160200191611573565b820191906000526020600020905b81548152906001019060200180831161155657829003601f168201915b505050505081565b60006115883384846128bc565b6001905092915050565b6000806115b36115ac846115a4612354565b60ff166123e8565b606461241f565b905060006115c18483612438565b905060006115ce8261244f565b9050809350505050919050565b6000600c54905090565b60006115f2838386612ab3565b50611683843361167e600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612438565b6128bc565b600190509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b60008060006009549250478311156116cf574792505b6116da83600261241f565b9250600b5442039150600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050909192565b600061179f338461179a600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866124d6565b6128bc565b6001905092915050565b60006117b6600133611a85565b116117c057600080fd5b600033905060006117d2600033611a85565b9050680100000000000000008102600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156118fb573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600c54141561199357633b9aca006402540be4000390506119d9565b60006119a6670de0b6b3a7640000612ce4565b905060006119c26119bb83600560ff166123e8565b606461241f565b905060006119d08383612438565b90508093505050505b90565b60006119e6610eb4565b6119ef57600080fd5b6119fa348484610ebd565b5092915050565b60025481565b6000600c54821115611a1857600080fd5b6000611a2383612ce4565b905080915050919050565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a6b610eb4565b611a7457600080fd5b611a7f348333610ebd565b50919050565b600082611a9a57611a958261143d565b611ae5565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae38361143d565b015b905092915050565b600b5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006001905090565b600080600c541415611b6457633b9aca006402540be400019050611bb0565b6000611b77670de0b6b3a7640000612ce4565b90506000611b99611b9283611b8a612354565b60ff166123e8565b606461241f565b90506000611ba783836124d6565b90508093505050505b90565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050505081565b6000611ce33384611cde600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612438565b6128bc565b6001905092915050565b600080611cf933611e09565b11611d0357600080fd5b6000339050600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115611d5457600080fd5b6000611d61600133611a85565b1115611d7057611d6f6117a9565b5b611d7b848483612ab3565b91505092915050565b6000600c54821115611d9557600080fd5b6000611da083612ce4565b90506000611dbc611db583600560ff166123e8565b606461241f565b90506000611dca8383612438565b9050809350505050919050565b60076020528060005260406000206000915090505481565b60095481565b60006005600e541115905090565b600e5481565b6000611e1482611af3565b9050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60066020528060005260406000206000915090505481565b6000611ec533611e09565b11611ecf57600080fd5b6000339050600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611f2057600080fd5b60008290506000611f3082612ce4565b90506000611f4c611f4583600560ff166123e8565b606461241f565b90506000611f5a8383612438565b9050611f68600c5485612438565b600c81905550611fb7600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612438565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600068010000000000000000820285600d540201905080600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600c5411156120915761208a600d54600c546801000000000000000086028161208457fe5b046124d6565b600d819055505b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38573ffffffffffffffffffffffffffffffffffffffff167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e86844261213a611b45565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b600047905090565b60003390506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156121d1576121d081611eba565b5b6121d96117a9565b5050565b60006121ea600133611a85565b116121f457600080fd5b6000612201600033611a85565b90506000339050680100000000000000008202600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006122f783600084610ebd565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b6000803447039050670de0b6b3a764000081116123755760169150506123e5565b671bc16d674ec80000811161238e5760159150506123e5565b69010f0cf064dd5920000081116123a95760149150506123e5565b69014542ba12a337c0000081116123c45760139150506123e5565b69017b7883c0691660000081116123df5760129150506123e5565b60119150505b90565b6000808314156123fb5760009050612419565b600082840290508284828161240c57fe5b041461241457fe5b809150505b92915050565b60008082848161242b57fe5b0490508091505092915050565b60008282111561244457fe5b818303905092915050565b600080670de0b6b3a76400006402540be4000290506000600c54633b9aca006124c16124bb600c5486633b9aca0060020202026002600c540a6002633b9aca000a02670de0b6b3a76400008a02670de0b6b3a7640000633b9aca0002600202026002890a010101612d85565b85612438565b816124c857fe5b040390508092505050919050565b6000808284019050838110156124e857fe5b8091505092915050565b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600060239050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146126b15760028360ff1614156125a157601490505b60038360ff1614156125b257600f90505b60048360ff1614806125c7575060058360ff16145b156125d157600a90505b60068360ff1614806125e6575060078360ff16145b156125f057600590505b60006126066125ff86846123e8565b606461241f565b9050612651600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826124d6565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060078460ff1610156126af576126ae8386600187016124f2565b5b505b5050505050565b60006126d16126c942600b54612438565b61a8c061241f565b90506000811180156127325750600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b801561274057506000600954115b156128185760095447101561275757476009819055505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6127a0600954600261241f565b9081150290604051600060405180830381858888f19350505050506127c8600954600261241f565b60098190555042600b819055506000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600061283861283185612829612354565b60ff166123e8565b606461241f565b905061284f6128488260286123e8565b606461241f565b6009600082825401925050819055506702c68af0bb14000084106128b65782600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600b819055505b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612ded6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612dcb6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080829050612b02600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612438565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b8e600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856124d6565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600d5402600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555083600d5402600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019150509392505050565b600080670de0b6b3a7640000830190506000670de0b6b3a7640000600c540190506000670de0b6b3a7640000612d70670de0b6b3a76400008503633b9aca00670de0b6b3a76400008681612d3457fe5b04633b9aca00026402540be4000103026002670de0b6b3a7640000876002890a0381612d5c57fe5b04633b9aca000281612d6a57fe5b04612438565b81612d7757fe5b049050809350505050919050565b60008060026001840181612d9557fe5b0490508291505b81811015612dc457809150600281828581612db357fe5b040181612dbc57fe5b049050612d9c565b5091905056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582046f2496d7b9410f74affd4f350d6bdacdba071c50738aa3bb48b20fd1b7daf6564736f6c634300051100320000000000000000000000003957dd168014a5d2e66a2d84b7c2577a543d59ed

Deployed Bytecode

0x60806040526004361061022f5760003560e01c8063642ad54a1161012e578063cfb5df18116100ab578063e1456cb41161006f578063e1456cb414610dbb578063e4849b3214610e20578063e625d51514610e5b578063e9fad8ee14610e86578063fdb5a03e14610e9d5761022f565b8063cfb5df1814610c4c578063d6dda33d14610c77578063da7af32d14610ca6578063dc1df3f614610cd1578063dd62ed3e14610d365761022f565b806395d89b41116100f257806395d89b4114610a22578063a457c2d714610ab2578063a9059cbb14610b25578063c257c85114610b98578063c664f7f114610be75761022f565b8063642ad54a146108c757806364377fe41461093857806370a0823114610963578063738fdd1a146109c85780638620410b146109f75761022f565b806339509351116101bc578063544736e611610180578063544736e61461073557806356d399e8146107645780635dd103c11461078f5780635df345db146107de5780635e4791751461086f5761022f565b806339509351146105b15780633ccfd60b14610624578063458e237d1461063b5780634b75033414610692578063521ee1ae146106bd5761022f565b806318160ddd1161020357806318160ddd1461040657806323b872dd146104315780632d3e474a146104c4578063313ce5671461051b5780633904d2b11461054c5761022f565b806265318b1461024f57806306fdde03146102b4578063095ea7b31461034457806310d0ffdd146103b7575b610237610eb4565b61024057600080fd5b61024c34600033610ebd565b50005b34801561025b57600080fd5b5061029e6004803603602081101561027257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143d565b6040518082815260200191505060405180910390f35b3480156102c057600080fd5b506102c96114dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103095780820151818401526020810190506102ee565b50505050905090810190601f1680156103365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035057600080fd5b5061039d6004803603604081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061157b565b604051808215151515815260200191505060405180910390f35b3480156103c357600080fd5b506103f0600480360360208110156103da57600080fd5b8101908080359060200190929190505050611592565b6040518082815260200191505060405180910390f35b34801561041257600080fd5b5061041b6115db565b6040518082815260200191505060405180910390f35b34801561043d57600080fd5b506104aa6004803603606081101561045457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115e5565b604051808215151515815260200191505060405180910390f35b3480156104d057600080fd5b506104d961168e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052757600080fd5b506105306116b4565b604051808260ff1660ff16815260200191505060405180910390f35b34801561055857600080fd5b506105616116b9565b604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b3480156105bd57600080fd5b5061060a600480360360408110156105d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061170d565b604051808215151515815260200191505060405180910390f35b34801561063057600080fd5b506106396117a9565b005b34801561064757600080fd5b5061065061194e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069e57600080fd5b506106a7611974565b6040518082815260200191505060405180910390f35b61071f600480360360408110156106d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119dc565b6040518082815260200191505060405180910390f35b34801561074157600080fd5b5061074a610eb4565b604051808215151515815260200191505060405180910390f35b34801561077057600080fd5b50610779611a01565b6040518082815260200191505060405180910390f35b34801561079b57600080fd5b506107c8600480360360208110156107b257600080fd5b8101908080359060200190929190505050611a07565b6040518082815260200191505060405180910390f35b3480156107ea57600080fd5b5061082d6004803603602081101561080157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a2e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108b16004803603602081101561088557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a61565b6040518082815260200191505060405180910390f35b3480156108d357600080fd5b50610922600480360360408110156108ea57600080fd5b81019080803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a85565b6040518082815260200191505060405180910390f35b34801561094457600080fd5b5061094d611aed565b6040518082815260200191505060405180910390f35b34801561096f57600080fd5b506109b26004803603602081101561098657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611af3565b6040518082815260200191505060405180910390f35b3480156109d457600080fd5b506109dd611b3c565b604051808215151515815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c611b45565b6040518082815260200191505060405180910390f35b348015610a2e57600080fd5b50610a37611bb3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a77578082015181840152602081019050610a5c565b50505050905090810190601f168015610aa45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610abe57600080fd5b50610b0b60048036036040811015610ad557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c51565b604051808215151515815260200191505060405180910390f35b348015610b3157600080fd5b50610b7e60048036036040811015610b4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ced565b604051808215151515815260200191505060405180910390f35b348015610ba457600080fd5b50610bd160048036036020811015610bbb57600080fd5b8101908080359060200190929190505050611d84565b6040518082815260200191505060405180910390f35b348015610bf357600080fd5b50610c3660048036036020811015610c0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dd7565b6040518082815260200191505060405180910390f35b348015610c5857600080fd5b50610c61611def565b6040518082815260200191505060405180910390f35b348015610c8357600080fd5b50610c8c611df5565b604051808215151515815260200191505060405180910390f35b348015610cb257600080fd5b50610cbb611e03565b6040518082815260200191505060405180910390f35b348015610cdd57600080fd5b50610d2060048036036020811015610cf457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e09565b6040518082815260200191505060405180910390f35b348015610d4257600080fd5b50610da560048036036040811015610d5957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e1b565b6040518082815260200191505060405180910390f35b348015610dc757600080fd5b50610e0a60048036036020811015610dde57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea2565b6040518082815260200191505060405180910390f35b348015610e2c57600080fd5b50610e5960048036036020811015610e4357600080fd5b8101908080359060200190929190505050611eba565b005b348015610e6757600080fd5b50610e7061216d565b6040518082815260200191505060405180910390f35b348015610e9257600080fd5b50610e9b612175565b005b348015610ea957600080fd5b50610eb26121dd565b005b60006001905090565b6000808411610ecb57600080fd5b6000610eeb610ee486610edc612354565b60ff166123e8565b606461241f565b90506000610f07610f0083601e60ff166123e8565b606461241f565b90506000610f158383612438565b90506000610f238885612438565b90506000610f308261244f565b9050600068010000000000000000840290506000610f59610f528c60046123e8565b606461241f565b9050600083118015610f775750600c54610f7584600c546124d6565b115b610f8057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614158015610fe957508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614155b80156110365750600254600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561115f57600073ffffffffffffffffffffffffffffffffffffffff16600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561114e5789600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61115a898760016124f2565b61117a565b61116985876124d6565b945068010000000000000000850291505b6000600c54111561124757611191600c54846124d6565b600c819055508873ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600c546801000000000000000086028161121357fe5b04600d60008282540192505081905550600c546801000000000000000086028161123957fe5b04830282038203915061124f565b82600c819055505b611298600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846124d6565b600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008284600d540203905080600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061133d8c8b6126b8565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050508a73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8e87426113ef611b45565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a3600e6000815480929190600101919050555083985050505050505050509392505050565b600068010000000000000000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d540203816114d557fe5b049050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115735780601f1061154857610100808354040283529160200191611573565b820191906000526020600020905b81548152906001019060200180831161155657829003601f168201915b505050505081565b60006115883384846128bc565b6001905092915050565b6000806115b36115ac846115a4612354565b60ff166123e8565b606461241f565b905060006115c18483612438565b905060006115ce8261244f565b9050809350505050919050565b6000600c54905090565b60006115f2838386612ab3565b50611683843361167e600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612438565b6128bc565b600190509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b60008060006009549250478311156116cf574792505b6116da83600261241f565b9250600b5442039150600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050909192565b600061179f338461179a600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866124d6565b6128bc565b6001905092915050565b60006117b6600133611a85565b116117c057600080fd5b600033905060006117d2600033611a85565b9050680100000000000000008102600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156118fb573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600c54141561199357633b9aca006402540be4000390506119d9565b60006119a6670de0b6b3a7640000612ce4565b905060006119c26119bb83600560ff166123e8565b606461241f565b905060006119d08383612438565b90508093505050505b90565b60006119e6610eb4565b6119ef57600080fd5b6119fa348484610ebd565b5092915050565b60025481565b6000600c54821115611a1857600080fd5b6000611a2383612ce4565b905080915050919050565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a6b610eb4565b611a7457600080fd5b611a7f348333610ebd565b50919050565b600082611a9a57611a958261143d565b611ae5565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae38361143d565b015b905092915050565b600b5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006001905090565b600080600c541415611b6457633b9aca006402540be400019050611bb0565b6000611b77670de0b6b3a7640000612ce4565b90506000611b99611b9283611b8a612354565b60ff166123e8565b606461241f565b90506000611ba783836124d6565b90508093505050505b90565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c495780601f10611c1e57610100808354040283529160200191611c49565b820191906000526020600020905b815481529060010190602001808311611c2c57829003601f168201915b505050505081565b6000611ce33384611cde600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612438565b6128bc565b6001905092915050565b600080611cf933611e09565b11611d0357600080fd5b6000339050600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115611d5457600080fd5b6000611d61600133611a85565b1115611d7057611d6f6117a9565b5b611d7b848483612ab3565b91505092915050565b6000600c54821115611d9557600080fd5b6000611da083612ce4565b90506000611dbc611db583600560ff166123e8565b606461241f565b90506000611dca8383612438565b9050809350505050919050565b60076020528060005260406000206000915090505481565b60095481565b60006005600e541115905090565b600e5481565b6000611e1482611af3565b9050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60066020528060005260406000206000915090505481565b6000611ec533611e09565b11611ecf57600080fd5b6000339050600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611f2057600080fd5b60008290506000611f3082612ce4565b90506000611f4c611f4583600560ff166123e8565b606461241f565b90506000611f5a8383612438565b9050611f68600c5485612438565b600c81905550611fb7600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612438565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600068010000000000000000820285600d540201905080600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600c5411156120915761208a600d54600c546801000000000000000086028161208457fe5b046124d6565b600d819055505b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38573ffffffffffffffffffffffffffffffffffffffff167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e86844261213a611b45565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050565b600047905090565b60003390506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156121d1576121d081611eba565b5b6121d96117a9565b5050565b60006121ea600133611a85565b116121f457600080fd5b6000612201600033611a85565b90506000339050680100000000000000008202600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006122f783600084610ebd565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b6000803447039050670de0b6b3a764000081116123755760169150506123e5565b671bc16d674ec80000811161238e5760159150506123e5565b69010f0cf064dd5920000081116123a95760149150506123e5565b69014542ba12a337c0000081116123c45760139150506123e5565b69017b7883c0691660000081116123df5760129150506123e5565b60119150505b90565b6000808314156123fb5760009050612419565b600082840290508284828161240c57fe5b041461241457fe5b809150505b92915050565b60008082848161242b57fe5b0490508091505092915050565b60008282111561244457fe5b818303905092915050565b600080670de0b6b3a76400006402540be4000290506000600c54633b9aca006124c16124bb600c5486633b9aca0060020202026002600c540a6002633b9aca000a02670de0b6b3a76400008a02670de0b6b3a7640000633b9aca0002600202026002890a010101612d85565b85612438565b816124c857fe5b040390508092505050919050565b6000808284019050838110156124e857fe5b8091505092915050565b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600060239050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146126b15760028360ff1614156125a157601490505b60038360ff1614156125b257600f90505b60048360ff1614806125c7575060058360ff16145b156125d157600a90505b60068360ff1614806125e6575060078360ff16145b156125f057600590505b60006126066125ff86846123e8565b606461241f565b9050612651600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826124d6565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060078460ff1610156126af576126ae8386600187016124f2565b5b505b5050505050565b60006126d16126c942600b54612438565b61a8c061241f565b90506000811180156127325750600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b801561274057506000600954115b156128185760095447101561275757476009819055505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6127a0600954600261241f565b9081150290604051600060405180830381858888f19350505050506127c8600954600261241f565b60098190555042600b819055506000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600061283861283185612829612354565b60ff166123e8565b606461241f565b905061284f6128488260286123e8565b606461241f565b6009600082825401925050819055506702c68af0bb14000084106128b65782600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600b819055505b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612ded6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612dcb6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080829050612b02600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612438565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b8e600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856124d6565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600d5402600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555083600d5402600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019150509392505050565b600080670de0b6b3a7640000830190506000670de0b6b3a7640000600c540190506000670de0b6b3a7640000612d70670de0b6b3a76400008503633b9aca00670de0b6b3a76400008681612d3457fe5b04633b9aca00026402540be4000103026002670de0b6b3a7640000876002890a0381612d5c57fe5b04633b9aca000281612d6a57fe5b04612438565b81612d7757fe5b049050809350505050919050565b60008060026001840181612d9557fe5b0490508291505b81811015612dc457809150600281828581612db357fe5b040181612dbc57fe5b049050612d9c565b5091905056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582046f2496d7b9410f74affd4f350d6bdacdba071c50738aa3bb48b20fd1b7daf6564736f6c63430005110032

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

0000000000000000000000003957dd168014a5d2e66a2d84b7c2577a543d59ed

-----Decoded View---------------
Arg [0] : _marketing (address): 0x3957dd168014a5D2E66a2d84b7c2577a543d59eD

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003957dd168014a5d2e66a2d84b7c2577a543d59ed


Deployed Bytecode Sourcemap

170:24637:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;669:11;:9;:11::i;:::-;661:20;;;;;;3959:51;3974:9;3993:3;3999:10;3959:14;:51::i;:::-;;170:24637;12576:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12576:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12576:224:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1854:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1854:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1854:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8167:177;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8167:177:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8167:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14055:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14055:353:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14055:353:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11404:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11404:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9833:333;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9833:333:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9833:333:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2500:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2500:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1924:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1924:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15851:336;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15851:336:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8745:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8745:223:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8745:223:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5958:646;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5958:646:0;;;:::i;:::-;;3096:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3096:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12867:508;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12867:508:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4415:198;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4415:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16373:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16373:111:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2415:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2415:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14969:381;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14969:381:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14969:381:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3013:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3013:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3013:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4137:154;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4137:154:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12037:254;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12037:254:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12037:254:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3141:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3141:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12363:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12363:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12363:138:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5495:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5495:58:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13441:509;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13441:509:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1889:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1889:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1889:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8976:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8976:233:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8976:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9299:525;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9299:525:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9299:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14514:374;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14514:374:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14514:374:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2940:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2940:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2940:51:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3069:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3069:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16235:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16235:88:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3258:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3258:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11546:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11546:127:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11546:127:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8021:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8021:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8021:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2889:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2889:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2889:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6653:1311;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6653:1311:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6653:1311:0;;;;;;;;;;;;;;;;;:::i;:::-;;11243:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11243:106:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5608:289;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5608:289:0;;;:::i;:::-;;4681:764;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4681:764:0;;;:::i;:::-;;16373:111;16415:4;16437;16430:11;;16373:111;:::o;16709:3750::-;16831:7;16894:1;16877:14;:18;16868:28;;;;;;16911:27;16941:59;16954:40;16967:14;16983:10;:8;:10::i;:::-;16954:40;;:12;:40::i;:::-;16996:3;16941:12;:59::i;:::-;16911:89;;17011:22;17036:66;17049:47;17062:19;2126:2;17049:47;;:12;:47::i;:::-;17098:3;17036:12;:66::i;:::-;17011:91;;17113:18;17134:49;17147:19;17168:14;17134:12;:49::i;:::-;17113:70;;17194:19;17216:49;17229:14;17245:19;17216:12;:49::i;:::-;17194:71;;17276:23;17302:27;17317:11;17302:14;:27::i;:::-;17276:53;;17340:12;2348:7;17355:10;:22;17340:37;;17382:18;17403:50;17416:31;17429:14;17445:1;17416:12;:31::i;:::-;17449:3;17403:12;:50::i;:::-;17382:71;;17831:1;17813:15;:19;:81;;;;;17882:12;;17836:43;17849:15;17866:12;;17836;:43::i;:::-;:58;17813:81;17805:90;;;;;;18044:3;18021:27;;:11;:27;;;;:106;;;;;18111:16;18096:31;;:11;:31;;;;18021:106;:303;;;;;18306:18;;18270:19;:32;18290:11;18270:32;;;;;;;;;;;;;;;;:54;;18021:303;17958:835;;;18424:3;18384:44;;:10;:28;18395:16;18384:28;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;18380:106;;;18468:11;18437:10;:28;18448:16;18437:28;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18380:106;18491:55;18510:16;18528:14;18544:1;18491:18;:55::i;:::-;17958:835;;;18697:40;18710:10;18722:14;18697:12;:40::i;:::-;18684:53;;2348:7;18759:10;:22;18752:29;;17958:835;18872:1;18857:12;;:16;18853:724;;;18944:43;18957:12;;18971:15;18944:12;:43::i;:::-;18929:12;:58;;;;19044:16;19021:57;;19038:3;19021:57;;;19062:15;19021:57;;;;;;;;;;;;;;;;;;19264:12;;2348:7;19239:10;:22;:37;;;;;;19219:15;;:58;;;;;;;;;;;19448:12;;2348:7;19423:10;:22;:37;;;;;;19404:15;:57;19396:4;:66;19388:4;:75;19381:82;;18853:724;;;19550:15;19535:12;:30;;;;18853:724;19705:68;19718:19;:37;19738:16;19718:37;;;;;;;;;;;;;;;;19757:15;19705:12;:68::i;:::-;19665:19;:37;19685:16;19665:37;;;;;;;;;;;;;;;:108;;;;19954:22;20025:4;20007:15;19989;;:33;:40;19954:76;;20073:15;20041:10;:28;20052:16;20041:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;20121:50;20138:14;20154:16;20121;:50::i;:::-;20204:9;;;;;;;;;;;:14;;:26;20219:10;20204:26;;;;;;;;;;;;;;;;;;;;;;;;20338:11;20271:96;;20287:16;20271:96;;;20305:14;20321:15;20351:3;20356:10;:8;:10::i;:::-;20271:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20403:13;;:15;;;;;;;;;;;;;20436;20429:22;;;;;;;;;;16709:3750;;;;;:::o;12576:224::-;12644:7;2348;12751:10;:28;12762:16;12751:28;;;;;;;;;;;;;;;;12710:19;:37;12730:16;12710:37;;;;;;;;;;;;;;;;12692:15;;:55;12682:97;12671:121;;;;;;12664:128;;12576:224;;;:::o;1854:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8167:177::-;8243:4;8260:54;8276:10;8288:8;8298:15;8260;:54::i;:::-;8332:4;8325:11;;8167:177;;;;:::o;14055:353::-;14132:7;14152:18;14173:58;14186:39;14199:13;14214:10;:8;:10::i;:::-;14186:39;;:12;:39::i;:::-;14227:3;14173:12;:58::i;:::-;14152:79;;14242:19;14264:39;14277:13;14292:10;14264:12;:39::i;:::-;14242:61;;14314:23;14340:27;14355:11;14340:14;:27::i;:::-;14314:53;;14385:15;14378:22;;;;;14055:353;;;:::o;11404:91::-;11448:7;11475:12;;11468:19;;11404:91;:::o;9833:333::-;9938:4;9955:59;9972:10;9984:15;10001:12;9955:16;:59::i;:::-;;10025:111;10041:12;10055:10;10067:68;10080:11;:25;10092:12;10080:25;;;;;;;;;;;;;;;:37;10106:10;10080:37;;;;;;;;;;;;;;;;10119:15;10067:12;:68::i;:::-;10025:15;:111::i;:::-;10154:4;10147:11;;9833:333;;;;;:::o;2500:32::-;;;;;;;;;;;;;:::o;1924:35::-;1957:2;1924:35;:::o;15851:336::-;15895:15;15912:13;15927:24;15968:8;;15958:18;;15995:21;15985:7;:31;15981:80;;;16034:21;16024:31;;15981:80;16075:23;16088:7;16096:1;16075:12;:23::i;:::-;16065:33;;16121:17;;16115:3;:23;16107:31;;16162:17;;;;;;;;;;;16143:36;;15851:336;;;:::o;8745:223::-;8825:4;8842:96;8858:10;8870:7;8879:58;8892:11;:23;8904:10;8892:23;;;;;;;;;;;;;;;:32;8916:7;8892:32;;;;;;;;;;;;;;;;8926:10;8879:12;:58::i;:::-;8842:15;:96::i;:::-;8956:4;8949:11;;8745:223;;;;:::o;5958:646::-;569:1;537:29;549:4;555:10;537:11;:29::i;:::-;:33;529:42;;;;;;6036:32;6071:10;6036:45;;6092:18;6113:30;6125:5;6132:10;6113:11;:30::i;:::-;6092:51;;2348:7;6270:10;:22;6228:10;:28;6239:16;6228:28;;;;;;;;;;;;;;;;:65;;;;;;;;;;;6347:16;:34;6364:16;6347:34;;;;;;;;;;;;;;;;6333:48;;;;6429:1;6392:16;:34;6409:16;6392:34;;;;;;;;;;;;;;;:38;;;;6478:16;:25;;:37;6504:10;6478:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6478:37:0;6567:16;6556:40;;;6585:10;6556:40;;;;;;;;;;;;;;;;;;582:1;;5958:646::o;3096:40::-;;;;;;;;;;;;;:::o;12867:508::-;12909:7;13029:1;13013:12;;:17;13009:359;;;2284:17;2210:16;13054:43;13047:50;;;;13009:359;13130:14;13147:20;13162:4;13147:14;:20::i;:::-;13130:37;;13182:18;13203:49;13216:30;13229:6;2048:1;13216:30;;:12;:30::i;:::-;13248:3;13203:12;:49::i;:::-;13182:70;;13267:19;13289:32;13302:6;13310:10;13289:12;:32::i;:::-;13267:54;;13345:11;13338:18;;;;;12867:508;;:::o;4415:198::-;4528:7;669:11;:9;:11::i;:::-;661:20;;;;;;4548:57;4563:9;4574:11;4588:16;4548:14;:57::i;:::-;;4415:198;;;;:::o;2415:42::-;;;;:::o;14969:381::-;15052:7;15097:12;;15080:13;:29;;15072:38;;;;;;15121:14;15138:29;15153:13;15138:14;:29::i;:::-;15121:46;;15336:6;15329:13;;;14969:381;;;:::o;3013:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;4137:154::-;4212:7;669:11;:9;:11::i;:::-;661:20;;;;;;4232:51;4247:9;4258:11;4272:10;4232:14;:51::i;:::-;;4137:154;;;:::o;12037:254::-;12133:7;12160:21;:122;;12253:29;12265:16;12253:11;:29::i;:::-;12160:122;;;12216:16;:34;12233:16;12216:34;;;;;;;;;;;;;;;;12184:29;12196:16;12184:11;:29::i;:::-;:66;12160:122;12153:129;;12037:254;;;;:::o;3141:32::-;;;;:::o;12363:138::-;12429:7;12456:19;:37;12476:16;12456:37;;;;;;;;;;;;;;;;12449:44;;12363:138;;;:::o;5495:58::-;5525:4;5544;5537:11;;5495:58;:::o;13441:509::-;13482:7;13602:1;13586:12;;:17;13582:361;;;2284:17;2210:16;13627:43;13620:50;;;;13582:361;13703:14;13720:20;13735:4;13720:14;:20::i;:::-;13703:37;;13755:18;13776:51;13789:32;13802:6;13810:10;:8;:10::i;:::-;13789:32;;:12;:32::i;:::-;13823:3;13776:12;:51::i;:::-;13755:72;;13842:19;13864:32;13877:6;13885:10;13864:12;:32::i;:::-;13842:54;;13920:11;13913:18;;;;;13441:509;;:::o;1889:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8976:233::-;9061:4;9078:101;9094:10;9106:7;9115:63;9128:11;:23;9140:10;9128:23;;;;;;;;;;;;;;;:32;9152:7;9128:32;;;;;;;;;;;;;;;;9162:15;9115:12;:63::i;:::-;9078:15;:101::i;:::-;9197:4;9190:11;;8976:233;;;;:::o;9299:525::-;9393:4;423:1;400:20;409:10;400:8;:20::i;:::-;:24;392:33;;;;;;9428:24;9455:10;9428:37;;9556:19;:37;9576:16;9556:37;;;;;;;;;;;;;;;;9537:15;:56;;9529:65;;;;;;9696:1;9664:29;9676:4;9682:10;9664:11;:29::i;:::-;:33;9660:76;;;9714:10;:8;:10::i;:::-;9660:76;9755:61;9772:10;9783:15;9799:16;9755;:61::i;:::-;9748:68;;;9299:525;;;;:::o;14514:374::-;14590:7;14635:12;;14618:13;:29;;14610:38;;;;;;14659:14;14676:29;14691:13;14676:14;:29::i;:::-;14659:46;;14716:18;14737:49;14750:30;14763:6;2048:1;14750:30;;:12;:30::i;:::-;14782:3;14737:12;:49::i;:::-;14716:70;;14797:19;14819:32;14832:6;14840:10;14819:12;:32::i;:::-;14797:54;;14869:11;14862:18;;;;;14514:374;;;:::o;2940:51::-;;;;;;;;;;;;;;;;;:::o;3069:23::-;;;;:::o;16235:88::-;16277:4;16314:1;16299:13;;:16;;16292:23;;16235:88;:::o;3258:28::-;;;;:::o;11546:127::-;11611:7;11638:27;11648:16;11638:9;:27::i;:::-;11631:34;;11546:127;;;:::o;8021:138::-;8095:7;8122:11;:19;8134:6;8122:19;;;;;;;;;;;;;;;:29;8142:8;8122:29;;;;;;;;;;;;;;;;8115:36;;8021:138;;;;:::o;2889:44::-;;;;;;;;;;;;;;;;;:::o;6653:1311::-;423:1;400:20;409:10;400:8;:20::i;:::-;:24;392:33;;;;;;6748:24;6775:10;6748:37;;6856:19;:37;6876:16;6856:37;;;;;;;;;;;;;;;;6837:15;:56;;6829:65;;;;;;6905:15;6923;6905:33;;6949:14;6966:23;6981:7;6966:14;:23::i;:::-;6949:40;;7000:18;7021:49;7034:30;7047:6;2048:1;7034:30;;:12;:30::i;:::-;7066:3;7021:12;:49::i;:::-;7000:70;;7081:19;7103:32;7116:6;7124:10;7103:12;:32::i;:::-;7081:54;;7196:35;7209:12;;7223:7;7196:12;:35::i;:::-;7181:12;:50;;;;7282:60;7295:19;:37;7315:16;7295:37;;;;;;;;;;;;;;;;7334:7;7282:12;:60::i;:::-;7242:19;:37;7262:16;7242:37;;;;;;;;;;;;;;;:100;;;;7392:22;2348:7;7456:11;:23;7445:7;7427:15;;:25;:53;7392:89;;7524:15;7492:10;:28;7503:16;7492:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;7614:1;7599:12;;:16;7595:194;;;7707:70;7720:15;;7764:12;;2348:7;7738:10;:22;7737:39;;;;;;7707:12;:70::i;:::-;7689:15;:88;;;;7595:194;7858:3;7823:49;;7832:16;7823:49;;;7864:7;7823:49;;;;;;;;;;;;;;;;;;7900:16;7888:68;;;7918:7;7927:11;7940:3;7945:10;:8;:10::i;:::-;7888:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;436:1;;;;;;6653:1311;:::o;11243:106::-;11293:7;11320:21;11313:28;;11243:106;:::o;5608:289::-;5697:24;5724:10;5697:37;;5745:15;5763:19;:37;5783:16;5763:37;;;;;;;;;;;;;;;;5745:55;;5825:1;5815:7;:11;5811:30;;;5828:13;5833:7;5828:4;:13::i;:::-;5811:30;5879:10;:8;:10::i;:::-;5608:289;;:::o;4681:764::-;569:1;537:29;549:4;555:10;537:11;:29::i;:::-;:33;529:42;;;;;;4764:18;4785:30;4797:5;4804:10;4785:11;:30::i;:::-;4764:51;;4913:32;4948:10;4913:45;;2348:7;5012:10;:22;4969:10;:28;4980:16;4969:28;;;;;;;;;;;;;;;;:66;;;;;;;;;;;5094:16;:34;5111:16;5094:34;;;;;;;;;;;;;;;;5080:48;;;;5176:1;5139:16;:34;5156:16;5139:34;;;;;;;;;;;;;;;:38;;;;5266:15;5284:59;5299:10;5319:3;5326:16;5284:14;:59::i;:::-;5266:77;;5399:16;5384:53;;;5417:10;5429:7;5384:53;;;;;;;;;;;;;;;;;;;;;;;;582:1;;;4681:764::o;15358:442::-;15400:5;15415:14;15457:9;15432:21;:34;15415:51;;15489:7;15481:6;:15;15477:50;;15515:2;15508:9;;;;;15477:50;15547:7;15539:6;:15;15535:50;;15573:2;15566:9;;;;;15535:50;15605:10;15597:6;:18;15593:53;;15634:2;15627:9;;;;;15593:53;15666:10;15658:6;:18;15654:53;;15695:2;15688:9;;;;;15654:53;15727:10;15719:6;:18;15715:53;;15756:2;15749:9;;;;;15715:53;15785:2;15778:9;;;15358:442;;:::o;25004:208::-;25062:7;25091:1;25086;:6;25082:47;;;25116:1;25109:8;;;;25082:47;25139:9;25155:1;25151;:5;25139:17;;25183:1;25178;25174;:5;;;;;;:10;25167:18;;;;25203:1;25196:8;;;25004:208;;;;;:::o;25307:288::-;25365:7;25464:9;25480:1;25476;:5;;;;;;25464:17;;25586:1;25579:8;;;25307:288;;;;:::o;25721:123::-;25779:7;25811:1;25806;:6;;25799:14;;;;25835:1;25831;:5;25824:12;;25721:123;;;;:::o;22621:939::-;22684:7;22704:26;22754:4;2210:16;22733:25;22704:54;;22769:23;23504:12;;2284:17;22883:564;22919:466;23345:12;;23326:18;2284:17;23297:1;:26;:47;:60;23232:1;23216:12;;:17;23210:1;2284:17;23184:27;23183:51;23115:4;23106:6;:13;23097:4;2284:17;23072:29;23067:1;:35;:53;23003:1;22981:18;:23;22980:141;:255;:378;22919:4;:466::i;:::-;23410:18;22883:12;:564::i;:::-;22820:669;;;;;;22805:712;22769:748;;23537:15;23530:22;;;;22621:939;;;:::o;25919:147::-;25977:7;25997:9;26013:1;26009;:5;25997:17;;26037:1;26032;:6;;26025:14;;;;26057:1;26050:8;;;25919:147;;;;:::o;20627:686::-;20733:19;20755:10;:28;20766:16;20755:28;;;;;;;;;;;;;;;;;;;;;;;;;20733:50;;20788:16;20807:2;20788:21;;20841:3;20818:27;;:11;:27;;;20814:495;;20867:1;20857:6;:11;;;20853:30;;;20881:2;20870:13;;20853:30;20903:1;20893:6;:11;;;20889:30;;;20917:2;20906:13;;20889:30;20939:1;20929:6;:11;;;:26;;;;20954:1;20944:6;:11;;;20929:26;20925:45;;;20968:2;20957:13;;20925:45;20990:1;20980:6;:11;;;:26;;;;21005:1;20995:6;:11;;;20980:26;20976:44;;;21019:1;21008:12;;20976:44;21026:25;21054:57;21067:38;21080:14;21096:8;21067:12;:38::i;:::-;21107:3;21054:12;:57::i;:::-;21026:85;;21149:62;21162:16;:29;21179:11;21162:29;;;;;;;;;;;;;;;;21193:17;21149:12;:62::i;:::-;21117:16;:29;21134:11;21117:29;;;;;;;;;;;;;;;:94;;;;21230:1;21221:6;:10;;;21217:87;;;21240:57;21259:11;21272:14;21295:1;21288:6;:8;21240:18;:57::i;:::-;21217:87;20814:495;;20627:686;;;;;:::o;21497:822::-;21595:13;21611:60;21624:36;21637:3;21642:17;;21624:12;:36::i;:::-;21662:8;21611:12;:60::i;:::-;21595:76;;21688:1;21680:5;:9;:46;;;;;21722:3;21693:33;;:17;;;;;;;;;;;:33;;;;21680:46;:62;;;;;21741:1;21730:8;;:12;21680:62;21676:349;;;21796:8;;21772:21;:32;21768:84;;;21824:21;21813:8;:32;;;;21768:84;21863:17;;;;;;;;;;;:22;;:48;21886:24;21899:8;;21908:1;21886:12;:24::i;:::-;21863:48;;;;;;;;;;;;;;;;;;;;;;;;21928:24;21941:8;;21950:1;21928:12;:24::i;:::-;21917:8;:35;;;;21978:3;21958:17;:23;;;;22015:3;21987:17;;:32;;;;;;;;;;;;;;;;;;21676:349;22033:27;22063:59;22076:40;22089:14;22105:10;:8;:10::i;:::-;22076:40;;:12;:40::i;:::-;22118:3;22063:12;:59::i;:::-;22033:89;;22139:56;22152:37;22165:19;22186:2;22152:12;:37::i;:::-;22191:3;22139:12;:56::i;:::-;22127:8;;:68;;;;;;;;;;;22226:9;22208:14;:27;22204:111;;22264:16;22244:17;;:36;;;;;;;;;;;;;;;;;;22306:3;22286:17;:23;;;;22204:111;21497:822;;;;:::o;8352:384::-;8482:3;8464:22;;:6;:22;;;;8456:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8566:3;8546:24;;:8;:24;;;;8538:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8654:15;8622:11;:19;8634:6;8622:19;;;;;;;;;;;;;;;:29;8642:8;8622:29;;;;;;;;;;;;;;;:47;;;;8702:8;8685:43;;8694:6;8685:43;;;8712:15;8685:43;;;;;;;;;;;;;;;;;;8352:384;;;:::o;10175:795::-;10287:4;10322:24;10349:12;10322:39;;10442:68;10455:19;:37;10475:16;10455:37;;;;;;;;;;;;;;;;10494:15;10442:12;:68::i;:::-;10402:19;:37;10422:16;10402:37;;;;;;;;;;;;;;;:108;;;;10555:62;10568:19;:31;10588:10;10568:31;;;;;;;;;;;;;;;;10601:15;10555:12;:62::i;:::-;10521:19;:31;10541:10;10521:31;;;;;;;;;;;;;;;:96;;;;10727:15;10709;;:33;10667:10;:28;10678:16;10667:28;;;;;;;;;;;;;;;;:76;;;;;;;;;;;10808:15;10790;;:33;10754:10;:22;10765:10;10754:22;;;;;;;;;;;;;;;;:70;;;;;;;;;;;10892:10;10865:55;;10874:16;10865:55;;;10904:15;10865:55;;;;;;;;;;;;;;;;;;10958:4;10951:11;;;10175:795;;;;;:::o;23829:707::-;23893:7;23913:15;23942:4;23932:7;:14;23913:34;;23958:20;23997:4;23982:12;;:19;23958:44;;24013:22;24489:4;24102:375;24372:4;24362:7;:14;2284:17;24277:4;24262:12;:19;;;;;;2284:17;24236:46;2210:16;24214:69;24183:152;24156:221;24461:1;24452:4;24441:7;24437:1;24426:7;:12;:22;24425:31;;;;;;2284:17;24399:58;24398:64;;;;;;24102:12;:375::i;:::-;:391;;;;;;24013:481;;24514:14;24507:21;;;;;23829:707;;;:::o;24591:209::-;24639:9;24661;24683:1;24678;24674;:5;24673:11;;;;;;24661:23;;24699:1;24695:5;;24713:80;24724:1;24720;:5;24713:80;;;24746:1;24742:5;;24780:1;24775;24771;24767;:5;;;;;;:9;24766:15;;;;;;24762:19;;24713:80;;;24591:209;;;;:::o

Swarm Source

bzzr://46f2496d7b9410f74affd4f350d6bdacdba071c50738aa3bb48b20fd1b7daf65
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.