Token UCOSTOKEN

 

Overview [ERC-20]

Max Total Supply:
116,611,677.816075 UCOS

Holders:
100

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

Ucostoken is to enhance the Ucos community-based eco-systems in the coming days.

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UCOSTOKEN

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-02-24
*/

pragma solidity ^0.4.24;

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

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

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

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
  
  function percent(uint value,uint numerator, uint denominator, uint precision) internal pure  returns(uint quotient) {
    uint _numerator  = numerator * 10 ** (precision+1);
    uint _quotient =  ((_numerator / denominator) + 5) / 10;
    return (value*_quotient/1000000000000000000);
  }
}

contract ERC20 {
  function totalSupply()public view returns (uint total_Supply);
  function balanceOf(address who)public view returns (uint256);
  function allowance(address owner, address spender)public view returns (uint);
  function transferFrom(address from, address to, uint value)public returns (bool ok);
  function approve(address spender, uint value)public returns (bool ok);
  function transfer(address to, uint value);
  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}


contract UCOSTOKEN is ERC20 { 
    
    using SafeMath for uint256;
    string public constant name     		= "UCOSTOKEN";                  // Name of the token
    string public constant symbol   		= "UCOS";                       // Symbol of token
    uint8 public constant decimals  		= 18;                           // Decimal of token
    uint public premined           			= 45000000 * 10 ** 18;          // 45 million in premined
    uint public smartmine           		= 60000000 * 10 ** 18;      	// 60 million in Smart Mining
    uint public posmine    					= 45000000 * 10 ** 18;         	// 45 million in POS Mining
    address public owner;                                           		// Owner of this contract
	address public founder;
	address public developer;
	uint256 internal stakePer_              = 1500000000000000000;			//POS stake percent
	mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal stakeBalanceLedger_;
    mapping(address => uint256) internal stakingTime_;
	
	
    mapping(address => uint256) internal mintingDate;
    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;
	
	//Genesis Mining start
	uint256 public totalGenesisAddresses;
    uint256 public currentGenesisAddresses;
    uint256 public initialSupplyPerAddress;
    uint256 public initialBlockCount;
    uint256 private minedBlocks;
    uint256 public rewardPerBlockPerAddress;
    uint256 private availableAmount;
    uint256 private availableBalance;
    uint256 private totalMaxAvailableAmount;
     mapping (address => bool) public genesisAddress;
    
    modifier onlyOwner() {
        if (msg.sender != owner) {
            revert();
        }
        _;
    }

    function UCOSTOKEN() {
	
		uint developerbal 	= 2250000 * 10 ** 18;  //5% from premined for developer
		developer = 0x120f8717d16d4167DA4e8c6217Ba718cA2C299fB;
		founder = 0xe860E8A7d8AC08AfBB0b03BCB5c0B822A776159C;
        balances[msg.sender] = developerbal;
        Transfer(0, msg.sender, developerbal);
		balances[founder] = premined - developerbal;
        Transfer(0, founder, premined - developerbal);
        
		
		
		
		rewardPerBlockPerAddress = 38051750000000000;
		initialSupplyPerAddress = 400000 * 10 ** 18;
		totalGenesisAddresses = 150;
		currentGenesisAddresses = 0;
		initialBlockCount = block.number;
    }
    
      
    // What is the balance of a particular account?
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }
    
    // Token minting function
	
	function mint(uint256 _amountOfTokens) public{
        address _customerAddress            = msg.sender;
        require(_amountOfTokens >= 1000 * 10 ** 18);
        require (balances[_customerAddress] >= _amountOfTokens);
       
        stakingTime_[_customerAddress]      = now;
        stakeBalanceLedger_[_customerAddress] = SafeMath.add(stakeBalanceLedger_[_customerAddress], _amountOfTokens);
        balances[_customerAddress] = SafeMath.sub(balances[_customerAddress], _amountOfTokens);
		
		
    }
	
	 function stakeTokensTime(address _customerAddress) public view returns(uint256){
        return stakingTime_[_customerAddress];
    }
	
	function unmint() public {
       
        address _customerAddress            = msg.sender;
    
       
        uint256 _amountOfTokens             = stakeBalanceLedger_[_customerAddress];
        uint256 timediff                    = SafeMath.sub(now, stakingTime_[_customerAddress]);
        uint256 dayscount                   = SafeMath.div(timediff, 604800); //Weekly POS rewards
        uint256 roiPercent                  = SafeMath.mul(dayscount, stakePer_);
        uint256 roiTokens                   = SafeMath.percent(_amountOfTokens,roiPercent,100,18);
        uint256 finalBalance                = SafeMath.add(_amountOfTokens,roiTokens/1e18);
        
    
        balances[_customerAddress] = SafeMath.add(balances[_customerAddress], finalBalance);
        stakeBalanceLedger_[_customerAddress] = 0;
        stakingTime_[_customerAddress]      = 0;
        
    }
	
	
    
    
    // Send _value amount of tokens from address _from to address _to
    // The transferFrom method is used for a withdraw workflow, allowing contracts to send
    // tokens on your behalf, for example to "deposit" to a contract address and/or to charge
    // fees in sub-currencies; the command should fail unless the _from account has
    // deliberately authorized the sender of the message via some mechanism; we propose
    // these standardized APIs for approval:
    function transferFrom( address _from, address _to, uint256 _amount ) public returns (bool success) {
        require( _to != 0x0);
        require(balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount >= 0);
        balances[_from] = (balances[_from]).sub(_amount);
        allowed[_from][msg.sender] = (allowed[_from][msg.sender]).sub(_amount);
        balances[_to] = (balances[_to]).add(_amount);
        Transfer(_from, _to, _amount);
        return true;
    }
    
    // Allow _spender to withdraw from your account, multiple times, up to the _value amount.
    // If this function is called again it overwrites the current allowance with _value.
    function approve(address _spender, uint256 _amount) public returns (bool success) {
        require( _spender != 0x0);
        allowed[msg.sender][_spender] = _amount;
        Approval(msg.sender, _spender, _amount);
        return true;
    }
  
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        require( _owner != 0x0 && _spender !=0x0);
        return allowed[_owner][_spender];
    }

    
	
	 function transfer(address _to, uint256 _value)
    {
      if (genesisAddress[_to]) throw;

      if (balances[msg.sender] < _value) throw;

      if (balances[_to] + _value < balances[_to]) throw;

      if (genesisAddress[msg.sender])
      {
    	   minedBlocks = block.number - initialBlockCount;
         if(minedBlocks % 2 != 0){
           minedBlocks = minedBlocks - 1;
         }
    	    if (minedBlocks < 10512000)
    	     {
    		       availableAmount = rewardPerBlockPerAddress*minedBlocks;
    		       totalMaxAvailableAmount = initialSupplyPerAddress - availableAmount;
    		       availableBalance = balances[msg.sender] - totalMaxAvailableAmount;
    		       if (_value > availableBalance) throw;
    	     }
      }
      balances[msg.sender] -= _value;
      balances[_to] += _value;
      Transfer(msg.sender, _to, _value);
    }
    
    // Transfer the balance from owner's account to another account
    function transferTokens(address _to, uint256 _amount) private returns (bool success) {
        require( _to != 0x0);       
        require(balances[address(this)] >= _amount && _amount > 0);
        balances[address(this)] = (balances[address(this)]).sub(_amount);
        balances[_to] = (balances[_to]).add(_amount);
        Transfer(address(this), _to, _amount);
        return true;
    }
	
	function currentEthBlock() constant returns (uint256 blockNumber)
    {
    	return block.number;
    }

    function currentBlock() constant returns (uint256 blockNumber)
    {
      if(initialBlockCount == 0){
        return 0;
      }
      else{
      return block.number - initialBlockCount;
    }
    }
	
	//set Genesis
	
    function setGenesisAddressArray(address[] _address) public returns (bool success)
    {
      if(initialBlockCount == 0) throw;
      uint256 tempGenesisAddresses = currentGenesisAddresses + _address.length;
      if (tempGenesisAddresses <= totalGenesisAddresses )
    	{
    		if (msg.sender == developer)
    		{
          currentGenesisAddresses = currentGenesisAddresses + _address.length;
    			for (uint i = 0; i < _address.length; i++)
    			{
    				balances[_address[i]] = initialSupplyPerAddress;
    				genesisAddress[_address[i]] = true;
    			}
    			return true;
    		}
    	}
    	return false;
    }
	  function availableBalanceOf(address _address) constant returns (uint256 Balance)
    {
    	if (genesisAddress[_address])
    	{
    		minedBlocks = block.number - initialBlockCount;
        if(minedBlocks % 2 != 0){
          minedBlocks = minedBlocks - 1;
        }

    		if (minedBlocks >= 10512000) return balances[_address];
    		  availableAmount = rewardPerBlockPerAddress*minedBlocks;
    		  totalMaxAvailableAmount = initialSupplyPerAddress - availableAmount;
          availableBalance = balances[_address] - totalMaxAvailableAmount;
          return availableBalance;
    	}
    	else {
    		return balances[_address];
      }
    }

    function totalSupply() constant returns (uint256 totalSupply)
    {
      if (initialBlockCount != 0)
      {
      minedBlocks = block.number - initialBlockCount;
      if(minedBlocks % 2 != 0){
        minedBlocks = minedBlocks - 1;
      }
    	availableAmount = rewardPerBlockPerAddress*minedBlocks;
    }
    else{
      availableAmount = 0;
    }
    	return availableAmount*totalGenesisAddresses+premined+posmine;
    }

    function maxTotalSupply() constant returns (uint256 maxSupply)
    {
    	return initialSupplyPerAddress*totalGenesisAddresses+premined+posmine;
    }
	

    function drain() external onlyOwner {
        owner.transfer(this.balance);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentEthBlock","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupplyPerAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalGenesisAddresses","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"availableBalanceOf","outputs":[{"name":"Balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"maxSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"smartmine","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"premined","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unmint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"founder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"stakeTokensTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address[]"}],"name":"setGenesisAddressArray","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"posmine","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentGenesisAddresses","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"drain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"developer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"genesisAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerBlockPerAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentBlock","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialBlockCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526a25391ee35a05c54d0000006000556a31a17e847807b1bc0000006001556a25391ee35a05c54d0000006002556714d1120d7b16000060065534801561004957600080fd5b5060006a01dc74be914d16aa400000905073120f8717d16d4167da4e8c6217ba718ca2c299fb600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e860e8a7d8ac08afbb0b03bcb5c0b822a776159c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38060005403600b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83600054036040518082815260200191505060405180910390a366872fdd71d4fc006012819055506954b40b1f852bda000000600f819055506096600d819055506000600e819055504360108190555050611dd7806102be6000396000f300608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610185578063095ea7b31461021557806309f6c6071461027a5780630ccde0b1146102a557806318160ddd146102d05780631cc54204146102fb57806323b872dd1461032657806325d998bb146103ab5780632ab4d052146104025780632c30268e1461042d5780632d936b4614610458578063313ce5671461048357806335f368d7146104b45780634d853ee5146104cb57806370a082311461052257806377e79b41146105795780637e5713d9146105d05780638da5cb5b1461064e57806392285db5146106a557806395d89b41146106d057806397b4ddac146107605780639890220b1461078b578063a0712d68146107a2578063a9059cbb146107cf578063ca4b208b1461081c578063d95efb9814610873578063dd62ed3e146108ce578063e00686e414610945578063e12ed13c14610970578063e5f65c711461099b575b600080fd5b34801561019157600080fd5b5061019a6109c6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101da5780820151818401526020810190506101bf565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022157600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109ff565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610b16565b6040518082815260200191505060405180910390f35b3480156102b157600080fd5b506102ba610b1e565b6040518082815260200191505060405180910390f35b3480156102dc57600080fd5b506102e5610b24565b6040518082815260200191505060405180910390f35b34801561030757600080fd5b50610310610b90565b6040518082815260200191505060405180910390f35b34801561033257600080fd5b50610391600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b96565b604051808215151515815260200191505060405180910390f35b3480156103b757600080fd5b506103ec600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f49565b6040518082815260200191505060405180910390f35b34801561040e57600080fd5b506104176110d8565b6040518082815260200191505060405180910390f35b34801561043957600080fd5b506104426110ee565b6040518082815260200191505060405180910390f35b34801561046457600080fd5b5061046d6110f4565b6040518082815260200191505060405180910390f35b34801561048f57600080fd5b506104986110fa565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104c057600080fd5b506104c96110ff565b005b3480156104d757600080fd5b506104e0611305565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052e57600080fd5b50610563600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061132b565b6040518082815260200191505060405180910390f35b34801561058557600080fd5b506105ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611374565b6040518082815260200191505060405180910390f35b3480156105dc57600080fd5b50610634600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506113bd565b604051808215151515815260200191505060405180910390f35b34801561065a57600080fd5b50610663611543565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106b157600080fd5b506106ba611569565b6040518082815260200191505060405180910390f35b3480156106dc57600080fd5b506106e561156f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561072557808201518184015260208101905061070a565b50505050905090810190601f1680156107525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561076c57600080fd5b506107756115a8565b6040518082815260200191505060405180910390f35b34801561079757600080fd5b506107a06115ae565b005b3480156107ae57600080fd5b506107cd6004803603810190808035906020019092919050505061168c565b005b3480156107db57600080fd5b5061081a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611857565b005b34801561082857600080fd5b50610831611b8e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087f57600080fd5b506108b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bb4565b604051808215151515815260200191505060405180910390f35b3480156108da57600080fd5b5061092f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bd4565b6040518082815260200191505060405180910390f35b34801561095157600080fd5b5061095a611ca3565b6040518082815260200191505060405180910390f35b34801561097c57600080fd5b50610985611ca9565b6040518082815260200191505060405180910390f35b3480156109a757600080fd5b506109b0611cc9565b6040518082815260200191505060405180910390f35b6040805190810160405280600981526020017f55434f53544f4b454e000000000000000000000000000000000000000000000081525081565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515610a2657600080fd5b81600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600043905090565b600f5481565b600080601054141515610b7357601054430360118190555060006002601154811515610b4c57fe5b06141515610b61576001601154036011819055505b60115460125402601381905550610b7c565b60006013819055505b600254600054600d54601354020101905090565b600d5481565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515610bbd57600080fd5b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610c88575081600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610c95575060008210155b1515610ca057600080fd5b610cf282600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ccf90919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc482600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ccf90919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e9682600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ce890919063ffffffff16565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561109057601054430360118190555060006002601154811515610fb857fe5b06141515610fcd576001601154036011819055505b62a0668060115410151561102257600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110d3565b60115460125402601381905550601354600f5403601581905550601554600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540360148190555060145490506110d3565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b6000600254600054600d54600f54020101905090565b60015481565b60005481565b601281565b6000806000806000806000339650600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054955061119842600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ccf565b94506111a78562093a80611d06565b93506111b584600654611d21565b92506111c5868460646012611d5c565b91506111e486670de0b6b3a7640000848115156111de57fe5b04611ce8565b905061122f600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611ce8565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060008060105414156113d157600080fd5b8351600e54019150600d548211151561153757600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611536578351600e5401600e81905550600090505b835181101561152d57600f54600b6000868481518110151561146957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016016600086848151811015156114c557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505061144b565b6001925061153c565b5b600092505b5050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b6040805190810160405280600481526020017f55434f530000000000000000000000000000000000000000000000000000000081525081565b600e5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561160a57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611689573d6000803e3d6000fd5b50565b6000339050683635c9adc5dea0000082101515156116a957600080fd5b81600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156116f757600080fd5b42600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611784600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611ce8565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611810600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611ccf565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118ae57600080fd5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156118fa57600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561198757600080fd5b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a8b576010544303601181905550600060026011548115156119f457fe5b06141515611a09576001601154036011819055505b62a066806011541015611a8a5760115460125402601381905550601354600f5403601581905550601554600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403601481905550601454811115611a8957600080fd5b5b5b80600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60166020528060005260406000206000915054906101000a900460ff1681565b6000808373ffffffffffffffffffffffffffffffffffffffff1614158015611c13575060008273ffffffffffffffffffffffffffffffffffffffff1614155b1515611c1e57600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b6000806010541415611cbe5760009050611cc6565b601054430390505b90565b60105481565b6000828211151515611cdd57fe5b818303905092915050565b6000808284019050838110151515611cfc57fe5b8091505092915050565b6000808284811515611d1457fe5b0490508091505092915050565b6000806000841415611d365760009150611d55565b8284029050828482811515611d4757fe5b04141515611d5157fe5b8091505b5092915050565b600080600060018401600a0a86029150600a60058684811515611d7b57fe5b0401811515611d8657fe5b049050670de0b6b3a7640000818802811515611d9e57fe5b04925050509493505050505600a165627a7a723058207907b822fe76efb3ea8a75afbb319ef0e346fb9ba1b25e76cb9bba3e41d5b6630029

Deployed ByteCode Sourcemap

1763:9630:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1838:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1838:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1838:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7191:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7191:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9027:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9027:106:0;;;;;;;;;;;;;;;;;;;;;;;3089:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3089:38:0;;;;;;;;;;;;;;;;;;;;;;;10695:440;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10695:440:0;;;;;;;;;;;;;;;;;;;;;;;3001:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3001:36:0;;;;;;;;;;;;;;;;;;;;;;;6496:498;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6496:498:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10022:665;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10022:665:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11143:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11143:153:0;;;;;;;;;;;;;;;;;;;;;;;2208:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2208:55:0;;;;;;;;;;;;;;;;;;;;;;;2111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2111:55:0;;;;;;;;;;;;;;;;;;;;;;;2020:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2020:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5096:898;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5096:898:0;;;;;;2493:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2493:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4273:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4273:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4955:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4955:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9376:641;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9376:641:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2399:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2399:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2306:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2306:49:0;;;;;;;;;;;;;;;;;;;;;;;1930:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1930:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1930:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3044:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3044:38:0;;;;;;;;;;;;;;;;;;;;;;;11307:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11307:83:0;;;;;;4431:517;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4431:517:0;;;;;;;;;;;;;;;;;;;;;;;;;;7660:880;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7660:880:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2519:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2519:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3377:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3377:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7449:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7449:196:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3207:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3207:39:0;;;;;;;;;;;;;;;;;;;;;;;9141:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9141:207:0;;;;;;;;;;;;;;;;;;;;;;;3134:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3134:32:0;;;;;;;;;;;;;;;;;;;;;;;1838:47;;;;;;;;;;;;;;;;;;;;:::o;7191:248::-;7259:12;7305:3;7293:8;:15;;;;7284:25;;;;;;;;7352:7;7320;:19;7328:10;7320:19;;;;;;;;;;;;;;;:29;7340:8;7320:29;;;;;;;;;;;;;;;:39;;;;7391:8;7370:39;;7379:10;7370:39;;;7401:7;7370:39;;;;;;;;;;;;;;;;;;7427:4;7420:11;;7191:248;;;;:::o;9027:106::-;9072:19;9113:12;9106:19;;9027:106;:::o;3089:38::-;;;;:::o;10695:440::-;10736:19;10796:1;10775:17;;:22;;10771:288;;;10844:17;;10829:12;:32;10815:11;:46;;;;10892:1;10887;10873:11;;:15;;;;;;;;:20;;10870:74;;;10933:1;10919:11;;:15;10905:11;:29;;;;10870:74;10994:11;;10969:24;;:36;10951:15;:54;;;;10771:288;;;11050:1;11032:15;:19;;;;10771:288;11120:7;;11111:8;;11089:21;;11073:15;;:37;:46;:54;11066:61;;10695:440;:::o;3001:36::-;;;;:::o;6496:498::-;6581:12;6622:3;6615;:10;;;;6606:20;;;;;;;;6664:7;6645:8;:15;6654:5;6645:15;;;;;;;;;;;;;;;;:26;;:67;;;;;6705:7;6675;:14;6683:5;6675:14;;;;;;;;;;;;;;;:26;6690:10;6675:26;;;;;;;;;;;;;;;;:37;;6645:67;:83;;;;;6727:1;6716:7;:12;;6645:83;6637:92;;;;;;;;6758:30;6780:7;6759:8;:15;6768:5;6759:15;;;;;;;;;;;;;;;;6758:21;;:30;;;;:::i;:::-;6740:8;:15;6749:5;6740:15;;;;;;;;;;;;;;;:48;;;;6828:41;6861:7;6829;:14;6837:5;6829:14;;;;;;;;;;;;;;;:26;6844:10;6829:26;;;;;;;;;;;;;;;;6828:32;;:41;;;;:::i;:::-;6799:7;:14;6807:5;6799:14;;;;;;;;;;;;;;;:26;6814:10;6799:26;;;;;;;;;;;;;;;:70;;;;6896:28;6916:7;6897:8;:13;6906:3;6897:13;;;;;;;;;;;;;;;;6896:19;;:28;;;;:::i;:::-;6880:8;:13;6889:3;6880:13;;;;;;;;;;;;;;;:44;;;;6951:3;6935:29;;6944:5;6935:29;;;6956:7;6935:29;;;;;;;;;;;;;;;;;;6982:4;6975:11;;6496:498;;;;;:::o;10022:665::-;10086:15;10120:14;:24;10135:8;10120:24;;;;;;;;;;;;;;;;;;;;;;;;;10116:564;;;10190:17;;10175:12;:32;10161:11;:46;;;;10240:1;10235;10221:11;;:15;;;;;;;;:20;;10218:78;;;10283:1;10269:11;;:15;10255:11;:29;;;;10218:78;10325:8;10310:11;;:23;;10306:54;;;10342:8;:18;10351:8;10342:18;;;;;;;;;;;;;;;;10335:25;;;;10306:54;10414:11;;10389:24;;:36;10371:15;:54;;;;10488:15;;10462:23;;:41;10436:23;:67;;;;10556:23;;10535:8;:18;10544:8;10535:18;;;;;;;;;;;;;;;;:44;10516:16;:63;;;;10599:16;;10592:23;;;;10116:564;10652:8;:18;10661:8;10652:18;;;;;;;;;;;;;;;;10645:25;;10022:665;;;;:::o;11143:153::-;11187:17;11281:7;;11272:8;;11250:21;;11226:23;;:45;:54;:62;11219:69;;11143:153;:::o;2208:55::-;;;;:::o;2111:::-;;;;:::o;2020:38::-;2056:2;2020:38;:::o;5096:898::-;5141:24;5215:23;5301:16;5399:17;5499:18;5582:17;5682:20;5179:10;5141:48;;5253:19;:37;5273:16;5253:37;;;;;;;;;;;;;;;;5215:75;;5339:49;5352:3;5357:12;:30;5370:16;5357:30;;;;;;;;;;;;;;;;5339:12;:49::i;:::-;5301:87;;5437:30;5450:8;5460:6;5437:12;:30::i;:::-;5399:68;;5537:34;5550:9;5561;;5537:12;:34::i;:::-;5499:72;;5620:51;5637:15;5653:10;5664:3;5668:2;5620:16;:51::i;:::-;5582:89;;5720:44;5733:15;5759:4;5749:9;:14;;;;;;;;5720:12;:44::i;:::-;5682:82;;5820:54;5833:8;:26;5842:16;5833:26;;;;;;;;;;;;;;;;5861:12;5820;:54::i;:::-;5791:8;:26;5800:16;5791:26;;;;;;;;;;;;;;;:83;;;;5925:1;5885:19;:37;5905:16;5885:37;;;;;;;;;;;;;;;:41;;;;5975:1;5937:12;:30;5950:16;5937:30;;;;;;;;;;;;;;;:39;;;;5096:898;;;;;;;:::o;2493:22::-;;;;;;;;;;;;;:::o;4273:115::-;4329:15;4364:8;:16;4373:6;4364:16;;;;;;;;;;;;;;;;4357:23;;4273:115;;;:::o;4955:135::-;5026:7;5052:12;:30;5065:16;5052:30;;;;;;;;;;;;;;;;5045:37;;4955:135;;;:::o;9376:641::-;9444:12;9513:28;9792:6;9496:1;9475:17;;:22;9472:32;;;9499:5;;;9472:32;9570:8;:15;9544:23;;:41;9513:72;;9622:21;;9598:20;:45;;9594:396;;;9679:9;;;;;;;;;;;9665:23;;:10;:23;;;9661:321;;;9762:8;:15;9736:23;;:41;9710:23;:67;;;;9801:1;9792:10;;9787:165;9808:8;:15;9804:1;:19;9787:165;;;9873:23;;9849:8;:21;9858:8;9867:1;9858:11;;;;;;;;;;;;;;;;;;9849:21;;;;;;;;;;;;;;;:47;;;;9937:4;9907:14;:27;9922:8;9931:1;9922:11;;;;;;;;;;;;;;;;;;9907:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;9825:3;;;;;;;9787:165;;;9968:4;9961:11;;;;9661:321;9594:396;10004:5;9997:12;;9376:641;;;;;;:::o;2399:20::-;;;;;;;;;;;;;:::o;2306:49::-;;;;:::o;1930:42::-;;;;;;;;;;;;;;;;;;;;:::o;3044:38::-;;;;:::o;11307:83::-;3487:5;;;;;;;;;;;3473:19;;:10;:19;;;;3469:60;;;3509:8;;;3469:60;11354:5;;;;;;;;;;;:14;;:28;11369:4;:12;;;11354:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11354:28:0;11307:83::o;4431:517::-;4487:24;4525:10;4487:48;;4573:15;4554;:34;;4546:43;;;;;;;;4639:15;4609:8;:26;4618:16;4609:26;;;;;;;;;;;;;;;;:45;;4600:55;;;;;;;;4713:3;4675:12;:30;4688:16;4675:30;;;;;;;;;;;;;;;:41;;;;4767:68;4780:19;:37;4800:16;4780:37;;;;;;;;;;;;;;;;4819:15;4767:12;:68::i;:::-;4727:19;:37;4747:16;4727:37;;;;;;;;;;;;;;;:108;;;;4875:57;4888:8;:26;4897:16;4888:26;;;;;;;;;;;;;;;;4916:15;4875:12;:57::i;:::-;4846:8;:26;4855:16;4846:26;;;;;;;;;;;;;;;:86;;;;4431:517;;:::o;7660:880::-;7725:14;:19;7740:3;7725:19;;;;;;;;;;;;;;;;;;;;;;;;;7721:30;;;7746:5;;;7721:30;7789:6;7766:8;:20;7775:10;7766:20;;;;;;;;;;;;;;;;:29;7762:40;;;7797:5;;;7762:40;7842:8;:13;7851:3;7842:13;;;;;;;;;;;;;;;;7833:6;7817:8;:13;7826:3;7817:13;;;;;;;;;;;;;;;;:22;:38;7813:49;;;7857:5;;;7813:49;7877:14;:26;7892:10;7877:26;;;;;;;;;;;;;;;;;;;;;;;;;7873:547;;;7952:17;;7937:12;:32;7923:11;:46;;;;8003:1;7998;7984:11;;:15;;;;;;;;:20;;7981:80;;;8047:1;8033:11;;:15;8019:11;:29;;;;7981:80;8090:8;8076:11;;:22;8072:339;;;8170:11;;8145:24;;:36;8127:15;:54;;;;8249:15;;8223:23;;:41;8197:23;:67;;;;8322:23;;8299:8;:20;8308:10;8299:20;;;;;;;;;;;;;;;;:46;8280:16;:65;;;;8374:16;;8365:6;:25;8361:36;;;8392:5;;;8361:36;8072:339;7873:547;8452:6;8428:8;:20;8437:10;8428:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;8484:6;8467:8;:13;8476:3;8467:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;8520:3;8499:33;;8508:10;8499:33;;;8525:6;8499:33;;;;;;;;;;;;;;;;;;7660:880;;:::o;2519:24::-;;;;;;;;;;;;;:::o;3377:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;7449:196::-;7523:17;7572:3;7562:6;:13;;;;:31;;;;;7590:3;7579:8;:14;;;;7562:31;7553:41;;;;;;;;7612:7;:15;7620:6;7612:15;;;;;;;;;;;;;;;:25;7628:8;7612:25;;;;;;;;;;;;;;;;7605:32;;7449:196;;;;:::o;3207:39::-;;;;:::o;9141:207::-;9183:19;9242:1;9221:17;;:22;9218:123;;;9262:1;9255:8;;;;9218:123;9316:17;;9301:12;:32;9294:39;;9141:207;;:::o;3134:32::-;;;;:::o;607:113::-;665:7;693:1;688;:6;;681:14;;;;;;713:1;709;:5;702:12;;607:113;;;;:::o;726:133::-;784:7;800:9;816:1;812;:5;800:17;;836:1;831;:6;;824:14;;;;;;852:1;845:8;;726:133;;;;;:::o;331:270::-;389:7;480:9;496:1;492;:5;;;;;;;;480:17;;594:1;587:8;;331:270;;;;;:::o;145:180::-;203:7;262:9;228:1;223;:6;219:37;;;247:1;240:8;;;;219:37;278:1;274;:5;262:17;;302:1;297;293;:5;;;;;;;;:10;286:18;;;;;;318:1;311:8;;145:180;;;;;;:::o;867:292::-;968:13;990:15;1047:14;1038:1;1028:9;:11;1021:2;:19;1009:9;:31;990:50;;1100:2;1095:1;1080:11;1067:10;:24;;;;;;;;1066:30;1065:37;;;;;;;;1047:55;;1133:19;1123:9;1117:5;:15;:35;;;;;;;;1109:44;;867:292;;;;;;;;:::o

Swarm Source

bzzr://7907b822fe76efb3ea8a75afbb319ef0e346fb9ba1b25e76cb9bba3e41d5b663

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.