ETH Price: $3,239.23 (-2.86%)

Token

Eye of God (EOG)
 

Overview

Max Total Supply

1,580 EOG

Holders

509 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.0009048 EOG

Value
$0.00
0xe7f56471cc03a781c141b89297f7a7ee6bfbbe29
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Helix Nebula is a platform to help the needy.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
HelixNebulaV2

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

////////////////////////////////////////////////////
//******** In the name of god **********************
//******** https://Helixnebula.help  ***************
////p2p blockchain based helping system/////////////
//This is an endless profitable cycle for everyone//
////Contact us: [email protected]////////////
////////////////////////////////////////////////////

pragma solidity ^0.5.0;
contract EIP20Interface {
    
    /// total amount of tokens
    uint256 public totalSupply;
    uint256 public MaxSupply;
    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) public view returns (uint256 balance);

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) public returns (bool success);

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);

    /// @notice `msg.sender` approves `_spender` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of tokens to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) public returns (bool success);

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);

    // solhint-disable-next-line no-simple-event-func-name
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)
interface IUniswapV2Pair {
    function sync() external;

}
library SafeMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }
    function sub0(uint x, uint y) internal pure returns (uint) {
        if(x>y){
            return x-y;
        }else{
           return 0;
        }
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
}


contract HelixNebulaV2 is EIP20Interface {
    using SafeMath for uint;
//////////////////////////Token Layer////////////////////////////////////////////////
    address payable wallet;
    uint256 constant private MAX_UINT256 = 2**256 - 1;
    mapping (address => uint256) public balances;
    
//////////////////////////////////////////////////////////////////////////////
    uint public ReleaseTime;
    

    address payable public owner;
    address payable public Helix_Storage;
    address public Pool_Address;
    address public Weth_Address;
    
    struct BalanceTime {
      uint ExpireTime;
      address adr;
    }
    
    struct LockedAddress{
      uint ExpireTime;
      address adr;
    }

    
    LockedAddress[] public LockedAddresses;
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    modifier onlyHelix {
        require(msg.sender == Helix_Storage);
        _;
    }

    function UpgardeV1ToV2Balances() internal{
        balances[0xa529D7D3D00148D861dA5c650e88250941FC291a] = 1500000000 * 10**11;
        balances[0x329318Ca294A2d127e43058A7b23ED514B503d76] = 743605670 * 10**11;
        balances[0x319b55df49A468Ff2F900C7Bff3C2C5712cC3037] = 736626277 * 10**11;
        balances[0x727f33265f69bBCEE886b71480dDa95e416c1D13] = 677158185 * 10**11;
        balances[0x51f4f6BB08338BF315D895Acec4695B8Ab12Ba30] = 517656005 * 10**11;
        balances[0xF9D96CDBA21e917d2545E25300E96536070Fa0D4] = 500000000 * 10**11;
        balances[0xBb1a016F07400696edA537658a7d76E35C61F31A] = 500000000 * 10**11;
        balances[0xD8D37B4517e58013bA7D70662C081E157bd2F32B] = 328000815 * 10**11;
        balances[0xeAa8bdcCf9a93DD7c4b66E4362863E3E531E41F7] = 288486689 * 10**11;
        balances[0xA97a74F7C3489221B190928b79415cECbfcD7788] = 262191256 * 10**11;
        balances[0x33C885AEccBde0Ad709638760324F6DEccC8A894] = 261320504 * 10**11;
        balances[0xAC8AFD4fD7681Fe63d9cBdB383F54Cf7e7586B3D] = 252275663 * 10**11;
        balances[0xF9107317B0fF77eD5b7ADea15e50514A3564002B] = 172443461 * 10**11;
        balances[0xf56036f6a5D9b9991c209DcbC9C40b2C1cD46540] = 150000000 * 10**11;
        balances[0xAFc6656c6209b5D066E00B318cCd95DfAA3B29D9] = 131511935 * 10**11;
        balances[0x750343F8327fC50b77cd805974C08f08700f79F9] = 125000000 * 10**11;
        balances[0xC6f1a9D4Fb5681f986d3Dc6EC116f66D95CC2F03] = 125000000 * 10**11;
        balances[0xC3746825f13c07Dcd7e6fDb9C0c80A9aFFb18952] = 106871623 * 10**11;
        balances[0xc3aFAE482366e8584D0848056293Db0205F4d227] = 100000000 * 10**11;
        balances[0x9183b548Bda4BC94cf077466B338f43D3ad29DB3] = 79650879 * 10**11;
        balances[0x4ceF35f2eC6D8F7A8cD3FdD26291221435135e74] = 75476366 * 10**11;
        balances[0x6634411aA80EF3Db097538399fEabCDD0aa6C2BF] = 69554587 * 10**11;
        balances[0xc0e4C5a33Ccd4C286Fd64b91CDCA42E2a59A68D7] = 54183570 * 10**11;
        balances[0x9AFC8Cc4F49843098d8fa7dFeE69Db3708d5e9f0] = 40216304 * 10**11;
        balances[0xB04a9CCbdB801C4Ca0403344eDb6Ff0ecAb07a8e] = 40000000 * 10**11;
        balances[0x07C8B4D7F1BC58F8780eA96E9Ab68c840Ba04EFF] = 15133558 * 10**11;
        balances[0x6c9A672be60B9BAfDe61944CFea1f43E9f3b6F3B] = 15000000 * 10**11;
        totalSupply = totalSupply.add(7867363347 * 10**11);
    }
    function LockAddress(uint _days) external{
        for(uint i=0;i<LockedAddresses.length;i++){
            if(LockedAddresses[i].adr==msg.sender){
                if(LockedAddresses[i].ExpireTime>block.timestamp){
                    LockedAddresses[i].ExpireTime=LockedAddresses[i].ExpireTime + _days*24*3600;
                }else{
                    LockedAddresses[i].ExpireTime=block.timestamp + _days*24*3600;
                }
               return;
            }
        }
        LockedAddresses.push(LockedAddress(block.timestamp+_days*24*3600,msg.sender));
    }
    function GetAddressExpTime(address _adr) external view returns(uint) {
        for(uint i=0;i<LockedAddresses.length;i++){
            if(LockedAddresses[i].adr==_adr){
               return LockedAddresses[i].ExpireTime;
            }
        }
         return 0;
    }

    function IsLockAddress(address _adr) public view returns(bool){
        for(uint i=0;i<LockedAddresses.length;i++){
            if(LockedAddresses[i].adr==_adr){
                if(LockedAddresses[i].ExpireTime>block.timestamp){
                   return true;
                }else{
                    return false;
                }
            }
        }
        return false;
    }
    function SetPoolData(address _pooladr,address _wethadr) external onlyOwner{
        Pool_Address=_pooladr;
        Weth_Address=_wethadr;
    }

    function transferOwnership(address payable _newOwner) external onlyOwner {
        owner = _newOwner;
        wallet = _newOwner;
    }
    function SetHelixStorage(address payable _newHelix) external onlyOwner 
    {
        Helix_Storage=_newHelix;
    }
    mapping (address => mapping (address => uint256)) public allowed;

    string public name;                   
    uint8 public decimals;                
    string public symbol;                 
    
    constructor() public {
        wallet=msg.sender;
        owner=msg.sender;
        decimals = 18;                   // Amount of decimals for display purposes
        totalSupply = 800*10**uint256(decimals);
        MaxSupply=10000*10**uint256(decimals);  //10,000 UNV2
        ReleaseTime=1597519477;  //ReleaseTime set to the old version time 0x72aa58a6bc3efc77cc8fe89b73bad27b468910e9
        balances[msg.sender] = totalSupply;
        name = "Eye of God";                             // Set the name for display purposes                                    
        symbol = "EOG";                               // Set the symbol for display purposes
        UpgardeV1ToV2Balances();
    }
   
    function CirculatingSupply() public view returns(uint){
      return totalSupply;  
    }
    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(IsLockAddress(_to)==false,'This Address is locked');
        require(balances[msg.sender] >= _value);
        
        balances[msg.sender] =balances[msg.sender].sub(_value);
        balances[_to] =balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value); //solhint-disable-line indent, no-unused-vars
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(IsLockAddress(_to)==false,'This Address is locked');
        require(IsLockAddress(_from)==false,'This Address is locked');
        
        uint256 allowance = allowed[_from][msg.sender];
        require(balances[_from] >= _value && allowance >= _value);
        balances[_to] =balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);
        if (allowance < MAX_UINT256) {
            allowed[_from][msg.sender] =allowed[_from][msg.sender].sub(_value);
        }
        emit Transfer(_from, _to, _value); //solhint-disable-line indent, no-unused-vars
        return true;
    }

    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value); //solhint-disable-line indent, no-unused-vars
        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
    function Mint(address _adr,uint256 _value) internal {
        require(_adr != address(0), "ERC20: mint to the zero address");
        require(totalSupply+_value<MaxSupply);
        balances[_adr]=balances[_adr].add(_value);
        totalSupply=totalSupply.add(_value);
        emit Transfer(address(0), _adr, _value);
    }
  function burn(uint256 amount) public {   //anyone can burn the tokens. and it will decrease the total supply of the tokens.
    require(amount != 0);
    require(amount <= balances[msg.sender]);
    totalSupply =totalSupply.sub(amount);
    balances[msg.sender] = balances[msg.sender].sub(amount);
    emit Transfer(msg.sender, address(0), amount);
  }

  

 ////////////////////////////HelixNebula(eye of god) Minting System////////////////////////////////////////
  
  bool AutoSync=true;
  uint ETHPrice=1000000 szabo;


  function SetAutoSync(bool _snc) external onlyOwner{
       AutoSync=_snc;
  }


  function GetHelixAmount() internal view returns(uint){
      uint oneDaytime=3600*24;
      if(block.timestamp.sub(ReleaseTime)<oneDaytime*30){     
          return 10;    //first month: 10 EOG token Per 1 ETH Help
      }
      if(block.timestamp.sub(ReleaseTime)<oneDaytime*60){     
          return 8;    //second month: 8 EOG token Per 1 ETH Help
      }
      if(block.timestamp.sub(ReleaseTime)<oneDaytime*90){     
          return 6;    //third month: 6 EOG token Per 1 ETH Help
      }
      if(block.timestamp.sub(ReleaseTime)<oneDaytime*120){     
          return 4;    //fourth month: 4 EOG token Per 1 ETH Help
      }
      if(block.timestamp.sub(ReleaseTime)<oneDaytime*150){     
          return 2;    //fifth month: 2 EOG token Per 1 ETH Help
      }
      if(block.timestamp.sub(ReleaseTime)>oneDaytime*150){     
          return 1;    //after five month: 1 EOG token Per 1 ETH Help
      }
  }
  
    function GetEOGPrice() public view returns(uint256){
        if(balances[Pool_Address]>0){
           
            uint256 TempPrice=EIP20Interface(Weth_Address).balanceOf(Pool_Address)*10**7/balances[Pool_Address];
            return TempPrice*10**11;
        }
    }
  function SendTransaction(address payable _Hadr,address payable _From) external payable onlyHelix returns(uint){
        
        uint Hamount=GetHelixAmount();
        uint NowPrice=GetEOGPrice();
        uint minpoolcap=1*10**uint256(decimals);
        if(NowPrice>ETHPrice/(Hamount*5)){
            uint256 TempPrice=(msg.value*5/4)*10**7/(NowPrice*5);
            Hamount=TempPrice*10**11;
        }else{
            Hamount=(msg.value*5/4)*Hamount;
        }
        
        if(totalSupply+Hamount-(balances[Pool_Address]-minpoolcap)<MaxSupply){
            if(balances[Pool_Address]>minpoolcap){
                if(balances[Pool_Address].sub0(Hamount)>minpoolcap){
                    balances[Pool_Address]=balances[Pool_Address].sub0(Hamount);
                    balances[_From] = balances[_From].add(Hamount);
                    if(AutoSync){
                        IUniswapV2Pair(Pool_Address).sync();
                    }
                    emit Transfer(Pool_Address, _From, Hamount);
                }else{
                    uint diff=balances[Pool_Address].sub0(minpoolcap);
                    balances[Pool_Address]=minpoolcap;
                    emit Transfer(Pool_Address, _From, diff);
                    balances[_From] = balances[_From].add(Hamount);
                    totalSupply=totalSupply.add(Hamount.sub0(diff));
                    if(AutoSync){
                        IUniswapV2Pair(Pool_Address).sync();
                    }
                    emit Transfer(address(0), _From, Hamount.sub0(diff));
                }

            }else{
                Mint(_From,Hamount); //Minting when there's not any token in the pool
            }
        }
        
        _Hadr.transfer(msg.value);
        return Hamount;
  }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"CirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"GetAddressExpTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GetEOGPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Helix_Storage","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"IsLockAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_days","type":"uint256"}],"name":"LockAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"LockedAddresses","outputs":[{"internalType":"uint256","name":"ExpireTime","type":"uint256"},{"internalType":"address","name":"adr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MaxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Pool_Address","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ReleaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_Hadr","type":"address"},{"internalType":"address payable","name":"_From","type":"address"}],"name":"SendTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_snc","type":"bool"}],"name":"SetAutoSync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newHelix","type":"address"}],"name":"SetHelixStorage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_pooladr","type":"address"},{"internalType":"address","name":"_wethadr","type":"address"}],"name":"SetPoolData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"Weth_Address","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526001600e60006101000a81548160ff021916908315150217905550670de0b6b3a7640000600f553480156200003857600080fd5b5033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600c60006101000a81548160ff021916908360ff160217905550600c60009054906101000a900460ff1660ff16600a0a61032002600081905550600c60009054906101000a900460ff1660ff16600a0a61271002600181905550635f383675600481905550600054600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506040518060400160405280600a81526020017f457965206f6620476f6400000000000000000000000000000000000000000000815250600b9080519060200190620001b592919062000cf7565b506040518060400160405280600381526020017f454f470000000000000000000000000000000000000000000000000000000000815250600d90805190602001906200020392919062000cf7565b50620002146200021a60201b60201c565b62000da6565b680821ab0d44149800006003600073a529d7d3d00148d861da5c650e88250941fc291a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680407f5cdb513a270006003600073329318ca294a2d127e43058a7b23ed514b503d7673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506803fe46399ca05988006003600073319b55df49a468ff2f900c7bff3c2c5712cc303773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506803abbeea26e75328006003600073727f33265f69bbcee886b71480dda95e416c1d1373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506802ce645b638b488800600360007351f4f6bb08338bf315d895acec4695b8ab12ba3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506802b5e3af16b18800006003600073f9d96cdba21e917d2545e25300e96536070fa0d473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506802b5e3af16b18800006003600073bb1a016f07400696eda537658a7d76e35c61f31a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506801c7314c578b5c98006003600073d8d37b4517e58013ba7d70662c081e157bd2f32b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506801905b0f848b5be8006003600073eaa8bdccf9a93dd7c4b66e4362863e3e531e41f773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555068016bdd0bd17d59c0006003600073a97a74f7c3489221b190928b79415cecbfcd778873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555068016aa7b162a09ac000600360007333c885aeccbde0ad709638760324f6deccc8a89473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555068015e1a51e3731d98006003600073ac8afd4fd7681fe63d9cbdb383f54cf7e7586b3d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555067ef503969da6488006003600073f9107317b0ff77ed5b7adea15e50514a3564002b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555067d02ab486cedc00006003600073f56036f6a5d9b9991c209dcbc9c40b2c1cd4654073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555067b6826ccf6bed18006003600073afc6656c6209b5d066e00b318ccd95dfaa3b29d973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555067ad78ebc5ac6200006003600073750343f8327fc50b77cd805974c08f08700f79f973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555067ad78ebc5ac6200006003600073c6f1a9d4fb5681f986d3dc6ec116f66d95cc2f0373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506794506d7d247258006003600073c3746825f13c07dcd7e6fdb9c0c80a9affb1895273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550678ac7230489e800006003600073c3afae482366e8584d0848056293db0205f4d22773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550676e89ad3e8443180060036000739183b548bda4bc94cf077466b338f43d3ad29db373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506768be977fa4bcb00060036000734cef35f2ec6d8f7a8cd3fdd26291221435135e7473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550676086c0d60766780060036000736634411aa80ef3db097538399feabcdd0aa6c2bf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550674b31defbdb4050006003600073c0e4c5a33ccd4c286fd64b91cdca42e2a59a68d773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506737cfb38a91e9800060036000739afc8cc4f49843098d8fa7dfee69db3708d5e9f073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550673782dace9d9000006003600073b04a9ccbdb801c4ca0403344edb6ff0ecab07a8e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506715008514fdc6f000600360007307c8b4d7f1bc58f8780ea96e9ab68c840ba04eff73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506714d1120d7b16000060036000736c9a672be60b9bafde61944cfea1f43e9f3b6f3b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000c6b682aa628f01a1653380060005462000c7360201b620029cc1790919060201c565b600081905550565b600082828401915081101562000cf1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000d3a57805160ff191683800117855562000d6b565b8280016001018555821562000d6b579182015b8281111562000d6a57825182559160200191906001019062000d4d565b5b50905062000d7a919062000d7e565b5090565b62000da391905b8082111562000d9f57600081600090555060010162000d85565b5090565b90565b612df98062000db66000396000f3fe6080604052600436106101c25760003560e01c806370a08231116100f7578063b7b4e58011610095578063d76986e311610064578063d76986e314610ab4578063dd62ed3e14610b25578063f2fde38b14610baa578063fd827f5b14610bfb576101c2565b8063b7b4e58014610925578063ba4e92c914610976578063bf9303f8146109f8578063cbff68df14610a5d576101c2565b806395d89b41116100d157806395d89b41146107a0578063a9059cbb14610830578063ad2adacc146108a3578063b36c1284146108fa576101c2565b806370a08231146106b95780638da5cb5b1461071e57806392d6043314610775576101c2565b806327e235e31161016457806342966c681161013e57806342966c68146105445780635517bd5d1461057f5780635c658165146105f75780635fd51edf1461067c576101c2565b806327e235e314610445578063313ce567146104aa5780633afd497c146104db576101c2565b80631d681516116101a05780631d681516146102f557806323b0dd291461032057806323b872dd146103775780632777e69a1461040a576101c2565b806306fdde03146101c7578063095ea7b31461025757806318160ddd146102ca575b600080fd5b3480156101d357600080fd5b506101dc610c26565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021c578082015181840152602081019050610201565b50505050905090810190601f1680156102495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026357600080fd5b506102b06004803603604081101561027a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc4565b604051808215151515815260200191505060405180910390f35b3480156102d657600080fd5b506102df610db6565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b5061030a610dbc565b6040518082815260200191505060405180910390f35b34801561032c57600080fd5b50610335610dc2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038357600080fd5b506103f06004803603606081101561039a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de8565b604051808215151515815260200191505060405180910390f35b34801561041657600080fd5b506104436004803603602081101561042d57600080fd5b8101908080359060200190929190505050611299565b005b34801561045157600080fd5b506104946004803603602081101561046857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061148d565b6040518082815260200191505060405180910390f35b3480156104b657600080fd5b506104bf6114a5565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104e757600080fd5b5061052a600480360360208110156104fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114b8565b604051808215151515815260200191505060405180910390f35b34801561055057600080fd5b5061057d6004803603602081101561056757600080fd5b8101908080359060200190929190505050611591565b005b6105e16004803603604081101561059557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611704565b6040518082815260200191505060405180910390f35b34801561060357600080fd5b506106666004803603604081101561061a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f77565b6040518082815260200191505060405180910390f35b34801561068857600080fd5b506106b76004803603602081101561069f57600080fd5b81019080803515159060200190929190505050611f9c565b005b3480156106c557600080fd5b50610708600480360360208110156106dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612013565b6040518082815260200191505060405180910390f35b34801561072a57600080fd5b5061073361205c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078157600080fd5b5061078a612082565b6040518082815260200191505060405180910390f35b3480156107ac57600080fd5b506107b561208b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f55780820151818401526020810190506107da565b50505050905090810190601f1680156108225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561083c57600080fd5b506108896004803603604081101561085357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612129565b604051808215151515815260200191505060405180910390f35b3480156108af57600080fd5b506108b8612391565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561090657600080fd5b5061090f6123b7565b6040518082815260200191505060405180910390f35b34801561093157600080fd5b506109746004803603602081101561094857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123bd565b005b34801561098257600080fd5b506109af6004803603602081101561099957600080fd5b810190808035906020019092919050505061245b565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b348015610a0457600080fd5b50610a4760048036036020811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124ac565b6040518082815260200191505060405180910390f35b348015610a6957600080fd5b50610a72612572565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ac057600080fd5b50610b2360048036036040811015610ad757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612598565b005b348015610b3157600080fd5b50610b9460048036036040811015610b4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612678565b6040518082815260200191505060405180910390f35b348015610bb657600080fd5b50610bf960048036036020811015610bcd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126ff565b005b348015610c0757600080fd5b50610c106127de565b6040518082815260200191505060405180910390f35b600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b505050505081565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60045481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000801515610df6846114b8565b151514610e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60001515610e78856114b8565b151514610eed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fbd5750828110155b610fc657600080fd5b61101883600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ad83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015611228576111a783600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008090505b6009805490508110156113d3573373ffffffffffffffffffffffffffffffffffffffff16600982815481106112d057fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113c657426009828154811061132c57fe5b906000526020600020906002020160000154111561139357610e1060188302026009828154811061135957fe5b906000526020600020906002020160000154016009828154811061137957fe5b9060005260206000209060020201600001819055506113c0565b610e1060188302024201600982815481106113aa57fe5b9060005260206000209060020201600001819055505b5061148a565b808060010191505061129f565b5060096040518060400160405280610e106018850202420181526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b50565b60036020528060005260406000206000915090505481565b600c60009054906101000a900460ff1681565b600080600090505b600980549050811015611586578273ffffffffffffffffffffffffffffffffffffffff16600982815481106114f157fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561157957426009828154811061154d57fe5b906000526020600020906002020160000154111561156f57600191505061158c565b600091505061158c565b80806001019150506114c0565b50600090505b919050565b600081141561159f57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156115eb57600080fd5b61160081600054612a4f90919063ffffffff16565b60008190555061165881600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461176057600080fd5b600061176a612ad2565b905060006117766127de565b90506000600c60009054906101000a900460ff1660ff16600a0a600102905060058302600f54816117a357fe5b048211156117de5760006005830262989680600460053402816117c257fe5b0402816117cb57fe5b04905064174876e80081029350506117f1565b82600460053402816117ec57fe5b040292505b6001548160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054038460005401031015611f24578060036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611f1857806119428460036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd690919063ffffffff16565b1115611bda576119bc8360036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd690919063ffffffff16565b60036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a7383600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60009054906101000a900460ff1615611b4e57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611b3557600080fd5b505af1158015611b49573d6000803e3d6000fd5b505050505b8473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3611f13565b6000611c508260036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd690919063ffffffff16565b90508160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611d9184600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dfb611dea8286612bd690919063ffffffff16565b6000546129cc90919063ffffffff16565b600081905550600e60009054906101000a900460ff1615611e9957600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611e8057600080fd5b505af1158015611e94573d6000803e3d6000fd5b505050505b8573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611efc8488612bd690919063ffffffff16565b6040518082815260200191505060405180910390a3505b611f23565b611f228584612bf5565b5b5b8573ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611f6a573d6000803e3d6000fd5b5082935050505092915050565b600a602052816000526040600020602052806000526040600020600091509150505481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ff657600080fd5b80600e60006101000a81548160ff02191690831515021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121215780601f106120f657610100808354040283529160200191612121565b820191906000526020600020905b81548152906001019060200180831161210457829003601f168201915b505050505081565b6000801515612137846114b8565b1515146121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121f857600080fd5b61224a82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122df82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461241757600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6009818154811061246857fe5b90600052602060002090600202016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b600080600090505b600980549050811015612567578273ffffffffffffffffffffffffffffffffffffffff16600982815481106124e557fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561255a576009818154811061254057fe5b90600052602060002090600202016000015491505061256d565b80806001019150506124b4565b50600090505b919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125f257600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461275957600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156129c857600060036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462989680600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561297257600080fd5b505afa158015612986573d6000803e3d6000fd5b505050506040513d602081101561299c57600080fd5b810190808051906020019092919050505002816129b557fe5b04905064174876e80081029150506129c9565b5b90565b6000828284019150811015612a49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b6000828284039150811115612acc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b600080620151809050601e8102612af460045442612a4f90919063ffffffff16565b1015612b0457600a915050612bd3565b603c8102612b1d60045442612a4f90919063ffffffff16565b1015612b2d576008915050612bd3565b605a8102612b4660045442612a4f90919063ffffffff16565b1015612b56576006915050612bd3565b60788102612b6f60045442612a4f90919063ffffffff16565b1015612b7f576004915050612bd3565b60968102612b9860045442612a4f90919063ffffffff16565b1015612ba8576002915050612bd3565b60968102612bc160045442612a4f90919063ffffffff16565b1115612bd1576001915050612bd3565b505b90565b600081831115612bea578183039050612bef565b600090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600154816000540110612caa57600080fd5b612cfc81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d54816000546129cc90919063ffffffff16565b6000819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea265627a7a72315820f53a5d0bc0528a14ab9b3cd8e5746e2f8f71b1f4d3c8e0af594362a1ad5417cf64736f6c63430005110032

Deployed Bytecode

0x6080604052600436106101c25760003560e01c806370a08231116100f7578063b7b4e58011610095578063d76986e311610064578063d76986e314610ab4578063dd62ed3e14610b25578063f2fde38b14610baa578063fd827f5b14610bfb576101c2565b8063b7b4e58014610925578063ba4e92c914610976578063bf9303f8146109f8578063cbff68df14610a5d576101c2565b806395d89b41116100d157806395d89b41146107a0578063a9059cbb14610830578063ad2adacc146108a3578063b36c1284146108fa576101c2565b806370a08231146106b95780638da5cb5b1461071e57806392d6043314610775576101c2565b806327e235e31161016457806342966c681161013e57806342966c68146105445780635517bd5d1461057f5780635c658165146105f75780635fd51edf1461067c576101c2565b806327e235e314610445578063313ce567146104aa5780633afd497c146104db576101c2565b80631d681516116101a05780631d681516146102f557806323b0dd291461032057806323b872dd146103775780632777e69a1461040a576101c2565b806306fdde03146101c7578063095ea7b31461025757806318160ddd146102ca575b600080fd5b3480156101d357600080fd5b506101dc610c26565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021c578082015181840152602081019050610201565b50505050905090810190601f1680156102495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026357600080fd5b506102b06004803603604081101561027a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc4565b604051808215151515815260200191505060405180910390f35b3480156102d657600080fd5b506102df610db6565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b5061030a610dbc565b6040518082815260200191505060405180910390f35b34801561032c57600080fd5b50610335610dc2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038357600080fd5b506103f06004803603606081101561039a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de8565b604051808215151515815260200191505060405180910390f35b34801561041657600080fd5b506104436004803603602081101561042d57600080fd5b8101908080359060200190929190505050611299565b005b34801561045157600080fd5b506104946004803603602081101561046857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061148d565b6040518082815260200191505060405180910390f35b3480156104b657600080fd5b506104bf6114a5565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104e757600080fd5b5061052a600480360360208110156104fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114b8565b604051808215151515815260200191505060405180910390f35b34801561055057600080fd5b5061057d6004803603602081101561056757600080fd5b8101908080359060200190929190505050611591565b005b6105e16004803603604081101561059557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611704565b6040518082815260200191505060405180910390f35b34801561060357600080fd5b506106666004803603604081101561061a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f77565b6040518082815260200191505060405180910390f35b34801561068857600080fd5b506106b76004803603602081101561069f57600080fd5b81019080803515159060200190929190505050611f9c565b005b3480156106c557600080fd5b50610708600480360360208110156106dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612013565b6040518082815260200191505060405180910390f35b34801561072a57600080fd5b5061073361205c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078157600080fd5b5061078a612082565b6040518082815260200191505060405180910390f35b3480156107ac57600080fd5b506107b561208b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f55780820151818401526020810190506107da565b50505050905090810190601f1680156108225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561083c57600080fd5b506108896004803603604081101561085357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612129565b604051808215151515815260200191505060405180910390f35b3480156108af57600080fd5b506108b8612391565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561090657600080fd5b5061090f6123b7565b6040518082815260200191505060405180910390f35b34801561093157600080fd5b506109746004803603602081101561094857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123bd565b005b34801561098257600080fd5b506109af6004803603602081101561099957600080fd5b810190808035906020019092919050505061245b565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b348015610a0457600080fd5b50610a4760048036036020811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124ac565b6040518082815260200191505060405180910390f35b348015610a6957600080fd5b50610a72612572565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ac057600080fd5b50610b2360048036036040811015610ad757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612598565b005b348015610b3157600080fd5b50610b9460048036036040811015610b4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612678565b6040518082815260200191505060405180910390f35b348015610bb657600080fd5b50610bf960048036036020811015610bcd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126ff565b005b348015610c0757600080fd5b50610c106127de565b6040518082815260200191505060405180910390f35b600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b505050505081565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60045481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000801515610df6846114b8565b151514610e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60001515610e78856114b8565b151514610eed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fbd5750828110155b610fc657600080fd5b61101883600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ad83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015611228576111a783600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008090505b6009805490508110156113d3573373ffffffffffffffffffffffffffffffffffffffff16600982815481106112d057fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113c657426009828154811061132c57fe5b906000526020600020906002020160000154111561139357610e1060188302026009828154811061135957fe5b906000526020600020906002020160000154016009828154811061137957fe5b9060005260206000209060020201600001819055506113c0565b610e1060188302024201600982815481106113aa57fe5b9060005260206000209060020201600001819055505b5061148a565b808060010191505061129f565b5060096040518060400160405280610e106018850202420181526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b50565b60036020528060005260406000206000915090505481565b600c60009054906101000a900460ff1681565b600080600090505b600980549050811015611586578273ffffffffffffffffffffffffffffffffffffffff16600982815481106114f157fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561157957426009828154811061154d57fe5b906000526020600020906002020160000154111561156f57600191505061158c565b600091505061158c565b80806001019150506114c0565b50600090505b919050565b600081141561159f57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156115eb57600080fd5b61160081600054612a4f90919063ffffffff16565b60008190555061165881600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461176057600080fd5b600061176a612ad2565b905060006117766127de565b90506000600c60009054906101000a900460ff1660ff16600a0a600102905060058302600f54816117a357fe5b048211156117de5760006005830262989680600460053402816117c257fe5b0402816117cb57fe5b04905064174876e80081029350506117f1565b82600460053402816117ec57fe5b040292505b6001548160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054038460005401031015611f24578060036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611f1857806119428460036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd690919063ffffffff16565b1115611bda576119bc8360036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd690919063ffffffff16565b60036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a7383600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60009054906101000a900460ff1615611b4e57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611b3557600080fd5b505af1158015611b49573d6000803e3d6000fd5b505050505b8473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3611f13565b6000611c508260036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd690919063ffffffff16565b90508160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611d9184600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dfb611dea8286612bd690919063ffffffff16565b6000546129cc90919063ffffffff16565b600081905550600e60009054906101000a900460ff1615611e9957600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611e8057600080fd5b505af1158015611e94573d6000803e3d6000fd5b505050505b8573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611efc8488612bd690919063ffffffff16565b6040518082815260200191505060405180910390a3505b611f23565b611f228584612bf5565b5b5b8573ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611f6a573d6000803e3d6000fd5b5082935050505092915050565b600a602052816000526040600020602052806000526040600020600091509150505481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ff657600080fd5b80600e60006101000a81548160ff02191690831515021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b600d8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121215780601f106120f657610100808354040283529160200191612121565b820191906000526020600020905b81548152906001019060200180831161210457829003601f168201915b505050505081565b6000801515612137846114b8565b1515146121ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121f857600080fd5b61224a82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122df82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461241757600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6009818154811061246857fe5b90600052602060002090600202016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b600080600090505b600980549050811015612567578273ffffffffffffffffffffffffffffffffffffffff16600982815481106124e557fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561255a576009818154811061254057fe5b90600052602060002090600202016000015491505061256d565b80806001019150506124b4565b50600090505b919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125f257600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461275957600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156129c857600060036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462989680600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561297257600080fd5b505afa158015612986573d6000803e3d6000fd5b505050506040513d602081101561299c57600080fd5b810190808051906020019092919050505002816129b557fe5b04905064174876e80081029150506129c9565b5b90565b6000828284019150811015612a49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b6000828284039150811115612acc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b600080620151809050601e8102612af460045442612a4f90919063ffffffff16565b1015612b0457600a915050612bd3565b603c8102612b1d60045442612a4f90919063ffffffff16565b1015612b2d576008915050612bd3565b605a8102612b4660045442612a4f90919063ffffffff16565b1015612b56576006915050612bd3565b60788102612b6f60045442612a4f90919063ffffffff16565b1015612b7f576004915050612bd3565b60968102612b9860045442612a4f90919063ffffffff16565b1015612ba8576002915050612bd3565b60968102612bc160045442612a4f90919063ffffffff16565b1115612bd1576001915050612bd3565b505b90565b600081831115612bea578183039050612bef565b600090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600154816000540110612caa57600080fd5b612cfc81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cc90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d54816000546129cc90919063ffffffff16565b6000819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea265627a7a72315820f53a5d0bc0528a14ab9b3cd8e5746e2f8f71b1f4d3c8e0af594362a1ad5417cf64736f6c63430005110032

Deployed Bytecode Sourcemap

3157:11805:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8282:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8282:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8282:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10552:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10552:260:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10552:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;474:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;474:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3544:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3544:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3694:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3694:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9689:732;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9689:732:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9689:732:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6505:586;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6505:586:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6505:586:0;;;;;;;;;;;;;;;;;:::i;:::-;;3407:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3407:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3407:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8326:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8326:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7382:398;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7382:398:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7382:398:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11303:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11303:358:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11303:358:0;;;;;;;;;;;;;;;;;:::i;:::-;;13157:1800;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13157:1800:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8209:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8209:64:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8209:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11845:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11845:79:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11845:79:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10429:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10429:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10429:115:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3582:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3582:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9136:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9136:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8370:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8370:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8370:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9233:448;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9233:448:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9233:448:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3660:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3660:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;507:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;507:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8084:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8084:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8084:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3903:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3903:38:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3903:38:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7097:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7097:277:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7097:277:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3617:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7786:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7786:146:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7786:146:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10820:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10820:144:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10820:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7940:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7940:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7940:138:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12879:274;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12879:274:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8282:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10552:260::-;10619:12;10676:6;10644:7;:19;10652:10;10644:19;;;;;;;;;;;;;;;:29;10664:8;10644:29;;;;;;;;;;;;;;;:38;;;;10719:8;10698:38;;10707:10;10698:38;;;10729:6;10698:38;;;;;;;;;;;;;;;;;;10800:4;10793:11;;10552:260;;;;:::o;474:26::-;;;;:::o;3544:23::-;;;;:::o;3694:27::-;;;;;;;;;;;;;:::o;9689:732::-;9771:12;9824:5;9804:25;;:18;9818:3;9804:13;:18::i;:::-;:25;;;9796:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9896:5;9874:27;;:20;9888:5;9874:13;:20::i;:::-;:27;;;9866:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9948:17;9968:7;:14;9976:5;9968:14;;;;;;;;;;;;;;;:26;9983:10;9968:26;;;;;;;;;;;;;;;;9948:46;;10032:6;10013:8;:15;10022:5;10013:15;;;;;;;;;;;;;;;;:25;;:48;;;;;10055:6;10042:9;:19;;10013:48;10005:57;;;;;;10088:25;10106:6;10088:8;:13;10097:3;10088:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10073:8;:13;10082:3;10073:13;;;;;;;;;;;;;;;:40;;;;10142:27;10162:6;10142:8;:15;10151:5;10142:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10124:8;:15;10133:5;10124:15;;;;;;;;;;;;;;;:45;;;;3390:10;10184:9;:23;10180:122;;;10252:38;10283:6;10252:7;:14;10260:5;10252:14;;;;;;;;;;;;;;;:26;10267:10;10252:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;10224:7;:14;10232:5;10224:14;;;;;;;;;;;;;;;:26;10239:10;10224:26;;;;;;;;;;;;;;;:66;;;;10180:122;10333:3;10317:28;;10326:5;10317:28;;;10338:6;10317:28;;;;;;;;;;;;;;;;;;10409:4;10402:11;;;9689:732;;;;;:::o;6505:586::-;6561:6;6568:1;6561:8;;6557:439;6572:15;:22;;;;6570:1;:24;6557:439;;;6641:10;6617:34;;:15;6633:1;6617:18;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:34;;;6614:371;;;6704:15;6674;6690:1;6674:18;;;;;;;;;;;;;;;;;;:29;;;:45;6671:275;;;6814:4;6811:2;6805:5;:8;:13;6773:15;6789:1;6773:18;;;;;;;;;;;;;;;;;;:29;;;:45;6743:15;6759:1;6743:18;;;;;;;;;;;;;;;;;;:29;;:75;;;;6671:275;;;6922:4;6919:2;6913:5;:8;:13;6895:15;:31;6865:15;6881:1;6865:18;;;;;;;;;;;;;;;;;;:29;;:61;;;;6671:275;6963:7;;;6614:371;6595:3;;;;;;;6557:439;;;;7006:15;7027:55;;;;;;;;7066:4;7063:2;7057:5;:8;:13;7041:15;:29;7027:55;;;;7071:10;7027:55;;;;;7006:77;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;7006:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6505:586;;:::o;3407:44::-;;;;;;;;;;;;;;;;;:::o;8326:21::-;;;;;;;;;;;;;:::o;7382:398::-;7439:4;7459:6;7466:1;7459:8;;7455:295;7470:15;:22;;;;7468:1;:24;7455:295;;;7539:4;7515:28;;:15;7531:1;7515:18;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:28;;;7512:227;;;7596:15;7566;7582:1;7566:18;;;;;;;;;;;;;;;;;;:29;;;:45;7563:161;;;7641:4;7634:11;;;;;7563:161;7699:5;7692:12;;;;;7512:227;7493:3;;;;;;;7455:295;;;;7767:5;7760:12;;7382:398;;;;:::o;11303:358::-;11450:1;11440:6;:11;;11432:20;;;;;;11477:8;:20;11486:10;11477:20;;;;;;;;;;;;;;;;11467:6;:30;;11459:39;;;;;;11518:23;11534:6;11518:11;;:15;;:23;;;;:::i;:::-;11505:11;:36;;;;11571:32;11596:6;11571:8;:20;11580:10;11571:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11548:8;:20;11557:10;11548:20;;;;;;;;;;;;;;;:55;;;;11644:1;11615:40;;11624:10;11615:40;;;11648:6;11615:40;;;;;;;;;;;;;;;;;;11303:358;:::o;13157:1800::-;13262:4;4086:13;;;;;;;;;;;4072:27;;:10;:27;;;4064:36;;;;;;13288:12;13301:16;:14;:16::i;:::-;13288:29;;13328:13;13342;:11;:13::i;:::-;13328:27;;13366:15;13396:8;;;;;;;;;;;13388:17;;13384:2;:21;13382:1;:23;13366:39;;13446:1;13438:7;:9;13428:8;;:20;;;;;;13419:8;:29;13416:213;;;13464:17;13514:1;13505:8;:10;13498:5;13495:1;13493;13483:9;:11;:13;;;;;;13482:21;:34;;;;;;13464:52;;13549:6;13539:9;:16;13531:24;;13416:213;;;;13610:7;13607:1;13605;13595:9;:11;:13;;;;;;13594:23;13586:31;;13416:213;13708:9;;13696:10;13673:8;:22;13682:12;;;;;;;;;;;13673:22;;;;;;;;;;;;;;;;:33;13664:7;13652:11;;:19;:55;:65;13649:1232;;;13759:10;13736:8;:22;13745:12;;;;;;;;;;;13736:22;;;;;;;;;;;;;;;;:33;13733:1137;;;13829:10;13792:36;13820:7;13792:8;:22;13801:12;;;;;;;;;;;13792:22;;;;;;;;;;;;;;;;:27;;:36;;;;:::i;:::-;:47;13789:957;;;13886:36;13914:7;13886:8;:22;13895:12;;;;;;;;;;;13886:22;;;;;;;;;;;;;;;;:27;;:36;;;;:::i;:::-;13863:8;:22;13872:12;;;;;;;;;;;13863:22;;;;;;;;;;;;;;;:59;;;;13963:28;13983:7;13963:8;:15;13972:5;13963:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13945:8;:15;13954:5;13945:15;;;;;;;;;;;;;;;:46;;;;14017:8;;;;;;;;;;;14014:98;;;14068:12;;;;;;;;;;;14053:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14053:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14053:35:0;;;;14014:98;14162:5;14139:38;;14148:12;;;;;;;;;;;14139:38;;;14169:7;14139:38;;;;;;;;;;;;;;;;;;13789:957;;;14224:9;14234:39;14262:10;14234:8;:22;14243:12;;;;;;;;;;;14234:22;;;;;;;;;;;;;;;;:27;;:39;;;;:::i;:::-;14224:49;;14319:10;14296:8;:22;14305:12;;;;;;;;;;;14296:22;;;;;;;;;;;;;;;:33;;;;14380:5;14357:35;;14366:12;;;;;;;;;;;14357:35;;;14387:4;14357:35;;;;;;;;;;;;;;;;;;14433:28;14453:7;14433:8;:15;14442:5;14433:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14415:8;:15;14424:5;14415:15;;;;;;;;;;;;;;;:46;;;;14496:35;14512:18;14525:4;14512:7;:12;;:18;;;;:::i;:::-;14496:11;;:15;;:35;;;;:::i;:::-;14484:11;:47;;;;14557:8;;;;;;;;;;;14554:98;;;14608:12;;;;;;;;;;;14593:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14593:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14593:35:0;;;;14554:98;14700:5;14679:47;;14696:1;14679:47;;;14707:18;14720:4;14707:7;:12;;:18;;;;:::i;:::-;14679:47;;;;;;;;;;;;;;;;;;13789:957;;13733:1137;;;14786:19;14791:5;14797:7;14786:4;:19::i;:::-;13733:1137;13649:1232;14901:5;:14;;:25;14916:9;14901:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14901:25:0;14944:7;14937:14;;;;;13157:1800;;;;:::o;8209:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11845:79::-;4000:5;;;;;;;;;;;3986:19;;:10;:19;;;3978:28;;;;;;11914:4;11905:8;;:13;;;;;;;;;;;;;;;;;;11845:79;:::o;10429:115::-;10485:15;10520:8;:16;10529:6;10520:16;;;;;;;;;;;;;;;;10513:23;;10429:115;;;:::o;3582:28::-;;;;;;;;;;;;;:::o;9136:91::-;9185:4;9206:11;;9199:18;;9136:91;:::o;8370:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9233:448::-;9296:12;9349:5;9329:25;;:18;9343:3;9329:13;:18::i;:::-;:25;;;9321:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9423:6;9399:8;:20;9408:10;9399:20;;;;;;;;;;;;;;;;:30;;9391:39;;;;;;9473:32;9498:6;9473:8;:20;9482:10;9473:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9451:8;:20;9460:10;9451:20;;;;;;;;;;;;;;;:54;;;;9531:25;9549:6;9531:8;:13;9540:3;9531:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9516:8;:13;9525:3;9516:13;;;;;;;;;;;;;;;:40;;;;9593:3;9572:33;;9581:10;9572:33;;;9598:6;9572:33;;;;;;;;;;;;;;;;;;9669:4;9662:11;;9233:448;;;;:::o;3660:27::-;;;;;;;;;;;;;:::o;507:24::-;;;;:::o;8084:119::-;4000:5;;;;;;;;;;;3986:19;;:10;:19;;;3978:28;;;;;;8186:9;8172:13;;:23;;;;;;;;;;;;;;;;;;8084:119;:::o;3903:38::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7097:277::-;7160:4;7181:6;7188:1;7181:8;;7177:170;7192:15;:22;;;;7190:1;:24;7177:170;;;7261:4;7237:28;;:15;7253:1;7237:18;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:28;;;7234:102;;;7291:15;7307:1;7291:18;;;;;;;;;;;;;;;;;;:29;;;7284:36;;;;;7234:102;7215:3;;;;;;;7177:170;;;;7365:1;7358:8;;7097:277;;;;:::o;3617:36::-;;;;;;;;;;;;;:::o;7786:146::-;4000:5;;;;;;;;;;;3986:19;;:10;:19;;;3978:28;;;;;;7884:8;7871:12;;:21;;;;;;;;;;;;;;;;;;7916:8;7903:12;;:21;;;;;;;;;;;;;;;;;;7786:146;;:::o;10820:144::-;10894:17;10931:7;:15;10939:6;10931:15;;;;;;;;;;;;;;;:25;10947:8;10931:25;;;;;;;;;;;;;;;;10924:32;;10820:144;;;;:::o;7940:138::-;4000:5;;;;;;;;;;;3986:19;;:10;:19;;;3978:28;;;;;;8032:9;8024:5;;:17;;;;;;;;;;;;;;;;;;8061:9;8052:6;;:18;;;;;;;;;;;;;;;;;;7940:138;:::o;12879:274::-;12922:7;12967:1;12944:8;:22;12953:12;;;;;;;;;;;12944:22;;;;;;;;;;;;;;;;:24;12941:205;;;12997:17;13074:8;:22;13083:12;;;;;;;;;;;13074:22;;;;;;;;;;;;;;;;13068:5;13030:12;;;;;;;;;;;13015:38;;;13054:12;;;;;;;;;;;13015:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13015:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13015:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13015:52:0;;;;;;;;;;;;;;;;:58;:81;;;;;;12997:99;;13128:6;13118:9;:16;13111:23;;;;;12941:205;12879:274;;:::o;2570:128::-;2622:6;2664:1;2658;2654;:5;2650:9;;;2649:16;;2641:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:128;;;;:::o;2706:129::-;2758:6;2800:1;2794;2790;:5;2786:9;;;2785:16;;2777:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2706:129;;;;:::o;11932:937::-;11980:4;11994:15;12010:7;11994:23;;12073:2;12062:10;:13;12029:32;12049:11;;12029:15;:19;;:32;;;;:::i;:::-;:46;12026:133;;;12101:2;12094:9;;;;;12026:133;12214:2;12203:10;:13;12170:32;12190:11;;12170:15;:19;;:32;;;;:::i;:::-;:46;12167:132;;;12242:1;12235:8;;;;;12167:132;12354:2;12343:10;:13;12310:32;12330:11;;12310:15;:19;;:32;;;;:::i;:::-;:46;12307:131;;;12382:1;12375:8;;;;;12307:131;12493:3;12482:10;:14;12449:32;12469:11;;12449:15;:19;;:32;;;;:::i;:::-;:47;12446:133;;;12522:1;12515:8;;;;;12446:133;12634:3;12623:10;:14;12590:32;12610:11;;12590:15;:19;;:32;;;;:::i;:::-;:47;12587:132;;;12663:1;12656:8;;;;;12587:132;12774:3;12763:10;:14;12730:32;12750:11;;12730:15;:19;;:32;;;;:::i;:::-;:47;12727:137;;;12803:1;12796:8;;;;;12727:137;11932:937;;;:::o;2841:159::-;2894:4;2916:1;2914;:3;2911:82;;;2942:1;2940;:3;2933:10;;;;2911:82;2980:1;2973:8;;2841:159;;;;;:::o;10970:329::-;11057:1;11041:18;;:4;:18;;;;11033:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11133:9;;11126:6;11114:11;;:18;:28;11106:37;;;;;;11169:26;11188:6;11169:8;:14;11178:4;11169:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;11154:8;:14;11163:4;11154:14;;;;;;;;;;;;;;;:41;;;;11218:23;11234:6;11218:11;;:15;;:23;;;;:::i;:::-;11206:11;:35;;;;11278:4;11257:34;;11274:1;11257:34;;;11284:6;11257:34;;;;;;;;;;;;;;;;;;10970:329;;:::o

Swarm Source

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