ETH Price: $2,307.25 (-0.14%)

Token

Stark Chain (STARK)
 

Overview

Max Total Supply

8,959,005 STARK

Holders

37 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 STARK

Value
$0.00
0x73c505819b78036bf47a78a63f129d734beb687b
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

An ERC-20 token that can be integrated into everyday life with its MEMO feature, reverse-halving algorithm, and environmentally friendly mining.

IEO Information

IEO Address : https://piyasa.net/trading/starktry
IEO Start Date : Aug 25, 2020
IEO Price : $219

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
StarkChain

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at Etherscan.io on 2020-08-19
*/

pragma solidity >=0.5.16 <0.6.9;
pragma experimental ABIEncoderV2;
//YOUWILLNEVERWALKALONE
interface tokenRecipient {
    function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external;
}

contract StarkChain {
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    uint256 public totalSupply;
    address payable public fundsWallet;
    uint256 public maximumTarget;
    uint256 public lastBlock;
    uint256 public rewardTimes;
    uint256 public genesisReward;
    uint256 public premined;
    uint256 public nRewarMod;
    uint256 public nWtime;


    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event Burn(address indexed from, uint256 value);

    constructor(
        uint256 initialSupply,
        string memory tokenName,
        string memory tokenSymbol
    ) public {
        initialSupply = 8923155  * 10 ** uint256(decimals);
        tokenName = "Stark Chain";
        tokenSymbol = "STARK";
        lastBlock = 0;
        nRewarMod = 5700;        
        nWtime = 7776000;        
        genesisReward = (10**uint256(decimals)); // Ödül Miktarı
        maximumTarget = 100  * 10 ** uint256(decimals);
        fundsWallet = msg.sender;
        premined = 35850 * 10 ** uint256(decimals);
        balanceOf[msg.sender] = premined;
        balanceOf[address(this)] = initialSupply;
        totalSupply =  initialSupply + premined;
        name = tokenName;
        symbol = tokenSymbol;
    }

    function _transfer(address _from, address _to, uint _value) internal {
        require(_to != address(0x0));
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(_from, _to, _value);
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        _transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);     // Check allowance
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) public
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function approveAndCall(address _spender, uint256 _value, bytes memory _extraData)
        public
        returns (bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, address(this), _extraData);
            return true;
        }
    }

    function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
        balanceOf[msg.sender] -= _value;            // Subtract from the sender
        totalSupply -= _value;                      // Updates totalSupply
        emit Burn(msg.sender, _value);
        return true;
    }

    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]);    // Check allowance
        balanceOf[_from] -= _value;                         // Subtract from the targeted balance
        allowance[_from][msg.sender] -= _value;             // Subtract from the sender's allowance
        totalSupply -= _value;                              // Update totalSupply
        emit Burn(_from, _value);
        return true;
    }

    function uintToString(uint256 v) internal pure returns(string memory str) {
        uint maxlength = 100;
        bytes memory reversed = new bytes(maxlength);
        uint i = 0;
        while (v != 0) {
            uint remainder = v % 10;
            v = v / 10;
            reversed[i++] = byte(uint8(48 + remainder));
        }
        bytes memory s = new bytes(i + 1);
        for (uint j = 0; j <= i; j++) {
            s[j] = reversed[i - j];
        }
        str = string(s);
    }

    function append(string memory a, string memory b) internal pure returns (string memory) {
        return string(abi.encodePacked(a,"-",b));
    }
   

    function getCurrentBlockHash() public view returns (uint256) {
            return uint256(blockhash(block.number-1));
    }

    function getBlockHashAlgoritm(uint256 _blocknumber) public view returns(uint256, uint256){
        uint256 crew = uint256(blockhash(_blocknumber)) % nRewarMod;
        return (crew, block.number-1);
    }

    function checkBlockReward() public view returns (uint256, uint256) {
        uint256 crew = uint256(blockhash(block.number-1)) % nRewarMod;
        return (crew, block.number-1);
    }

    struct stakeInfo {
      uint256 _stocktime;
      uint256 _stockamount;
    }

    address[] totalminers;

    mapping (address => stakeInfo) nStockDetails;

    struct rewarddetails {
        uint256 _artyr;
        bool _didGetReward;
        bool _didisign;
    }

    mapping (string => rewarddetails) nRewardDetails;

    struct nBlockDetails {
        uint256 _bTime;
        uint256 _tInvest;
    }

    mapping (uint256 => nBlockDetails) bBlockIteration;

    struct activeMiners {
        address bUser;
    }

    mapping(uint256 => activeMiners[]) aMiners;


    function totalMinerCount() view public returns (uint256) {
        return totalminers.length;
    }


    function addressHashs() view public returns (uint256) {
        return uint256(msg.sender) % 10000000000;
    }    


    function stakerStatus(address _addr) view public returns(bool){

        if(nStockDetails[_addr]._stocktime == 0)
        {
            return false;
        }
        else 
        {
            return true;
        }
    }

    function stakerAmount(address _addr) view public returns(uint256){

        if(nStockDetails[_addr]._stocktime == 0)
        {
            return 0;
        } 
        else 
        {
            return nStockDetails[_addr]._stockamount;
        }
    }


    function stakerActiveTotal() view public returns(uint256) {
        return aMiners[lastBlock].length; 
    }
   
   
    function generalCheckPoint()  private view returns(string memory) {
       return append(uintToString(addressHashs()),uintToString(lastBlock));
    }  
    
   
    function necessarySignForReward(uint256 _bnumber) public returns (uint256)  { 
       require(stakerStatus(msg.sender) == true);
       require((block.number-1) - _bnumber  <= 100);        
       require(nStockDetails[msg.sender]._stocktime + nWtime > now);   
       require(uint256(blockhash(_bnumber)) % nRewarMod == 1);
       
       if(bBlockIteration[lastBlock]._bTime + 1800 < now)       
       {
           lastBlock += 1;
           bBlockIteration[lastBlock]._bTime = now;
       }
       require(nRewardDetails[generalCheckPoint()]._artyr == 0);

       bBlockIteration[lastBlock]._tInvest += nStockDetails[msg.sender]._stockamount;
       nRewardDetails[generalCheckPoint()]._artyr = now;
       nRewardDetails[generalCheckPoint()]._didGetReward = false;
       nRewardDetails[generalCheckPoint()]._didisign = true;
       aMiners[lastBlock].push(activeMiners(msg.sender));
       return 200;
   }

   
   function rewardGet(uint256 _bnumber) public returns(uint256) { 
       require(stakerStatus(msg.sender) == true);
       require((block.number-1) - _bnumber  > 100);        
       require(uint256(blockhash(_bnumber)) % nRewarMod == 1);
       require(nStockDetails[msg.sender]._stocktime + nWtime > now  ); 
       require(nRewardDetails[generalCheckPoint()]._didGetReward == false);
       require(nRewardDetails[generalCheckPoint()]._didisign == true);
       
       uint256 halving = lastBlock / 365;   
       

       uint256 totalRA = 128 * genesisReward;
       
       if(halving==0)
       {
           totalRA = 128 * genesisReward;
       }
       else if(halving==1)
       {
           totalRA = 256 * genesisReward;
       }
       else if(halving==2)
       {
           totalRA = 512 * genesisReward;
       }
       else if(halving==3)
       {
           totalRA = 1024 * genesisReward;
       }
       else if(halving==4)
       {
           totalRA = 2048 * genesisReward;
       }
       else if(halving==5)
       {
           totalRA = 4096 * genesisReward;
       }
       else if(halving==6)
       {
           totalRA = 8192 * genesisReward;
       }
       else if(halving==7)
       {
           totalRA = 4096 * genesisReward;
       }
       else if(halving==8)
       {
           totalRA = 2048 * genesisReward;
       }
       else if(halving==9)
       {
           totalRA = 1024 * genesisReward;
       }
       else if(halving==10)
       {
           totalRA = 512 * genesisReward;
       }
       else if(halving==11)
       {
           totalRA = 256 * genesisReward;
       }
       else if(halving==12)
       {
           totalRA = 128 * genesisReward;
       }
       else if(halving==13)
       {
           totalRA = 64 * genesisReward;
       }
       else if(halving==14)
       {
           totalRA = 32 * genesisReward;
       }
       else if(halving==15)
       {
           totalRA = 16 * genesisReward;
       }
       else if(halving==16)
       {
           totalRA = 8 * genesisReward;
       }
       else if(halving==17)
       {
           totalRA = 4 * genesisReward;
       }
       else if(halving==18)
       {
           totalRA = 2 * genesisReward;
       }
       else if(halving==19)
       {
           totalRA = 1 * genesisReward;
       }
       else if(halving>19)
       {
           totalRA = 1 * genesisReward;
       }

       uint256 usersReward = (totalRA * (nStockDetails[msg.sender]._stockamount * 100) / bBlockIteration[lastBlock]._tInvest) /  100;
       nRewardDetails[generalCheckPoint()]._didGetReward = true;
       _transfer(address(this), msg.sender, usersReward);
       return usersReward;
   }

   function startMining(uint256 mineamount) public returns (uint256) {

      uint256 realMineAmount = mineamount * 10 ** uint256(decimals);     
      require(realMineAmount >= 10 * 10 ** uint256(decimals)); 
      require(nStockDetails[msg.sender]._stocktime == 0);     
      maximumTarget +=  realMineAmount;
      nStockDetails[msg.sender]._stocktime = now;
      nStockDetails[msg.sender]._stockamount = realMineAmount;
      totalminers.push(msg.sender);
      _transfer(msg.sender, address(this), realMineAmount);
      return 200;
   }

   function tokenPayBack() public returns(uint256) {
       require(stakerStatus(msg.sender) == true);
       require(nStockDetails[msg.sender]._stocktime + nWtime < now  );
       nStockDetails[msg.sender]._stocktime = 0;
       _transfer(address(this),msg.sender,nStockDetails[msg.sender]._stockamount);
       return nStockDetails[msg.sender]._stockamount;
   }

   struct memoInfo {
       uint256 _receiveTime;
       uint256 _receiveAmount;
       address _senderAddr;
       string _senderMemo;
   }

  mapping(address => memoInfo[]) memoGetProcess;

  function sendMemoToken(uint256 _amount, address _to, string memory _memo)  public returns(uint256) {
      memoGetProcess[_to].push(memoInfo(now, _amount, msg.sender, _memo));
      _transfer(msg.sender, _to, _amount);
      return 200;
  }

  function sendMemoOnly(address _to, string memory _memo)  public returns(uint256) {
      memoGetProcess[_to].push(memoInfo(now,0, msg.sender, _memo));
      _transfer(msg.sender, _to, 0);
      return 200;
  }


  function yourMemos(address _addr, uint256 _index) view public returns(uint256,
   uint256,
   string memory,
   address) {

       uint256 rTime = memoGetProcess[_addr][_index]._receiveTime;
       uint256 rAmount = memoGetProcess[_addr][_index]._receiveAmount;
       string memory sMemo = memoGetProcess[_addr][_index]._senderMemo;
       address sAddr = memoGetProcess[_addr][_index]._senderAddr;
       if(memoGetProcess[_addr][_index]._receiveTime == 0){
            return (0, 0,"0", _addr);
       }else {
            return (rTime, rAmount,sMemo, sAddr);
       }
  }


   function yourMemosCount(address _addr) view public returns(uint256) {
       return  memoGetProcess[_addr].length;
   }

   function appendMemos(string memory a, string memory b,string memory c,string memory d) internal pure returns (string memory) {
        return string(abi.encodePacked(a,"#",b,"#",c,"#",d));
   }

   function addressToString(address _addr) public pure returns(string memory) {
    bytes32 value = bytes32(uint256(_addr));
    bytes memory alphabet = "0123456789abcdef";

    bytes memory str = new bytes(51);
    str[0] = "0";
    str[1] = "x";
    for (uint i = 0; i < 20; i++) {
        str[2+i*2] = alphabet[uint(uint8(value[i + 12] >> 4))];
        str[3+i*2] = alphabet[uint(uint8(value[i + 12] & 0x0f))];
    }
    return string(str);
}

   function getYourMemosOnly(address _addr) view public returns(string[] memory) {
       
       uint total =  memoGetProcess[_addr].length;
       string[] memory messages = new string[](total);
      
       for (uint i=0; i < total; i++) {
             
            messages[i] = appendMemos(uintToString(memoGetProcess[_addr][i]._receiveTime),memoGetProcess[_addr][i]._senderMemo,uintToString(memoGetProcess[_addr][i]._receiveAmount),addressToString(memoGetProcess[_addr][i]._senderAddr));
       }

       return messages;
   }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","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":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addressHashs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"addressToString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkBlockReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundsWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesisReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_blocknumber","type":"uint256"}],"name":"getBlockHashAlgoritm","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockHash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getYourMemosOnly","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumTarget","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nRewarMod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nWtime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bnumber","type":"uint256"}],"name":"necessarySignForReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"premined","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bnumber","type":"uint256"}],"name":"rewardGet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"string","name":"_memo","type":"string"}],"name":"sendMemoOnly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"string","name":"_memo","type":"string"}],"name":"sendMemoToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakerActiveTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"stakerAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"stakerStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mineamount","type":"uint256"}],"name":"startMining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenPayBack","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalMinerCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"yourMemos","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"yourMemosCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040526012600260006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b5060405162003b6b38038062003b6b833981810160405281019062000053919062000389565b600260009054906101000a900460ff1660ff16600a0a628828130292506040518060400160405280600b81526020017f537461726b20436861696e00000000000000000000000000000000000000000081525091506040518060400160405280600581526020017f535441524b00000000000000000000000000000000000000000000000000000081525090506000600681905550611644600a819055506276a700600b81905550600260009054906101000a900460ff1660ff16600a0a600881905550600260009054906101000a900460ff1660ff16600a0a60640260058190555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900460ff1660ff16600a0a618c0a02600981905550600954600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954830160038190555081600090805190602001906200024492919062000267565b5080600190805190602001906200025d92919062000267565b50505050620004c6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002aa57805160ff1916838001178555620002db565b82800160010185558215620002db579182015b82811115620002da578251825591602001919060010190620002bd565b5b509050620002ea9190620002ee565b5090565b6200031391905b808211156200030f576000816000905550600101620002f5565b5090565b90565b600082601f8301126200032857600080fd5b81516200033f62000339826200043f565b62000411565b915080825260208301602083018583830111156200035c57600080fd5b6200036983828462000476565b50505092915050565b6000815190506200038381620004ac565b92915050565b6000806000606084860312156200039f57600080fd5b6000620003af8682870162000372565b935050602084015167ffffffffffffffff811115620003cd57600080fd5b620003db8682870162000316565b925050604084015167ffffffffffffffff811115620003f957600080fd5b620004078682870162000316565b9150509250925092565b6000604051905081810181811067ffffffffffffffff821117156200043557600080fd5b8060405250919050565b600067ffffffffffffffff8211156200045757600080fd5b601f19601f8301169050602081019050919050565b6000819050919050565b60005b838110156200049657808201518184015260208101905062000479565b83811115620004a6576000848401525b50505050565b620004b7816200046c565b8114620004c357600080fd5b50565b61369580620004d66000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80637ac8712911610130578063a9059cbb116100b8578063d43c43ac1161007c578063d43c43ac1461075e578063dd62ed3e1461078e578063eabbb22c146107be578063f30ed32a146107dc578063f79e7354146107fa57610232565b8063a9059cbb14610692578063ab8d13e3146106c2578063b5f3b150146106e0578063c8f5a2f9146106fe578063cae9ca511461072e57610232565b8063878fd290116100ff578063878fd290146105b3578063934eb103146105e357806395d89b4114610613578063a12fe45d14610631578063a4c232571461066157610232565b80637ac87129146105265780637be8a33a146105595780637ca3d49814610577578063806b984f1461059557610232565b80632d936b46116101be5780634d016f35116101825780634d016f35146104485780635e57966d1461046657806370312de81461049657806370a08231146104c657806379cc6790146104f657610232565b80632d936b461461037c578063313ce5671461039a5780633bfd87e9146103b857806342966c68146103e857806347b272c01461041857610232565b806318160ddd1161020557806318160ddd146102c25780632194f3a2146102e057806323b872dd146102fe57806326926fba1461032e578063269714dd1461035e57610232565b806306fdde0314610237578063095ea7b3146102555780630e0d8cda146102855780631328ad5d146102a4575b600080fd5b61023f610818565b60405161024c9190613362565b60405180910390f35b61026f600480360381019061026a9190612ea7565b6108b6565b60405161027c9190613347565b60405180910390f35b61028d6109a8565b60405161029b92919061339f565b60405180910390f35b6102ac6109d0565b6040516102b99190613384565b60405180910390f35b6102ca6109f0565b6040516102d79190613384565b60405180910390f35b6102e86109f6565b6040516102f591906132be565b60405180910390f35b61031860048036038101906103139190612e04565b610a1c565b6040516103259190613347565b60405180910390f35b61034860048036038101906103439190612f73565b610b47565b6040516103559190613384565b60405180910390f35b610366610c78565b6040516103739190613384565b60405180910390f35b610384610c7e565b6040516103919190613384565b60405180910390f35b6103a2610c84565b6040516103af9190613414565b60405180910390f35b6103d260048036038101906103cd9190612f4a565b610c97565b6040516103df9190613384565b60405180910390f35b61040260048036038101906103fd9190612f4a565b611091565b60405161040f9190613347565b60405180910390f35b610432600480360381019061042d9190612f4a565b611193565b60405161043f9190613384565b60405180910390f35b61045061133a565b60405161045d9190613384565b60405180910390f35b610480600480360381019061047b9190612d9f565b611347565b60405161048d9190613362565b60405180910390f35b6104b060048036038101906104ab9190612d9f565b6115df565b6040516104bd9190613347565b60405180910390f35b6104e060048036038101906104db9190612d9f565b61163e565b6040516104ed9190613384565b60405180910390f35b610510600480360381019061050b9190612ea7565b611656565b60405161051d9190613347565b60405180910390f35b610540600480360381019061053b9190612ea7565b61186c565b60405161055094939291906133c8565b60405180910390f35b610561611b7a565b60405161056e9190613384565b60405180910390f35b61057f611cc4565b60405161058c9190613384565b60405180910390f35b61059d611cd3565b6040516105aa9190613384565b60405180910390f35b6105cd60048036038101906105c89190612d9f565b611cd9565b6040516105da9190613384565b60405180910390f35b6105fd60048036038101906105f89190612f4a565b611d79565b60405161060a9190613384565b60405180910390f35b61061b612065565b6040516106289190613362565b60405180910390f35b61064b60048036038101906106469190612d9f565b612103565b6040516106589190613325565b60405180910390f35b61067b60048036038101906106769190612f4a565b612421565b60405161068992919061339f565b60405180910390f35b6106ac60048036038101906106a79190612ea7565b612447565b6040516106b99190613347565b60405180910390f35b6106ca61245e565b6040516106d79190613384565b60405180910390f35b6106e861248a565b6040516106f59190613384565b60405180910390f35b61071860048036038101906107139190612e53565b612490565b6040516107259190613384565b60405180910390f35b61074860048036038101906107439190612ee3565b6125c2565b6040516107559190613347565b60405180910390f35b61077860048036038101906107739190612d9f565b61265b565b6040516107859190613384565b60405180910390f35b6107a860048036038101906107a39190612dc8565b6126a7565b6040516107b59190613384565b60405180910390f35b6107c66126cc565b6040516107d39190613384565b60405180910390f35b6107e46126d2565b6040516107f19190613384565b60405180910390f35b6108026126d8565b60405161080f9190613384565b60405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ae5780601f10610883576101008083540402835291602001916108ae565b820191906000526020600020905b81548152906001019060200180831161089157829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109969190613384565b60405180910390a36001905092915050565b6000806000600a54600143034060001c816109bf57fe5b069050806001430392509250509091565b600060126000600654815260200190815260200160002080549050905090565b60035481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610aa757600080fd5b81600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610b3c8484846126de565b600190509392505050565b6000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052804281526020018681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001848152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816003019080519060200190610c5f929190612c28565b505050610c6d3384866126de565b60c890509392505050565b60055481565b60095481565b600260009054906101000a900460ff1681565b600060011515610ca6336115df565b151514610cb257600080fd5b606482600143030311610cc457600080fd5b6001600a54834060001c81610cd557fe5b0614610ce057600080fd5b42600b54600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540111610d3257600080fd5b600015156010610d40612a04565b604051610d4d9190613219565b908152602001604051809103902060010160009054906101000a900460ff16151514610d7857600080fd5b600115156010610d86612a04565b604051610d939190613219565b908152602001604051809103902060010160019054906101000a900460ff16151514610dbe57600080fd5b600061016d60065481610dcd57fe5b049050600060085460800290506000821415610df0576008546080029050610fc3565b6001821415610e0757600854610100029050610fc2565b6002821415610e1e57600854610200029050610fc1565b6003821415610e3557600854610400029050610fc0565b6004821415610e4c57600854610800029050610fbf565b6005821415610e6357600854611000029050610fbe565b6006821415610e7a57600854612000029050610fbd565b6007821415610e9157600854611000029050610fbc565b6008821415610ea857600854610800029050610fbb565b6009821415610ebf57600854610400029050610fba565b600a821415610ed657600854610200029050610fb9565b600b821415610eed57600854610100029050610fb8565b600c821415610f03576008546080029050610fb7565b600d821415610f19576008546040029050610fb6565b600e821415610f2f576008546020029050610fb5565b600f821415610f45576008546010029050610fb4565b6010821415610f5b576008546008029050610fb3565b6011821415610f71576008546004029050610fb2565b6012821415610f87576008546002029050610fb1565b6013821415610f9d576008546001029050610fb0565b6013821115610faf5760085460010290505b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b60006064601160006006548152602001908152602001600020600101546064600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101540284028161102f57fe5b048161103757fe5b04905060016010611046612a04565b6040516110539190613219565b908152602001604051809103902060010160006101000a81548160ff0219169083151502179055506110863033836126de565b809350505050919050565b600081600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110df57600080fd5b81600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516111829190613384565b60405180910390a260019050919050565b600080600260009054906101000a900460ff1660ff16600a0a83029050600260009054906101000a900460ff1660ff16600a0a600a028110156111d557600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541461122457600080fd5b8060056000828254019250508190555042600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555080600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550600e339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113303330836126de565b60c8915050919050565b6000600e80549050905090565b606060008273ffffffffffffffffffffffffffffffffffffffff1660001b905060606040518060400160405280601081526020017f303132333435363738396162636465660000000000000000000000000000000081525090506060603367ffffffffffffffff811180156113bb57600080fd5b506040519080825280601f01601f1916602001820160405280156113ee5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061141f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061147c57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060008090505b60148110156115d35782600485600c8401602081106114cc57fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c60f81c60ff168151811061150457fe5b602001015160f81c60f81b82600283026002018151811061152157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535082600f60f81b85600c84016020811061156557fe5b1a60f81b1660f81c60ff168151811061157a57fe5b602001015160f81c60f81b82600283026003018151811061159757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806001019150506114b1565b50809350505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156116345760009050611639565b600190505b919050565b600c6020528060005260406000206000915090505481565b600081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156116a457600080fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561172d57600080fd5b81600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161185a9190613384565b60405180910390a26001905092915050565b6000806060600080601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002086815481106118be57fe5b90600052602060002090600402016000015490506000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020878154811061191e57fe5b90600052602060002090600402016001015490506060601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020888154811061197e57fe5b90600052602060002090600402016003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a235780601f106119f857610100808354040283529160200191611a23565b820191906000526020600020905b815481529060010190602001808311611a0657829003601f168201915b505050505090506000601360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208981548110611a7657fe5b906000526020600020906004020160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000601360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a81548110611af657fe5b9060005260206000209060040201600001541415611b60576000808b8292508191506040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090975097509750975050505050611b71565b838383839750975097509750505050505b92959194509250565b600060011515611b89336115df565b151514611b9557600080fd5b42600b54600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540110611be757600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611c7c3033600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546126de565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905090565b6000600143034060001c905090565b60065481565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415611d2e5760009050611d74565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490505b919050565b600060011515611d88336115df565b151514611d9457600080fd5b60648260014303031115611da757600080fd5b42600b54600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540111611df957600080fd5b6001600a54834060001c81611e0a57fe5b0614611e1557600080fd5b4261070860116000600654815260200190815260200160002060000154011015611e6857600160066000828254019250508190555042601160006006548152602001908152602001600020600001819055505b60006010611e74612a04565b604051611e819190613219565b90815260200160405180910390206000015414611e9d57600080fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015460116000600654815260200190815260200160002060010160008282540192505081905550426010611f10612a04565b604051611f1d9190613219565b90815260200160405180910390206000018190555060006010611f3e612a04565b604051611f4b9190613219565b908152602001604051809103902060010160006101000a81548160ff02191690831515021790555060016010611f7f612a04565b604051611f8c9190613219565b908152602001604051809103902060010160016101000a81548160ff02191690831515021790555060126000600654815260200190815260200160002060405180602001604052803373ffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505060c89050919050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120fb5780601f106120d0576101008083540402835291602001916120fb565b820191906000526020600020905b8154815290600101906020018083116120de57829003601f168201915b505050505081565b60606000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060608167ffffffffffffffff8111801561216557600080fd5b5060405190808252806020026020018201604052801561219957816020015b60608152602001906001900390816121845790505b50905060008090505b82811015612416576123f2612211601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106121fa57fe5b906000526020600020906004020160000154612a2e565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061225b57fe5b90600052602060002090600402016003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123005780601f106122d557610100808354040283529160200191612300565b820191906000526020600020905b8154815290600101906020018083116122e357829003601f168201915b5050505050612369601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858154811061235257fe5b906000526020600020906004020160010154612a2e565b6123ed601360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002086815481106123b657fe5b906000526020600020906004020160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611347565b612bca565b8282815181106123fe57fe5b602002602001018190525080806001019150506121a2565b508092505050919050565b6000806000600a54844060001c8161243557fe5b06905080600143039250925050915091565b60006124543384846126de565b6001905092915050565b60006402540be4003373ffffffffffffffffffffffffffffffffffffffff168161248457fe5b06905090565b60075481565b6000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060800160405280428152602001600081526020013373ffffffffffffffffffffffffffffffffffffffff168152602001848152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030190805190602001906125a9929190612c28565b5050506125b8338460006126de565b60c8905092915050565b6000808490506125d285856108b6565b15612652578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b815260040161261694939291906132d9565b600060405180830381600087803b15801561263057600080fd5b505af1158015612644573d6000803e3d6000fd5b505050506001915050612654565b505b9392505050565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600d602052816000526040600020602052806000526040600020600091509150505481565b600a5481565b600b5481565b60085481565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561271857600080fd5b80600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561276457600080fd5b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110156127f157600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401905081600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161296d9190613384565b60405180910390a380600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401146129fe57fe5b50505050565b6060612a29612a19612a1461245e565b612a2e565b612a24600654612a2e565b612bfc565b905090565b606060006064905060608167ffffffffffffffff81118015612a4f57600080fd5b506040519080825280601f01601f191660200182016040528015612a825781602001600182028036833780820191505090505b50905060008090505b60008514612afd576000600a8681612a9f57fe5b069050600a8681612aac57fe5b0495508060300160f81b838380600101945081518110612ac857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050612a8b565b60606001820167ffffffffffffffff81118015612b1957600080fd5b506040519080825280601f01601f191660200182016040528015612b4c5781602001600182028036833780820191505090505b50905060008090505b828111612bbd578381840381518110612b6a57fe5b602001015160f81c60f81b828281518110612b8157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612b55565b5080945050505050919050565b606084848484604051602001612be39493929190613230565b6040516020818303038152906040529050949350505050565b60608282604051602001612c1192919061328f565b604051602081830303815290604052905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612c6957805160ff1916838001178555612c97565b82800160010185558215612c97579182015b82811115612c96578251825591602001919060010190612c7b565b5b509050612ca49190612ca8565b5090565b612cca91905b80821115612cc6576000816000905550600101612cae565b5090565b90565b600081359050612cdc81613631565b92915050565b600082601f830112612cf357600080fd5b8135612d06612d018261345c565b61342f565b91508082526020830160208301858383011115612d2257600080fd5b612d2d8382846135de565b50505092915050565b600082601f830112612d4757600080fd5b8135612d5a612d5582613488565b61342f565b91508082526020830160208301858383011115612d7657600080fd5b612d818382846135de565b50505092915050565b600081359050612d9981613648565b92915050565b600060208284031215612db157600080fd5b6000612dbf84828501612ccd565b91505092915050565b60008060408385031215612ddb57600080fd5b6000612de985828601612ccd565b9250506020612dfa85828601612ccd565b9150509250929050565b600080600060608486031215612e1957600080fd5b6000612e2786828701612ccd565b9350506020612e3886828701612ccd565b9250506040612e4986828701612d8a565b9150509250925092565b60008060408385031215612e6657600080fd5b6000612e7485828601612ccd565b925050602083013567ffffffffffffffff811115612e9157600080fd5b612e9d85828601612d36565b9150509250929050565b60008060408385031215612eba57600080fd5b6000612ec885828601612ccd565b9250506020612ed985828601612d8a565b9150509250929050565b600080600060608486031215612ef857600080fd5b6000612f0686828701612ccd565b9350506020612f1786828701612d8a565b925050604084013567ffffffffffffffff811115612f3457600080fd5b612f4086828701612ce2565b9150509250925092565b600060208284031215612f5c57600080fd5b6000612f6a84828501612d8a565b91505092915050565b600080600060608486031215612f8857600080fd5b6000612f9686828701612d8a565b9350506020612fa786828701612ccd565b925050604084013567ffffffffffffffff811115612fc457600080fd5b612fd086828701612d36565b9150509250925092565b6000612fe683836130d8565b905092915050565b612ff7816135a8565b82525050565b61300681613553565b82525050565b61301581613541565b82525050565b6000613026826134c4565b61303081856134f2565b935083602082028501613042856134b4565b8060005b8581101561307e578484038952815161305f8582612fda565b945061306a836134e5565b925060208a01995050600181019050613046565b50829750879550505050505092915050565b61309981613565565b82525050565b60006130aa826134cf565b6130b48185613503565b93506130c48185602086016135ed565b6130cd81613620565b840191505092915050565b60006130e3826134da565b6130ed8185613514565b93506130fd8185602086016135ed565b61310681613620565b840191505092915050565b600061311c826134da565b6131268185613525565b93506131368185602086016135ed565b61313f81613620565b840191505092915050565b6000613155826134da565b61315f8185613536565b935061316f8185602086016135ed565b80840191505092915050565b6000613188600183613536565b91507f23000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b60006131c8600183613536565b91507f2d000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b61320481613591565b82525050565b6132138161359b565b82525050565b6000613225828461314a565b915081905092915050565b600061323c828761314a565b91506132478261317b565b9150613253828661314a565b915061325e8261317b565b915061326a828561314a565b91506132758261317b565b9150613281828461314a565b915081905095945050505050565b600061329b828561314a565b91506132a6826131bb565b91506132b2828461314a565b91508190509392505050565b60006020820190506132d36000830184612ffd565b92915050565b60006080820190506132ee6000830187612fee565b6132fb60208301866131fb565b613308604083018561300c565b818103606083015261331a818461309f565b905095945050505050565b6000602082019050818103600083015261333f818461301b565b905092915050565b600060208201905061335c6000830184613090565b92915050565b6000602082019050818103600083015261337c8184613111565b905092915050565b600060208201905061339960008301846131fb565b92915050565b60006040820190506133b460008301856131fb565b6133c160208301846131fb565b9392505050565b60006080820190506133dd60008301876131fb565b6133ea60208301866131fb565b81810360408301526133fc8185613111565b905061340b606083018461300c565b95945050505050565b6000602082019050613429600083018461320a565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561345257600080fd5b8060405250919050565b600067ffffffffffffffff82111561347357600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff82111561349f57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061354c82613571565b9050919050565b600061355e82613571565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006135b3826135ba565b9050919050565b60006135c5826135cc565b9050919050565b60006135d782613571565b9050919050565b82818337600083830152505050565b60005b8381101561360b5780820151818401526020810190506135f0565b8381111561361a576000848401525b50505050565b6000601f19601f8301169050919050565b61363a81613541565b811461364557600080fd5b50565b61365181613591565b811461365c57600080fd5b5056fea26469706673582212203a235432e3a346870391ebaf29008e8715e3ceebdeb4fb5791d07f144d0451fb64736f6c6343000606003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102325760003560e01c80637ac8712911610130578063a9059cbb116100b8578063d43c43ac1161007c578063d43c43ac1461075e578063dd62ed3e1461078e578063eabbb22c146107be578063f30ed32a146107dc578063f79e7354146107fa57610232565b8063a9059cbb14610692578063ab8d13e3146106c2578063b5f3b150146106e0578063c8f5a2f9146106fe578063cae9ca511461072e57610232565b8063878fd290116100ff578063878fd290146105b3578063934eb103146105e357806395d89b4114610613578063a12fe45d14610631578063a4c232571461066157610232565b80637ac87129146105265780637be8a33a146105595780637ca3d49814610577578063806b984f1461059557610232565b80632d936b46116101be5780634d016f35116101825780634d016f35146104485780635e57966d1461046657806370312de81461049657806370a08231146104c657806379cc6790146104f657610232565b80632d936b461461037c578063313ce5671461039a5780633bfd87e9146103b857806342966c68146103e857806347b272c01461041857610232565b806318160ddd1161020557806318160ddd146102c25780632194f3a2146102e057806323b872dd146102fe57806326926fba1461032e578063269714dd1461035e57610232565b806306fdde0314610237578063095ea7b3146102555780630e0d8cda146102855780631328ad5d146102a4575b600080fd5b61023f610818565b60405161024c9190613362565b60405180910390f35b61026f600480360381019061026a9190612ea7565b6108b6565b60405161027c9190613347565b60405180910390f35b61028d6109a8565b60405161029b92919061339f565b60405180910390f35b6102ac6109d0565b6040516102b99190613384565b60405180910390f35b6102ca6109f0565b6040516102d79190613384565b60405180910390f35b6102e86109f6565b6040516102f591906132be565b60405180910390f35b61031860048036038101906103139190612e04565b610a1c565b6040516103259190613347565b60405180910390f35b61034860048036038101906103439190612f73565b610b47565b6040516103559190613384565b60405180910390f35b610366610c78565b6040516103739190613384565b60405180910390f35b610384610c7e565b6040516103919190613384565b60405180910390f35b6103a2610c84565b6040516103af9190613414565b60405180910390f35b6103d260048036038101906103cd9190612f4a565b610c97565b6040516103df9190613384565b60405180910390f35b61040260048036038101906103fd9190612f4a565b611091565b60405161040f9190613347565b60405180910390f35b610432600480360381019061042d9190612f4a565b611193565b60405161043f9190613384565b60405180910390f35b61045061133a565b60405161045d9190613384565b60405180910390f35b610480600480360381019061047b9190612d9f565b611347565b60405161048d9190613362565b60405180910390f35b6104b060048036038101906104ab9190612d9f565b6115df565b6040516104bd9190613347565b60405180910390f35b6104e060048036038101906104db9190612d9f565b61163e565b6040516104ed9190613384565b60405180910390f35b610510600480360381019061050b9190612ea7565b611656565b60405161051d9190613347565b60405180910390f35b610540600480360381019061053b9190612ea7565b61186c565b60405161055094939291906133c8565b60405180910390f35b610561611b7a565b60405161056e9190613384565b60405180910390f35b61057f611cc4565b60405161058c9190613384565b60405180910390f35b61059d611cd3565b6040516105aa9190613384565b60405180910390f35b6105cd60048036038101906105c89190612d9f565b611cd9565b6040516105da9190613384565b60405180910390f35b6105fd60048036038101906105f89190612f4a565b611d79565b60405161060a9190613384565b60405180910390f35b61061b612065565b6040516106289190613362565b60405180910390f35b61064b60048036038101906106469190612d9f565b612103565b6040516106589190613325565b60405180910390f35b61067b60048036038101906106769190612f4a565b612421565b60405161068992919061339f565b60405180910390f35b6106ac60048036038101906106a79190612ea7565b612447565b6040516106b99190613347565b60405180910390f35b6106ca61245e565b6040516106d79190613384565b60405180910390f35b6106e861248a565b6040516106f59190613384565b60405180910390f35b61071860048036038101906107139190612e53565b612490565b6040516107259190613384565b60405180910390f35b61074860048036038101906107439190612ee3565b6125c2565b6040516107559190613347565b60405180910390f35b61077860048036038101906107739190612d9f565b61265b565b6040516107859190613384565b60405180910390f35b6107a860048036038101906107a39190612dc8565b6126a7565b6040516107b59190613384565b60405180910390f35b6107c66126cc565b6040516107d39190613384565b60405180910390f35b6107e46126d2565b6040516107f19190613384565b60405180910390f35b6108026126d8565b60405161080f9190613384565b60405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ae5780601f10610883576101008083540402835291602001916108ae565b820191906000526020600020905b81548152906001019060200180831161089157829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109969190613384565b60405180910390a36001905092915050565b6000806000600a54600143034060001c816109bf57fe5b069050806001430392509250509091565b600060126000600654815260200190815260200160002080549050905090565b60035481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610aa757600080fd5b81600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610b3c8484846126de565b600190509392505050565b6000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052804281526020018681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001848152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816003019080519060200190610c5f929190612c28565b505050610c6d3384866126de565b60c890509392505050565b60055481565b60095481565b600260009054906101000a900460ff1681565b600060011515610ca6336115df565b151514610cb257600080fd5b606482600143030311610cc457600080fd5b6001600a54834060001c81610cd557fe5b0614610ce057600080fd5b42600b54600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540111610d3257600080fd5b600015156010610d40612a04565b604051610d4d9190613219565b908152602001604051809103902060010160009054906101000a900460ff16151514610d7857600080fd5b600115156010610d86612a04565b604051610d939190613219565b908152602001604051809103902060010160019054906101000a900460ff16151514610dbe57600080fd5b600061016d60065481610dcd57fe5b049050600060085460800290506000821415610df0576008546080029050610fc3565b6001821415610e0757600854610100029050610fc2565b6002821415610e1e57600854610200029050610fc1565b6003821415610e3557600854610400029050610fc0565b6004821415610e4c57600854610800029050610fbf565b6005821415610e6357600854611000029050610fbe565b6006821415610e7a57600854612000029050610fbd565b6007821415610e9157600854611000029050610fbc565b6008821415610ea857600854610800029050610fbb565b6009821415610ebf57600854610400029050610fba565b600a821415610ed657600854610200029050610fb9565b600b821415610eed57600854610100029050610fb8565b600c821415610f03576008546080029050610fb7565b600d821415610f19576008546040029050610fb6565b600e821415610f2f576008546020029050610fb5565b600f821415610f45576008546010029050610fb4565b6010821415610f5b576008546008029050610fb3565b6011821415610f71576008546004029050610fb2565b6012821415610f87576008546002029050610fb1565b6013821415610f9d576008546001029050610fb0565b6013821115610faf5760085460010290505b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b60006064601160006006548152602001908152602001600020600101546064600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101540284028161102f57fe5b048161103757fe5b04905060016010611046612a04565b6040516110539190613219565b908152602001604051809103902060010160006101000a81548160ff0219169083151502179055506110863033836126de565b809350505050919050565b600081600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110df57600080fd5b81600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516111829190613384565b60405180910390a260019050919050565b600080600260009054906101000a900460ff1660ff16600a0a83029050600260009054906101000a900460ff1660ff16600a0a600a028110156111d557600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541461122457600080fd5b8060056000828254019250508190555042600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555080600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550600e339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113303330836126de565b60c8915050919050565b6000600e80549050905090565b606060008273ffffffffffffffffffffffffffffffffffffffff1660001b905060606040518060400160405280601081526020017f303132333435363738396162636465660000000000000000000000000000000081525090506060603367ffffffffffffffff811180156113bb57600080fd5b506040519080825280601f01601f1916602001820160405280156113ee5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061141f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061147c57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060008090505b60148110156115d35782600485600c8401602081106114cc57fe5b1a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c60f81c60ff168151811061150457fe5b602001015160f81c60f81b82600283026002018151811061152157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535082600f60f81b85600c84016020811061156557fe5b1a60f81b1660f81c60ff168151811061157a57fe5b602001015160f81c60f81b82600283026003018151811061159757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806001019150506114b1565b50809350505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156116345760009050611639565b600190505b919050565b600c6020528060005260406000206000915090505481565b600081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156116a457600080fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561172d57600080fd5b81600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161185a9190613384565b60405180910390a26001905092915050565b6000806060600080601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002086815481106118be57fe5b90600052602060002090600402016000015490506000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020878154811061191e57fe5b90600052602060002090600402016001015490506060601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020888154811061197e57fe5b90600052602060002090600402016003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a235780601f106119f857610100808354040283529160200191611a23565b820191906000526020600020905b815481529060010190602001808311611a0657829003601f168201915b505050505090506000601360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208981548110611a7657fe5b906000526020600020906004020160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000601360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a81548110611af657fe5b9060005260206000209060040201600001541415611b60576000808b8292508191506040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090975097509750975050505050611b71565b838383839750975097509750505050505b92959194509250565b600060011515611b89336115df565b151514611b9557600080fd5b42600b54600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540110611be757600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611c7c3033600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546126de565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905090565b6000600143034060001c905090565b60065481565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415611d2e5760009050611d74565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490505b919050565b600060011515611d88336115df565b151514611d9457600080fd5b60648260014303031115611da757600080fd5b42600b54600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540111611df957600080fd5b6001600a54834060001c81611e0a57fe5b0614611e1557600080fd5b4261070860116000600654815260200190815260200160002060000154011015611e6857600160066000828254019250508190555042601160006006548152602001908152602001600020600001819055505b60006010611e74612a04565b604051611e819190613219565b90815260200160405180910390206000015414611e9d57600080fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015460116000600654815260200190815260200160002060010160008282540192505081905550426010611f10612a04565b604051611f1d9190613219565b90815260200160405180910390206000018190555060006010611f3e612a04565b604051611f4b9190613219565b908152602001604051809103902060010160006101000a81548160ff02191690831515021790555060016010611f7f612a04565b604051611f8c9190613219565b908152602001604051809103902060010160016101000a81548160ff02191690831515021790555060126000600654815260200190815260200160002060405180602001604052803373ffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505060c89050919050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120fb5780601f106120d0576101008083540402835291602001916120fb565b820191906000526020600020905b8154815290600101906020018083116120de57829003601f168201915b505050505081565b60606000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060608167ffffffffffffffff8111801561216557600080fd5b5060405190808252806020026020018201604052801561219957816020015b60608152602001906001900390816121845790505b50905060008090505b82811015612416576123f2612211601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106121fa57fe5b906000526020600020906004020160000154612a2e565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061225b57fe5b90600052602060002090600402016003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123005780601f106122d557610100808354040283529160200191612300565b820191906000526020600020905b8154815290600101906020018083116122e357829003601f168201915b5050505050612369601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858154811061235257fe5b906000526020600020906004020160010154612a2e565b6123ed601360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002086815481106123b657fe5b906000526020600020906004020160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611347565b612bca565b8282815181106123fe57fe5b602002602001018190525080806001019150506121a2565b508092505050919050565b6000806000600a54844060001c8161243557fe5b06905080600143039250925050915091565b60006124543384846126de565b6001905092915050565b60006402540be4003373ffffffffffffffffffffffffffffffffffffffff168161248457fe5b06905090565b60075481565b6000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060800160405280428152602001600081526020013373ffffffffffffffffffffffffffffffffffffffff168152602001848152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030190805190602001906125a9929190612c28565b5050506125b8338460006126de565b60c8905092915050565b6000808490506125d285856108b6565b15612652578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b815260040161261694939291906132d9565b600060405180830381600087803b15801561263057600080fd5b505af1158015612644573d6000803e3d6000fd5b505050506001915050612654565b505b9392505050565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600d602052816000526040600020602052806000526040600020600091509150505481565b600a5481565b600b5481565b60085481565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561271857600080fd5b80600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561276457600080fd5b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110156127f157600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401905081600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161296d9190613384565b60405180910390a380600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401146129fe57fe5b50505050565b6060612a29612a19612a1461245e565b612a2e565b612a24600654612a2e565b612bfc565b905090565b606060006064905060608167ffffffffffffffff81118015612a4f57600080fd5b506040519080825280601f01601f191660200182016040528015612a825781602001600182028036833780820191505090505b50905060008090505b60008514612afd576000600a8681612a9f57fe5b069050600a8681612aac57fe5b0495508060300160f81b838380600101945081518110612ac857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050612a8b565b60606001820167ffffffffffffffff81118015612b1957600080fd5b506040519080825280601f01601f191660200182016040528015612b4c5781602001600182028036833780820191505090505b50905060008090505b828111612bbd578381840381518110612b6a57fe5b602001015160f81c60f81b828281518110612b8157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050612b55565b5080945050505050919050565b606084848484604051602001612be39493929190613230565b6040516020818303038152906040529050949350505050565b60608282604051602001612c1192919061328f565b604051602081830303815290604052905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612c6957805160ff1916838001178555612c97565b82800160010185558215612c97579182015b82811115612c96578251825591602001919060010190612c7b565b5b509050612ca49190612ca8565b5090565b612cca91905b80821115612cc6576000816000905550600101612cae565b5090565b90565b600081359050612cdc81613631565b92915050565b600082601f830112612cf357600080fd5b8135612d06612d018261345c565b61342f565b91508082526020830160208301858383011115612d2257600080fd5b612d2d8382846135de565b50505092915050565b600082601f830112612d4757600080fd5b8135612d5a612d5582613488565b61342f565b91508082526020830160208301858383011115612d7657600080fd5b612d818382846135de565b50505092915050565b600081359050612d9981613648565b92915050565b600060208284031215612db157600080fd5b6000612dbf84828501612ccd565b91505092915050565b60008060408385031215612ddb57600080fd5b6000612de985828601612ccd565b9250506020612dfa85828601612ccd565b9150509250929050565b600080600060608486031215612e1957600080fd5b6000612e2786828701612ccd565b9350506020612e3886828701612ccd565b9250506040612e4986828701612d8a565b9150509250925092565b60008060408385031215612e6657600080fd5b6000612e7485828601612ccd565b925050602083013567ffffffffffffffff811115612e9157600080fd5b612e9d85828601612d36565b9150509250929050565b60008060408385031215612eba57600080fd5b6000612ec885828601612ccd565b9250506020612ed985828601612d8a565b9150509250929050565b600080600060608486031215612ef857600080fd5b6000612f0686828701612ccd565b9350506020612f1786828701612d8a565b925050604084013567ffffffffffffffff811115612f3457600080fd5b612f4086828701612ce2565b9150509250925092565b600060208284031215612f5c57600080fd5b6000612f6a84828501612d8a565b91505092915050565b600080600060608486031215612f8857600080fd5b6000612f9686828701612d8a565b9350506020612fa786828701612ccd565b925050604084013567ffffffffffffffff811115612fc457600080fd5b612fd086828701612d36565b9150509250925092565b6000612fe683836130d8565b905092915050565b612ff7816135a8565b82525050565b61300681613553565b82525050565b61301581613541565b82525050565b6000613026826134c4565b61303081856134f2565b935083602082028501613042856134b4565b8060005b8581101561307e578484038952815161305f8582612fda565b945061306a836134e5565b925060208a01995050600181019050613046565b50829750879550505050505092915050565b61309981613565565b82525050565b60006130aa826134cf565b6130b48185613503565b93506130c48185602086016135ed565b6130cd81613620565b840191505092915050565b60006130e3826134da565b6130ed8185613514565b93506130fd8185602086016135ed565b61310681613620565b840191505092915050565b600061311c826134da565b6131268185613525565b93506131368185602086016135ed565b61313f81613620565b840191505092915050565b6000613155826134da565b61315f8185613536565b935061316f8185602086016135ed565b80840191505092915050565b6000613188600183613536565b91507f23000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b60006131c8600183613536565b91507f2d000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b61320481613591565b82525050565b6132138161359b565b82525050565b6000613225828461314a565b915081905092915050565b600061323c828761314a565b91506132478261317b565b9150613253828661314a565b915061325e8261317b565b915061326a828561314a565b91506132758261317b565b9150613281828461314a565b915081905095945050505050565b600061329b828561314a565b91506132a6826131bb565b91506132b2828461314a565b91508190509392505050565b60006020820190506132d36000830184612ffd565b92915050565b60006080820190506132ee6000830187612fee565b6132fb60208301866131fb565b613308604083018561300c565b818103606083015261331a818461309f565b905095945050505050565b6000602082019050818103600083015261333f818461301b565b905092915050565b600060208201905061335c6000830184613090565b92915050565b6000602082019050818103600083015261337c8184613111565b905092915050565b600060208201905061339960008301846131fb565b92915050565b60006040820190506133b460008301856131fb565b6133c160208301846131fb565b9392505050565b60006080820190506133dd60008301876131fb565b6133ea60208301866131fb565b81810360408301526133fc8185613111565b905061340b606083018461300c565b95945050505050565b6000602082019050613429600083018461320a565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561345257600080fd5b8060405250919050565b600067ffffffffffffffff82111561347357600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff82111561349f57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061354c82613571565b9050919050565b600061355e82613571565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006135b3826135ba565b9050919050565b60006135c5826135cc565b9050919050565b60006135d782613571565b9050919050565b82818337600083830152505050565b60005b8381101561360b5780820151818401526020810190506135f0565b8381111561361a576000848401525b50505050565b6000601f19601f8301169050919050565b61363a81613541565b811461364557600080fd5b50565b61365181613591565b811461365c57600080fd5b5056fea26469706673582212203a235432e3a346870391ebaf29008e8715e3ceebdeb4fb5791d07f144d0451fb64736f6c63430006060033

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

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : initialSupply (uint256): 0
Arg [1] : tokenName (string):
Arg [2] : tokenSymbol (string):

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

241:14248:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;241:14248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;268:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;2734:225;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5361:187;;;:::i;:::-;;;;;;;;;;;;;;;;;6915:110;;;:::i;:::-;;;;;;;;;;;;;;;;353:26;;;:::i;:::-;;;;;;;;;;;;;;;;386:34;;;:::i;:::-;;;;;;;;;;;;;;;;2430:296;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12083:244;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;427:28;;;:::i;:::-;;;;;;;;;;;;;;;;561:23;;;:::i;:::-;;;;;;;;;;;;;;;;320:26;;;:::i;:::-;;;;;;;;;;;;;;;;8154:2789;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3338:374;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10950:552;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6162:101;;;:::i;:::-;;;;;;;;;;;;;;;;13482:454;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6400:234;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;654:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3720:611;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12554:589;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11509:367;;;:::i;:::-;;;;;;;;;;;;;;;;5013:125;;;:::i;:::-;;;;;;;;;;;;;;;;462:24;;;:::i;:::-;;;;;;;;;;;;;;;;6642:263;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7211:931;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;293:20;;;:::i;:::-;;;;;;;;;;;;;;;;13943:541;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5146:207;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2270:152;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6273:113;;;:::i;:::-;;;;;;;;;;;;;;;;493:26;;;:::i;:::-;;;;;;;;;;;;;;;;12333:213;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2967:363;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;13152:121;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;706:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;591:24;;;:::i;:::-;;;;;;;;;;;;;;;;622:21;;;:::i;:::-;;;;;;;;;;;;;;;;526:28;;;:::i;:::-;;;;;;;;;;;;;;;;268:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2734:225::-;2810:12;2869:6;2835:9;:21;2845:10;2835:21;;;;;;;;;;;;;;;:31;2857:8;2835:31;;;;;;;;;;;;;;;:40;;;;2912:8;2891:38;;2900:10;2891:38;;;2922:6;2891:38;;;;;;;;;;;;;;;2947:4;2940:11;;2734:225;;;;:::o;5361:187::-;5410:7;5419;5439:12;5491:9;;5485:1;5472:12;:14;5462:25;5454:34;;:46;;;;;;5439:61;;5519:4;5538:1;5525:12;:14;5511:29;;;;;5361:187;;:::o;6915:110::-;6964:7;6991;:18;6999:9;;6991:18;;;;;;;;;;;:25;;;;6984:32;;6915:110;:::o;353:26::-;;;;:::o;386:34::-;;;;;;;;;;;;;:::o;2430:296::-;2512:12;2555:9;:16;2565:5;2555:16;;;;;;;;;;;;;;;:28;2572:10;2555:28;;;;;;;;;;;;;;;;2545:6;:38;;2537:47;;12:1:-1;9;2:12;2537:47:0;2650:6;2618:9;:16;2628:5;2618:16;;;;;;;;;;;;;;;:28;2635:10;2618:28;;;;;;;;;;;;;;;;:38;;;;;;;;;;;2667:29;2677:5;2684:3;2689:6;2667:9;:29::i;:::-;2714:4;2707:11;;2430:296;;;;;:::o;12083:244::-;12173:7;12191:14;:19;12206:3;12191:19;;;;;;;;;;;;;;;12216:41;;;;;;;;12225:3;12216:41;;;;12230:7;12216:41;;;;12239:10;12216:41;;;;;;12251:5;12216:41;;;12191:67;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;12191:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12267:35;12277:10;12289:3;12294:7;12267:9;:35::i;:::-;12318:3;12311:10;;12083:244;;;;;:::o;427:28::-;;;;:::o;561:23::-;;;;:::o;320:26::-;;;;;;;;;;;;;:::o;8154:2789::-;8206:7;8262:4;8234:32;;:24;8247:10;8234:12;:24::i;:::-;:32;;;8226:41;;12:1:-1;9;2:12;8226:41:0;8316:3;8304:8;8299:1;8286:12;:14;8285:27;:34;8277:43;;12:1:-1;9;2:12;8277:43:0;8390:1;8377:9;;8364:8;8354:19;8346:28;;:40;;;;;;:45;8338:54;;12:1:-1;9;2:12;8338:54:0;8458:3;8449:6;;8410:13;:25;8424:10;8410:25;;;;;;;;;;;;;;;:36;;;:45;:51;8402:62;;12:1:-1;9;2:12;8402:62:0;8536:5;8483:58;;:14;8498:19;:17;:19::i;:::-;8483:35;;;;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;:58;;;8475:67;;12:1:-1;9;2:12;8475:67:0;8609:4;8560:53;;:14;8575:19;:17;:19::i;:::-;8560:35;;;;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;:53;;;8552:62;;12:1:-1;9;2:12;8552:62:0;8633:15;8663:3;8651:9;;:15;;;;;;8633:33;;8690:15;8714:13;;8708:3;:19;8690:37;;8758:1;8749:7;:10;8746:1901;;;8799:13;;8793:3;:19;8783:29;;8746:1901;;;8849:1;8840:7;:10;8837:1810;;;8890:13;;8884:3;:19;8874:29;;8837:1810;;;8940:1;8931:7;:10;8928:1719;;;8981:13;;8975:3;:19;8965:29;;8928:1719;;;9031:1;9022:7;:10;9019:1628;;;9073:13;;9066:4;:20;9056:30;;9019:1628;;;9123:1;9114:7;:10;9111:1536;;;9165:13;;9158:4;:20;9148:30;;9111:1536;;;9215:1;9206:7;:10;9203:1444;;;9257:13;;9250:4;:20;9240:30;;9203:1444;;;9307:1;9298:7;:10;9295:1352;;;9349:13;;9342:4;:20;9332:30;;9295:1352;;;9399:1;9390:7;:10;9387:1260;;;9441:13;;9434:4;:20;9424:30;;9387:1260;;;9491:1;9482:7;:10;9479:1168;;;9533:13;;9526:4;:20;9516:30;;9479:1168;;;9583:1;9574:7;:10;9571:1076;;;9625:13;;9618:4;:20;9608:30;;9571:1076;;;9675:2;9666:7;:11;9663:984;;;9717:13;;9711:3;:19;9701:29;;9663:984;;;9767:2;9758:7;:11;9755:892;;;9809:13;;9803:3;:19;9793:29;;9755:892;;;9859:2;9850:7;:11;9847:800;;;9901:13;;9895:3;:19;9885:29;;9847:800;;;9951:2;9942:7;:11;9939:708;;;9992:13;;9987:2;:18;9977:28;;9939:708;;;10042:2;10033:7;:11;10030:617;;;10083:13;;10078:2;:18;10068:28;;10030:617;;;10133:2;10124:7;:11;10121:526;;;10174:13;;10169:2;:18;10159:28;;10121:526;;;10224:2;10215:7;:11;10212:435;;;10264:13;;10260:1;:17;10250:27;;10212:435;;;10314:2;10305:7;:11;10302:345;;;10354:13;;10350:1;:17;10340:27;;10302:345;;;10404:2;10395:7;:11;10392:255;;;10444:13;;10440:1;:17;10430:27;;10392:255;;;10494:2;10485:7;:11;10482:165;;;10534:13;;10530:1;:17;10520:27;;10482:165;;;10583:2;10575:7;:10;10572:75;;;10623:13;;10619:1;:17;10609:27;;10572:75;10482:165;10392:255;10302:345;10212:435;10121:526;10030:617;9939:708;9847:800;9755:892;9663:984;9571:1076;9479:1168;9387:1260;9295:1352;9203:1444;9111:1536;9019:1628;8928:1719;8837:1810;8746:1901;10658:19;10780:3;10740:15;:26;10756:9;;10740:26;;;;;;;;;;;:35;;;10733:3;10692:13;:25;10706:10;10692:25;;;;;;;;;;;;;;;:38;;;:44;10681:7;:56;:94;;;;;;10680:103;;;;;;10658:125;;10845:4;10793:14;10808:19;:17;:19::i;:::-;10793:35;;;;;;;;;;;;;;;;;;;;:49;;;:56;;;;;;;;;;;;;;;;;;10859:49;10877:4;10884:10;10896:11;10859:9;:49::i;:::-;10925:11;10918:18;;;;;8154:2789;;;:::o;3338:374::-;3384:12;3442:6;3417:9;:21;3427:10;3417:21;;;;;;;;;;;;;;;;:31;;3409:40;;12:1:-1;9;2:12;3409:40:0;3521:6;3496:9;:21;3506:10;3496:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;3592:6;3577:11;;:21;;;;;;;;;;;3663:10;3658:24;;;3675:6;3658:24;;;;;;;;;;;;;;;3700:4;3693:11;;3338:374;;;:::o;10950:552::-;11007:7;11027:22;11079:8;;;;;;;;;;;11071:17;;11065:2;:23;11052:10;:36;11027:61;;11147:8;;;;;;;;;;;11139:17;;11133:2;:23;11128:2;:28;11110:14;:46;;11102:55;;12:1:-1;9;2:12;11102:55:0;11215:1;11175:13;:25;11189:10;11175:25;;;;;;;;;;;;;;;:36;;;:41;11167:50;;12:1:-1;9;2:12;11167:50:0;11249:14;11231:13;;:32;;;;;;;;;;;11311:3;11272:13;:25;11286:10;11272:25;;;;;;;;;;;;;;;:36;;:42;;;;11364:14;11323:13;:25;11337:10;11323:25;;;;;;;;;;;;;;;:38;;:55;;;;11387:11;11404:10;11387:28;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;11387:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11424:52;11434:10;11454:4;11461:14;11424:9;:52::i;:::-;11492:3;11485:10;;;10950:552;;;:::o;6162:101::-;6210:7;6237:11;:18;;;;6230:25;;6162:101;:::o;13482:454::-;13542:13;13564;13596:5;13588:14;;13580:23;;13564:39;;13610:21;:42;;;;;;;;;;;;;;;;;;;13661:16;13690:2;13680:13;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13680:13:0;;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;13680:13:0;;;;13661:32;;13700:12;:3;13704:1;13700:6;;;;;;;;;;;:12;;;;;;;;;;;13719;:3;13723:1;13719:6;;;;;;;;;;;:12;;;;;;;;;;;13743:6;13752:1;13743:10;;13738:170;13759:2;13755:1;:6;13738:170;;;13792:8;13829:1;13812:5;13822:2;13818:1;:6;13812:13;;;;;;;;;;:18;;;;;13806:25;;13801:31;;13792:41;;;;;;;;;;;;;;;;13779:3;13787:1;13785;:3;13783:1;:5;13779:10;;;;;;;;;;;:54;;;;;;;;;;;13857:8;13893:4;13877:20;;:5;13887:2;13883:1;:6;13877:13;;;;;;;;;;:20;13871:27;;13866:33;;13857:43;;;;;;;;;;;;;;;;13844:3;13852:1;13850;:3;13848:1;:5;13844:10;;;;;;;;;;;:56;;;;;;;;;;;13763:3;;;;;;;13738:170;;;;13928:3;13914:18;;;;;13482:454;;;:::o;6400:234::-;6457:4;6513:1;6478:13;:20;6492:5;6478:20;;;;;;;;;;;;;;;:31;;;:36;6475:152;;;6547:5;6540:12;;;;6475:152;6611:4;6604:11;;6400:234;;;;:::o;654:45::-;;;;;;;;;;;;;;;;;:::o;3720:611::-;3785:12;3838:6;3818:9;:16;3828:5;3818:16;;;;;;;;;;;;;;;;:26;;3810:35;;12:1:-1;9;2:12;3810:35:0;3932:9;:16;3942:5;3932:16;;;;;;;;;;;;;;;:28;3949:10;3932:28;;;;;;;;;;;;;;;;3922:6;:38;;3914:47;;12:1:-1;9;2:12;3914:47:0;4014:6;3994:9;:16;4004:5;3994:16;;;;;;;;;;;;;;;;:26;;;;;;;;;;;4125:6;4093:9;:16;4103:5;4093:16;;;;;;;;;;;;;;;:28;4110:10;4093:28;;;;;;;;;;;;;;;;:38;;;;;;;;;;;4209:6;4194:11;;:21;;;;;;;;;;;4287:5;4282:19;;;4294:6;4282:19;;;;;;;;;;;;;;;4319:4;4312:11;;3720:611;;;;:::o;12554:589::-;12624:7;12637;12650:13;12669:7;12690:13;12706:14;:21;12721:5;12706:21;;;;;;;;;;;;;;;12728:6;12706:29;;;;;;;;;;;;;;;;;;:42;;;12690:58;;12758:15;12776:14;:21;12791:5;12776:21;;;;;;;;;;;;;;;12798:6;12776:29;;;;;;;;;;;;;;;;;;:44;;;12758:62;;12830:19;12852:14;:21;12867:5;12852:21;;;;;;;;;;;;;;;12874:6;12852:29;;;;;;;;;;;;;;;;;;:41;;12830:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12903:13;12919:14;:21;12934:5;12919:21;;;;;;;;;;;;;;;12941:6;12919:29;;;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;12903:57;;13019:1;12973:14;:21;12988:5;12973:21;;;;;;;;;;;;;;;12995:6;12973:29;;;;;;;;;;;;;;;;;;:42;;;:47;12970:168;;;13044:1;13047;13054:5;13036:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12970:168;13099:5;13106:7;13114:5;13121;13091:36;;;;;;;;;;;;12554:589;;;;;;;;:::o;11509:367::-;11548:7;11603:4;11575:32;;:24;11588:10;11575:12;:24::i;:::-;:32;;;11567:41;;12:1:-1;9;2:12;11567:41:0;11674:3;11665:6;;11626:13;:25;11640:10;11626:25;;;;;;;;;;;;;;;:36;;;:45;:51;11618:62;;12:1:-1;9;2:12;11618:62:0;11729:1;11690:13;:25;11704:10;11690:25;;;;;;;;;;;;;;;:36;;:40;;;;11740:74;11758:4;11764:10;11775:13;:25;11789:10;11775:25;;;;;;;;;;;;;;;:38;;;11740:9;:74::i;:::-;11831:13;:25;11845:10;11831:25;;;;;;;;;;;;;;;:38;;;11824:45;;11509:367;:::o;5013:125::-;5065:7;5127:1;5114:12;:14;5104:25;5096:34;;5089:41;;5013:125;:::o;462:24::-;;;;:::o;6642:263::-;6699:7;6758:1;6723:13;:20;6737:5;6723:20;;;;;;;;;;;;;;;:31;;;:36;6720:178;;;6792:1;6785:8;;;;6720:178;6853:13;:20;6867:5;6853:20;;;;;;;;;;;;;;;:33;;;6846:40;;6642:263;;;;:::o;7211:931::-;7277:7;7334:4;7306:32;;:24;7319:10;7306:12;:24::i;:::-;:32;;;7298:41;;12:1:-1;9;2:12;7298:41:0;7389:3;7376:8;7371:1;7358:12;:14;7357:27;:35;;7349:44;;12:1:-1;9;2:12;7349:44:0;7467:3;7458:6;;7419:13;:25;7433:10;7419:25;;;;;;;;;;;;;;;:36;;;:45;:51;7411:60;;12:1:-1;9;2:12;7411:60:0;7536:1;7523:9;;7510:8;7500:19;7492:28;;:40;;;;;;:45;7484:54;;12:1:-1;9;2:12;7484:54:0;7603:3;7596:4;7560:15;:26;7576:9;;7560:26;;;;;;;;;;;:33;;;:40;:46;7557:158;;;7650:1;7637:9;;:14;;;;;;;;;;;7701:3;7665:15;:26;7681:9;;7665:26;;;;;;;;;;;:33;;:39;;;;7557:158;7778:1;7732:14;7747:19;:17;:19::i;:::-;7732:35;;;;;;;;;;;;;;;;;;;;:42;;;:47;7724:56;;12:1:-1;9;2:12;7724:56:0;7831:13;:25;7845:10;7831:25;;;;;;;;;;;;;;;:38;;;7792:15;:26;7808:9;;7792:26;;;;;;;;;;;:35;;;:77;;;;;;;;;;;7924:3;7879:14;7894:19;:17;:19::i;:::-;7879:35;;;;;;;;;;;;;;;;;;;;:42;;:48;;;;7989:5;7937:14;7952:19;:17;:19::i;:::-;7937:35;;;;;;;;;;;;;;;;;;;;:49;;;:57;;;;;;;;;;;;;;;;;;8052:4;8004:14;8019:19;:17;:19::i;:::-;8004:35;;;;;;;;;;;;;;;;;;;;:45;;;:52;;;;;;;;;;;;;;;;;;8066:7;:18;8074:9;;8066:18;;;;;;;;;;;8090:24;;;;;;;;8103:10;8090:24;;;;;8066:49;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;8066:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8132:3;8125:10;;7211:931;;;:::o;293:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13943:541::-;14004:15;14040:10;14054:14;:21;14069:5;14054:21;;;;;;;;;;;;;;;:28;;;;14040:42;;14092:24;14132:5;14119:19;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14119:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14092:46;;14161:6;14168:1;14161:8;;14156:295;14175:5;14171:1;:9;14156:295;;;14231:209;14243:51;14256:14;:21;14271:5;14256:21;;;;;;;;;;;;;;;14278:1;14256:24;;;;;;;;;;;;;;;;;;:37;;;14243:12;:51::i;:::-;14295:14;:21;14310:5;14295:21;;;;;;;;;;;;;;;14317:1;14295:24;;;;;;;;;;;;;;;;;;:36;;14231:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14332:53;14345:14;:21;14360:5;14345:21;;;;;;;;;;;;;;;14367:1;14345:24;;;;;;;;;;;;;;;;;;:39;;;14332:12;:53::i;:::-;14386;14402:14;:21;14417:5;14402:21;;;;;;;;;;;;;;;14424:1;14402:24;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;14386:15;:53::i;:::-;14231:11;:209::i;:::-;14217:8;14226:1;14217:11;;;;;;;;;;;;;:223;;;;14182:3;;;;;;;14156:295;;;;14469:8;14462:15;;;;13943:541;;;:::o;5146:207::-;5218:7;5227;5246:12;5296:9;;5279:12;5269:23;5261:32;;:44;;;;;;5246:59;;5324:4;5343:1;5330:12;:14;5316:29;;;;;5146:207;;;:::o;2270:152::-;2333:12;2358:34;2368:10;2380:3;2385:6;2358:9;:34::i;:::-;2410:4;2403:11;;2270:152;;;;:::o;6273:113::-;6318:7;6367:11;6353:10;6345:19;;:33;;;;;;6338:40;;6273:113;:::o;493:26::-;;;;:::o;12333:213::-;12405:7;12423:14;:19;12438:3;12423:19;;;;;;;;;;;;;;;12448:34;;;;;;;;12457:3;12448:34;;;;12461:1;12448:34;;;;12464:10;12448:34;;;;;;12476:5;12448:34;;;12423:60;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;12423:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12492:29;12502:10;12514:3;12519:1;12492:9;:29::i;:::-;12537:3;12530:10;;12333:213;;;;:::o;2967:363::-;3084:12;3109:22;3149:8;3109:49;;3173:25;3181:8;3191:6;3173:7;:25::i;:::-;3169:154;;;3215:7;:23;;;3239:10;3251:6;3267:4;3274:10;3215:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3215:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3215:70:0;;;;3307:4;3300:11;;;;;3169:154;2967:363;;;;;;;:::o;13152:121::-;13211:7;13238:14;:21;13253:5;13238:21;;;;;;;;;;;;;;;:28;;;;13230:36;;13152:121;;;:::o;706:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;591:24::-;;;;:::o;622:21::-;;;;:::o;526:28::-;;;;:::o;1783:479::-;1886:3;1871:19;;:3;:19;;;;1863:28;;12:1:-1;9;2:12;1863:28:0;1930:6;1910:9;:16;1920:5;1910:16;;;;;;;;;;;;;;;;:26;;1902:35;;12:1:-1;9;2:12;1902:35:0;1983:9;:14;1993:3;1983:14;;;;;;;;;;;;;;;;1973:6;1956:9;:14;1966:3;1956:14;;;;;;;;;;;;;;;;:23;:41;;1948:50;;12:1:-1;9;2:12;1948:50:0;2009:21;2052:9;:14;2062:3;2052:14;;;;;;;;;;;;;;;;2033:9;:16;2043:5;2033:16;;;;;;;;;;;;;;;;:33;2009:57;;2097:6;2077:9;:16;2087:5;2077:16;;;;;;;;;;;;;;;;:26;;;;;;;;;;;2132:6;2114:9;:14;2124:3;2114:14;;;;;;;;;;;;;;;;:24;;;;;;;;;;;2170:3;2154:28;;2163:5;2154:28;;;2175:6;2154:28;;;;;;;;;;;;;;;2237:16;2219:9;:14;2229:3;2219:14;;;;;;;;;;;;;;;;2200:9;:16;2210:5;2200:16;;;;;;;;;;;;;;;;:33;:53;2193:61;;;;1783:479;;;;:::o;7041:151::-;7092:13;7124:60;7131:28;7144:14;:12;:14::i;:::-;7131:12;:28::i;:::-;7160:23;7173:9;;7160:12;:23::i;:::-;7124:6;:60::i;:::-;7117:67;;7041:151;:::o;4339:506::-;4394:17;4424:14;4441:3;4424:20;;4455:21;4489:9;4479:20;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4479:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;4479:20:0;;;;4455:44;;4510:6;4519:1;4510:10;;4531:148;4543:1;4538;:6;4531:148;;4561:14;4582:2;4578:1;:6;;;;;;4561:23;;4607:2;4603:1;:6;;;;;;4599:10;;4656:9;4651:2;:14;4640:27;;4624:8;4633:3;;;;;;4624:13;;;;;;;;;;;:43;;;;;;;;;;;4531:148;;;;4689:14;4720:1;4716;:5;4706:16;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4706:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;124:4;108:14;100:6;87:42;155:4;147:6;143:17;133:27;;0:164;4706:16:0;;;;4689:33;;4738:6;4747:1;4738:10;;4733:79;4755:1;4750;:6;4733:79;;4785:8;4798:1;4794;:5;4785:15;;;;;;;;;;;;;;;;4778:1;4780;4778:4;;;;;;;;;;;:22;;;;;;;;;;;4758:3;;;;;;;4733:79;;;;4835:1;4822:15;;4339:506;;;;;;;:::o;13280:195::-;13390:13;13447:1;13453;13459;13465;13430:37;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13430:37:0;;;13416:52;;13280:195;;;;;;:::o;4853:147::-;4926:13;4983:1;4989;4966:25;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4966:25:0;;;4952:40;;4853:147;;;;:::o;241:14248::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;143:440;;244:3;237:4;229:6;225:17;221:27;211:2;;262:1;259;252:12;211:2;299:6;286:20;321:64;336:48;377:6;336:48;;;321:64;;;312:73;;405:6;398:5;391:21;441:4;433:6;429:17;474:4;467:5;463:16;509:3;500:6;495:3;491:16;488:25;485:2;;;526:1;523;516:12;485:2;536:41;570:6;565:3;560;536:41;;;204:379;;;;;;;;592:442;;694:3;687:4;679:6;675:17;671:27;661:2;;712:1;709;702:12;661:2;749:6;736:20;771:65;786:49;828:6;786:49;;;771:65;;;762:74;;856:6;849:5;842:21;892:4;884:6;880:17;925:4;918:5;914:16;960:3;951:6;946:3;942:16;939:25;936:2;;;977:1;974;967:12;936:2;987:41;1021:6;1016:3;1011;987:41;;;654:380;;;;;;;;1042:130;;1122:6;1109:20;1100:29;;1134:33;1161:5;1134:33;;;1094:78;;;;;1179:241;;1283:2;1271:9;1262:7;1258:23;1254:32;1251:2;;;1299:1;1296;1289:12;1251:2;1334:1;1351:53;1396:7;1387:6;1376:9;1372:22;1351:53;;;1341:63;;1313:97;1245:175;;;;;1427:366;;;1548:2;1536:9;1527:7;1523:23;1519:32;1516:2;;;1564:1;1561;1554:12;1516:2;1599:1;1616:53;1661:7;1652:6;1641:9;1637:22;1616:53;;;1606:63;;1578:97;1706:2;1724:53;1769:7;1760:6;1749:9;1745:22;1724:53;;;1714:63;;1685:98;1510:283;;;;;;1800:491;;;;1938:2;1926:9;1917:7;1913:23;1909:32;1906:2;;;1954:1;1951;1944:12;1906:2;1989:1;2006:53;2051:7;2042:6;2031:9;2027:22;2006:53;;;1996:63;;1968:97;2096:2;2114:53;2159:7;2150:6;2139:9;2135:22;2114:53;;;2104:63;;2075:98;2204:2;2222:53;2267:7;2258:6;2247:9;2243:22;2222:53;;;2212:63;;2183:98;1900:391;;;;;;2298:472;;;2429:2;2417:9;2408:7;2404:23;2400:32;2397:2;;;2445:1;2442;2435:12;2397:2;2480:1;2497:53;2542:7;2533:6;2522:9;2518:22;2497:53;;;2487:63;;2459:97;2615:2;2604:9;2600:18;2587:32;2639:18;2631:6;2628:30;2625:2;;;2671:1;2668;2661:12;2625:2;2691:63;2746:7;2737:6;2726:9;2722:22;2691:63;;;2681:73;;2566:194;2391:379;;;;;;2777:366;;;2898:2;2886:9;2877:7;2873:23;2869:32;2866:2;;;2914:1;2911;2904:12;2866:2;2949:1;2966:53;3011:7;3002:6;2991:9;2987:22;2966:53;;;2956:63;;2928:97;3056:2;3074:53;3119:7;3110:6;3099:9;3095:22;3074:53;;;3064:63;;3035:98;2860:283;;;;;;3150:595;;;;3297:2;3285:9;3276:7;3272:23;3268:32;3265:2;;;3313:1;3310;3303:12;3265:2;3348:1;3365:53;3410:7;3401:6;3390:9;3386:22;3365:53;;;3355:63;;3327:97;3455:2;3473:53;3518:7;3509:6;3498:9;3494:22;3473:53;;;3463:63;;3434:98;3591:2;3580:9;3576:18;3563:32;3615:18;3607:6;3604:30;3601:2;;;3647:1;3644;3637:12;3601:2;3667:62;3721:7;3712:6;3701:9;3697:22;3667:62;;;3657:72;;3542:193;3259:486;;;;;;3752:241;;3856:2;3844:9;3835:7;3831:23;3827:32;3824:2;;;3872:1;3869;3862:12;3824:2;3907:1;3924:53;3969:7;3960:6;3949:9;3945:22;3924:53;;;3914:63;;3886:97;3818:175;;;;;4000:597;;;;4148:2;4136:9;4127:7;4123:23;4119:32;4116:2;;;4164:1;4161;4154:12;4116:2;4199:1;4216:53;4261:7;4252:6;4241:9;4237:22;4216:53;;;4206:63;;4178:97;4306:2;4324:53;4369:7;4360:6;4349:9;4345:22;4324:53;;;4314:63;;4285:98;4442:2;4431:9;4427:18;4414:32;4466:18;4458:6;4455:30;4452:2;;;4498:1;4495;4488:12;4452:2;4518:63;4573:7;4564:6;4553:9;4549:22;4518:63;;;4508:73;;4393:194;4110:487;;;;;;4605:193;;4726:66;4788:3;4780:6;4726:66;;;4712:80;;4705:93;;;;;4806:142;4897:45;4936:5;4897:45;;;4892:3;4885:58;4879:69;;;4955:137;5054:32;5080:5;5054:32;;;5049:3;5042:45;5036:56;;;5099:113;5182:24;5200:5;5182:24;;;5177:3;5170:37;5164:48;;;5248:928;;5413:64;5471:5;5413:64;;;5490:96;5579:6;5574:3;5490:96;;;5483:103;;5609:3;5651:4;5643:6;5639:17;5634:3;5630:27;5678:66;5738:5;5678:66;;;5764:7;5792:1;5777:360;5802:6;5799:1;5796:13;5777:360;;;5864:9;5858:4;5854:20;5849:3;5842:33;5909:6;5903:13;5931:84;6010:4;5995:13;5931:84;;;5923:92;;6032:70;6095:6;6032:70;;;6022:80;;6125:4;6120:3;6116:14;6109:21;;5834:303;5824:1;5821;5817:9;5812:14;;5777:360;;;5781:14;6150:4;6143:11;;6167:3;6160:10;;5392:784;;;;;;;;;;6184:104;6261:21;6276:5;6261:21;;;6256:3;6249:34;6243:45;;;6295:343;;6405:38;6437:5;6405:38;;;6455:70;6518:6;6513:3;6455:70;;;6448:77;;6530:52;6575:6;6570:3;6563:4;6556:5;6552:16;6530:52;;;6603:29;6625:6;6603:29;;;6598:3;6594:39;6587:46;;6385:253;;;;;;6645:327;;6747:39;6780:5;6747:39;;;6798:61;6852:6;6847:3;6798:61;;;6791:68;;6864:52;6909:6;6904:3;6897:4;6890:5;6886:16;6864:52;;;6937:29;6959:6;6937:29;;;6932:3;6928:39;6921:46;;6727:245;;;;;;6979:347;;7091:39;7124:5;7091:39;;;7142:71;7206:6;7201:3;7142:71;;;7135:78;;7218:52;7263:6;7258:3;7251:4;7244:5;7240:16;7218:52;;;7291:29;7313:6;7291:29;;;7286:3;7282:39;7275:46;;7071:255;;;;;;7333:360;;7463:39;7496:5;7463:39;;;7514:89;7596:6;7591:3;7514:89;;;7507:96;;7608:52;7653:6;7648:3;7641:4;7634:5;7630:16;7608:52;;;7681:6;7676:3;7672:16;7665:23;;7443:250;;;;;;7701:335;;7879:84;7961:1;7956:3;7879:84;;;7872:91;;7996:3;7992:1;7987:3;7983:11;7976:24;8028:1;8023:3;8019:11;8012:18;;7865:171;;;;8045:335;;8223:84;8305:1;8300:3;8223:84;;;8216:91;;8340:3;8336:1;8331:3;8327:11;8320:24;8372:1;8367:3;8363:11;8356:18;;8209:171;;;;8388:113;8471:24;8489:5;8471:24;;;8466:3;8459:37;8453:48;;;8508:107;8587:22;8603:5;8587:22;;;8582:3;8575:35;8569:46;;;8622:266;;8768:95;8859:3;8850:6;8768:95;;;8761:102;;8880:3;8873:10;;8749:139;;;;;8895:1550;;9488:95;9579:3;9570:6;9488:95;;;9481:102;;9601:148;9745:3;9601:148;;;9594:155;;9767:95;9858:3;9849:6;9767:95;;;9760:102;;9880:148;10024:3;9880:148;;;9873:155;;10046:95;10137:3;10128:6;10046:95;;;10039:102;;10159:148;10303:3;10159:148;;;10152:155;;10325:95;10416:3;10407:6;10325:95;;;10318:102;;10437:3;10430:10;;9469:976;;;;;;;;10452:694;;10747:95;10838:3;10829:6;10747:95;;;10740:102;;10860:148;11004:3;10860:148;;;10853:155;;11026:95;11117:3;11108:6;11026:95;;;11019:102;;11138:3;11131:10;;10728:418;;;;;;11153:245;;11287:2;11276:9;11272:18;11264:26;;11301:87;11385:1;11374:9;11370:17;11361:6;11301:87;;;11258:140;;;;;11405:647;;11633:3;11622:9;11618:19;11610:27;;11648:79;11724:1;11713:9;11709:17;11700:6;11648:79;;;11738:72;11806:2;11795:9;11791:18;11782:6;11738:72;;;11821;11889:2;11878:9;11874:18;11865:6;11821:72;;;11941:9;11935:4;11931:20;11926:2;11915:9;11911:18;11904:48;11966:76;12037:4;12028:6;11966:76;;;11958:84;;11604:448;;;;;;;;12059:401;;12247:2;12236:9;12232:18;12224:26;;12297:9;12291:4;12287:20;12283:1;12272:9;12268:17;12261:47;12322:128;12445:4;12436:6;12322:128;;;12314:136;;12218:242;;;;;12467:201;;12579:2;12568:9;12564:18;12556:26;;12593:65;12655:1;12644:9;12640:17;12631:6;12593:65;;;12550:118;;;;;12675:301;;12813:2;12802:9;12798:18;12790:26;;12863:9;12857:4;12853:20;12849:1;12838:9;12834:17;12827:47;12888:78;12961:4;12952:6;12888:78;;;12880:86;;12784:192;;;;;12983:213;;13101:2;13090:9;13086:18;13078:26;;13115:71;13183:1;13172:9;13168:17;13159:6;13115:71;;;13072:124;;;;;13203:324;;13349:2;13338:9;13334:18;13326:26;;13363:71;13431:1;13420:9;13416:17;13407:6;13363:71;;;13445:72;13513:2;13502:9;13498:18;13489:6;13445:72;;;13320:207;;;;;;13534:635;;13756:3;13745:9;13741:19;13733:27;;13771:71;13839:1;13828:9;13824:17;13815:6;13771:71;;;13853:72;13921:2;13910:9;13906:18;13897:6;13853:72;;;13973:9;13967:4;13963:20;13958:2;13947:9;13943:18;13936:48;13998:78;14071:4;14062:6;13998:78;;;13990:86;;14087:72;14155:2;14144:9;14140:18;14131:6;14087:72;;;13727:442;;;;;;;;14176:205;;14290:2;14279:9;14275:18;14267:26;;14304:67;14368:1;14357:9;14353:17;14344:6;14304:67;;;14261:120;;;;;14388:256;;14450:2;14444:9;14434:19;;14488:4;14480:6;14476:17;14587:6;14575:10;14572:22;14551:18;14539:10;14536:34;14533:62;14530:2;;;14608:1;14605;14598:12;14530:2;14628:10;14624:2;14617:22;14428:216;;;;;14651:321;;14794:18;14786:6;14783:30;14780:2;;;14826:1;14823;14816:12;14780:2;14893:4;14889:9;14882:4;14874:6;14870:17;14866:33;14858:41;;14957:4;14951;14947:15;14939:23;;14717:255;;;;14979:322;;15123:18;15115:6;15112:30;15109:2;;;15155:1;15152;15145:12;15109:2;15222:4;15218:9;15211:4;15203:6;15199:17;15195:33;15187:41;;15286:4;15280;15276:15;15268:23;;15046:255;;;;15308:161;;15404:3;15396:11;;15442:4;15437:3;15433:14;15425:22;;15390:79;;;;15476:147;;15595:5;15589:12;15579:22;;15560:63;;;;15630:121;;15723:5;15717:12;15707:22;;15688:63;;;;15758:122;;15852:5;15846:12;15836:22;;15817:63;;;;15887:118;;15995:4;15990:3;15986:14;15978:22;;15972:33;;;;16013:188;;16153:6;16148:3;16141:19;16190:4;16185:3;16181:14;16166:29;;16134:67;;;;;16210:162;;16324:6;16319:3;16312:19;16361:4;16356:3;16352:14;16337:29;;16305:67;;;;;16381:153;;16486:6;16481:3;16474:19;16523:4;16518:3;16514:14;16499:29;;16467:67;;;;;16543:163;;16658:6;16653:3;16646:19;16695:4;16690:3;16686:14;16671:29;;16639:67;;;;;16715:145;;16851:3;16836:18;;16829:31;;;;;16868:91;;16930:24;16948:5;16930:24;;;16919:35;;16913:46;;;;16966:99;;17036:24;17054:5;17036:24;;;17025:35;;17019:46;;;;17072:85;;17145:5;17138:13;17131:21;17120:32;;17114:43;;;;17164:121;;17237:42;17230:5;17226:54;17215:65;;17209:76;;;;17292:72;;17354:5;17343:16;;17337:27;;;;17371:81;;17442:4;17435:5;17431:16;17420:27;;17414:38;;;;17459:129;;17546:37;17577:5;17546:37;;;17533:50;;17527:61;;;;17595:121;;17674:37;17705:5;17674:37;;;17661:50;;17655:61;;;;17723:108;;17802:24;17820:5;17802:24;;;17789:37;;17783:48;;;;17839:145;17920:6;17915:3;17910;17897:30;17976:1;17967:6;17962:3;17958:16;17951:27;17890:94;;;;17993:268;18058:1;18065:101;18079:6;18076:1;18073:13;18065:101;;;18155:1;18150:3;18146:11;18140:18;18136:1;18131:3;18127:11;18120:39;18101:2;18098:1;18094:10;18089:15;;18065:101;;;18181:6;18178:1;18175:13;18172:2;;;18246:1;18237:6;18232:3;18228:16;18221:27;18172:2;18042:219;;;;;18269:97;;18357:2;18353:7;18348:2;18341:5;18337:14;18333:28;18323:38;;18317:49;;;;18374:117;18443:24;18461:5;18443:24;;;18436:5;18433:35;18423:2;;18482:1;18479;18472:12;18423:2;18417:74;;18498:117;18567:24;18585:5;18567:24;;;18560:5;18557:35;18547:2;;18606:1;18603;18596:12;18547:2;18541:74;

Swarm Source

ipfs://3a235432e3a346870391ebaf29008e8715e3ceebdeb4fb5791d07f144d0451fb
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.