ETH Price: $2,785.62 (+7.78%)
 

Overview

Max Total Supply

1,000,000 PCLD

Holders

123

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
998,381 PCLD

Value
$0.00
0x433514ce5c34FDEe97932C530F987A3AF850EBAD
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
PlatinumClubToken

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-05-13
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0 <0.9.0;

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
   /**
    * @dev Throws if called by any account other than the owner.
    */ 
   modifier onlyOwner(){
        require(msg.sender == owner, 'Can be called by owner only');
        _;
    }
 
   /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */ 
   function transferOwnership(address newOwner) onlyOwner public{
        require(newOwner != address(0), 'Wrong new owner address');
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */ 
library SafeMath{
    function sub(uint a, uint b) internal pure returns (uint){
        assert(b <= a); 
        return a - b; 
    } 
  
    function add(uint a, uint b) internal pure returns (uint){ 
        uint c = a + b; assert(c >= a);
        return c;
    }
}

/**
 * @title PLTT token
 * @dev ERC20 Token implementation, with its own specific
 */
contract PlatinumClubToken is Ownable{
    using SafeMath for uint;
    
    // Tokent basic initialization
    string public constant name = "Platinum Club Logo Digital";
    string public constant symbol = "PCLD";
    uint32 public constant decimals = 0;
    uint public totalSupply = 1000000;
    
    // Company is owned all tokens at start
    address public companyAddress = payable(address(0));
    // Transfers from addresses but the company are locked at start
    bool public transfersUnlocked = false;
    // Unlock transfers when this pool is empty (number of tokens required to be transfered to get unlocked)
    uint public unlockTransferRemain = 490000;
    // Manually unlocked addresses
    mapping (address => bool) public unlocked;

    mapping(address => uint) balances;
    mapping (address => mapping (address => uint)) internal allowed;
    
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
    event TransfersUnlocked();

    /** 
     * @dev Allow transfers to company and send it all tokens.
     */
    constructor(){
        owner = msg.sender;
        companyAddress = msg.sender;

        // Transfer all tokens to company address
        balances[companyAddress] = totalSupply;
        emit Transfer(address(0), companyAddress, totalSupply);

        // Allow transfers to company
        unlockAddress(companyAddress, true);
    }
    
    /** 
     * @dev Gets the balance of the specified address.
     * @param _owner The address to query the the balance of.
     * @return An uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address _owner) public view returns (uint){
        return balances[_owner];
    }
 
    /**
     * @dev Transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */ 
    function _transfer(address _to, uint _value) private returns (bool){
        require(msg.sender != address(0));
        require(_to != address(0));
        require(_to != address(this));
        require(transfersUnlocked || unlocked[msg.sender], 'Transfer is locked for you');
        require(_value > 0 && _value <= balances[msg.sender], 'Insufficient balance');

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        if(msg.sender == companyAddress){
            if(unlockTransferRemain > _value){
                unlockTransferRemain = unlockTransferRemain.sub(_value);
            }else{
                unlockTransferRemain = 0;
                transfersUnlocked = true;
                emit TransfersUnlocked();
            }
        }

        emit Transfer(msg.sender, _to, _value);

        return true; 
    }

    /**
     * @dev Transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */ 
    function transfer(address _to, uint _value) public returns (bool){
        return _transfer(_to, _value);
    } 
    
    /**
     * @dev Transfer several token for a specified addresses
     * @param _to The array of addresses to transfer to.
     * @param _value The array of amounts to be transferred.
     */ 
    function massTransfer(address[] memory _to, uint[] memory _value) public returns (bool){
        require(_to.length == _value.length);

        uint len = _to.length;
        for(uint i = 0; i < len; i++){
            if(!_transfer(_to[i], _value[i])){
                return false;
            }
        }
        return true;
    } 
    
    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */ 
    function transferFrom(address _from, address _to, uint _value) public returns (bool){
        require(msg.sender != address(0));
        require(_from != address(0));
        require(_to != address(0));
        require(_to != address(this));
        require(_value <= allowed[_from][msg.sender]);
        require(transfersUnlocked || unlocked[_from], 'Transfer is locked for address');
        require(_value > 0 && _value <= balances[_from], 'Insufficient balance');

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }
 
    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint _value) public returns (bool){
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
 
    /** 
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint){
        return allowed[_owner][_spender]; 
    } 
 
    /**
     * @dev Increase approved amount of tokents that could be spent on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to be spent.
     */
    function increaseApproval(address _spender, uint _addedValue) public returns (bool){
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); 
        return true; 
    }
 
    /**
     * @dev Decrease approved amount of tokents that could be spent on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to be spent.
     */
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool){
        uint oldValue = allowed[msg.sender][_spender];
        if(_subtractedValue > oldValue){
            allowed[msg.sender][_spender] = 0;
        }else{
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
    
    /**
     * @dev Emit new tokens and transfer from 0 to client address.
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */ 
    function mint(address _to, uint _value) onlyOwner public{
        require(_to != address(0));
        require(_to != address(this));
        require(_value > 0);
        
        totalSupply = totalSupply.add(_value);
        balances[_to] = balances[_to].add(_value);

        emit Transfer(address(0), _to, _value);
    }
    
    /**
     * @dev Burn tokens at some address.
     * @param _from The address where the tokens should be burned down.
     * @param _value The amount to be burned.
     */ 
    function burn(address _from, uint _value) onlyOwner public{
        require(_from != address(0));
        require(_from != address(this));
        require(_value > 0 && _value <= balances[_from], 'Insufficient balance');

        totalSupply = totalSupply.sub(_value);
        balances[_from] = balances[_from].sub(_value);

        emit Transfer(_from, address(0), _value);
    }

    /** 
     * @dev Manually unlock transfers from any address.
     * @param _addr Allowed address
     * @param status Unlock status: true = unlocked, false = locked
     */
    function unlockAddress(address _addr, bool status) onlyOwner public{
        unlocked[_addr] = status;
    }
  
    /** 
     * @dev Change company address. Be sure you have transferred tokens first.
     * @param _addr New company address
     */
    function setCompanyAddress(address _addr) onlyOwner public{
        companyAddress = _addr;
    }
  
    /** 
     * @dev Set lock flag manually.
     * @param isLocked Are transfers locked? true = locked, false = unlocked
     */
    function setLockState(bool isLocked) onlyOwner public{
        transfersUnlocked = !isLocked;
    }
  
    /** 
     * @dev Set new amount of tokens to be transfered before unlock. Transfers are also locked.
     * @param amount New amount of tokens.
     */
    function setTransferRemain(uint amount) onlyOwner public{
        unlockTransferRemain = amount;
        setLockState(true);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"anonymous":false,"inputs":[],"name":"TransfersUnlocked","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","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":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"companyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_to","type":"address[]"},{"internalType":"uint256[]","name":"_value","type":"uint256[]"}],"name":"massTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setCompanyAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isLocked","type":"bool"}],"name":"setLockState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTransferRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"","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":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transfersUnlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"unlockAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlockTransferRemain","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"unlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

6080604052620f42406001556000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260146101000a81548160ff02191690831515021790555062077a106003553480156200007c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015460056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600154604051620001ea919062000334565b60405180910390a362000227600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200022d60201b60201c565b620003d4565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620002be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b590620003b2565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000819050919050565b6200032e8162000319565b82525050565b60006020820190506200034b600083018462000323565b92915050565b600082825260208201905092915050565b7f43616e2062652063616c6c6564206279206f776e6572206f6e6c790000000000600082015250565b60006200039a601b8362000351565b9150620003a78262000362565b602082019050919050565b60006020820190508181036000830152620003cd816200038b565b9050919050565b612a4280620003e46000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806360805e5a116100c35780639dc29fac1161007c5780639dc29fac146103c9578063a9059cbb146103e5578063d1846d0c14610415578063d73dd62314610445578063dd62ed3e14610475578063f2fde38b146104a557610158565b806360805e5a146102f5578063661884631461031157806370a08231146103415780638da5cb5b1461037157806393b269631461038f57806395d89b41146103ab57610158565b80631ae378a7116101155780631ae378a71461023357806323b872dd14610251578063313ce5671461028157806340c10f191461029f5780634f63a772146102bb57806353e1ead9146102d757610158565b806302af20951461015d57806306fdde031461018d578063095ea7b3146101ab578063167e007c146101db57806318160ddd146101f957806319b26f7c14610217575b600080fd5b610177600480360381019061017291906122e5565b6104c1565b6040516101849190612378565b60405180910390f35b61019561054f565b6040516101a2919061241b565b60405180910390f35b6101c560048036038101906101c0919061243d565b610588565b6040516101d29190612378565b60405180910390f35b6101e361067a565b6040516101f09190612378565b60405180910390f35b61020161068d565b60405161020e919061248c565b60405180910390f35b610231600480360381019061022c91906124a7565b610693565b005b61023b610735565b604051610248919061248c565b60405180910390f35b61026b600480360381019061026691906124d4565b61073b565b6040516102789190612378565b60405180910390f35b610289610c82565b6040516102969190612546565b60405180910390f35b6102b960048036038101906102b4919061243d565b610c87565b005b6102d560048036038101906102d09190612561565b610ead565b005b6102df610f7f565b6040516102ec919061259d565b60405180910390f35b61030f600480360381019061030a91906125e4565b610fa5565b005b61032b6004803603810190610326919061243d565b61108e565b6040516103389190612378565b60405180910390f35b61035b60048036038101906103569190612561565b61131f565b604051610368919061248c565b60405180910390f35b610379611368565b604051610386919061259d565b60405180910390f35b6103a960048036038101906103a49190612624565b61138c565b005b6103b3611438565b6040516103c0919061241b565b60405180910390f35b6103e360048036038101906103de919061243d565b611471565b005b6103ff60048036038101906103fa919061243d565b611718565b60405161040c9190612378565b60405180910390f35b61042f600480360381019061042a9190612561565b61172c565b60405161043c9190612378565b60405180910390f35b61045f600480360381019061045a919061243d565b61174c565b60405161046c9190612378565b60405180910390f35b61048f600480360381019061048a9190612651565b611948565b60405161049c919061248c565b60405180910390f35b6104bf60048036038101906104ba9190612561565b6119cf565b005b600081518351146104d157600080fd5b60008351905060005b81811015610542576105208582815181106104f8576104f7612691565b5b602002602001015185838151811061051357610512612691565b5b6020026020010151611b89565b61052f57600092505050610549565b808061053a906126ef565b9150506104da565b5060019150505b92915050565b6040518060400160405280601a81526020017f506c6174696e756d20436c7562204c6f676f204469676974616c00000000000081525081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610668919061248c565b60405180910390a36001905092915050565b600260149054906101000a900460ff1681565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890612783565b60405180910390fd5b80600381905550610732600161138c565b50565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361077557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107ae57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361081f57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108a857600080fd5b600260149054906101000a900460ff168061090c5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61094b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610942906127ef565b60405180910390fd5b60008211801561099a5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b6109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d09061285b565b60405180910390fd5b610a2b82600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ac082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6f919061248c565b60405180910390a3600190509392505050565b600081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d4e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8657600080fd5b60008111610d9357600080fd5b610da881600154611ff590919063ffffffff16565b600181905550610e0081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea1919061248c565b60405180910390a35050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290612783565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90612783565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561119f576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611233565b6111b28382611fce90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161130c919061248c565b60405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612783565b60405180910390fd5b8015600260146101000a81548160ff02191690831515021790555050565b6040518060400160405280600481526020017f50434c440000000000000000000000000000000000000000000000000000000081525081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f690612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361157057600080fd5b6000811180156115bf5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111155b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061285b565b60405180910390fd5b61161381600154611fce90919063ffffffff16565b60018190555061166b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161170c919061248c565b60405180910390a35050565b60006117248383611b89565b905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006117dd82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611936919061248c565b60405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5490612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac3906128c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611bc357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bfc57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c3457600080fd5b600260149054906101000a900460ff1680611c985750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90612933565b60405180910390fd5b600082118015611d265750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c9061285b565b60405180910390fd5b611db782600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611f5f57816003541115611f0e57611f0382600354611fce90919063ffffffff16565b600381905550611f5e565b60006003819055506001600260146101000a81548160ff0219169083151502179055507f1d8b2f61c84f331c359476b447a0ddc4fd75f10d265a30e609526e440cdc3a4760405160405180910390a15b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fbc919061248c565b60405180910390a36001905092915050565b600082821115611fe157611fe0612953565b5b8183611fed9190612982565b905092915050565b600080828461200491906129b6565b90508381101561201757612016612953565b5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6120838261203a565b810181811067ffffffffffffffff821117156120a2576120a161204b565b5b80604052505050565b60006120b5612021565b90506120c1828261207a565b919050565b600067ffffffffffffffff8211156120e1576120e061204b565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612122826120f7565b9050919050565b61213281612117565b811461213d57600080fd5b50565b60008135905061214f81612129565b92915050565b6000612168612163846120c6565b6120ab565b9050808382526020820190506020840283018581111561218b5761218a6120f2565b5b835b818110156121b457806121a08882612140565b84526020840193505060208101905061218d565b5050509392505050565b600082601f8301126121d3576121d2612035565b5b81356121e3848260208601612155565b91505092915050565b600067ffffffffffffffff8211156122075761220661204b565b5b602082029050602081019050919050565b6000819050919050565b61222b81612218565b811461223657600080fd5b50565b60008135905061224881612222565b92915050565b600061226161225c846121ec565b6120ab565b90508083825260208201905060208402830185811115612284576122836120f2565b5b835b818110156122ad57806122998882612239565b845260208401935050602081019050612286565b5050509392505050565b600082601f8301126122cc576122cb612035565b5b81356122dc84826020860161224e565b91505092915050565b600080604083850312156122fc576122fb61202b565b5b600083013567ffffffffffffffff81111561231a57612319612030565b5b612326858286016121be565b925050602083013567ffffffffffffffff81111561234757612346612030565b5b612353858286016122b7565b9150509250929050565b60008115159050919050565b6123728161235d565b82525050565b600060208201905061238d6000830184612369565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123cd5780820151818401526020810190506123b2565b838111156123dc576000848401525b50505050565b60006123ed82612393565b6123f7818561239e565b93506124078185602086016123af565b6124108161203a565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b600080604083850312156124545761245361202b565b5b600061246285828601612140565b925050602061247385828601612239565b9150509250929050565b61248681612218565b82525050565b60006020820190506124a1600083018461247d565b92915050565b6000602082840312156124bd576124bc61202b565b5b60006124cb84828501612239565b91505092915050565b6000806000606084860312156124ed576124ec61202b565b5b60006124fb86828701612140565b935050602061250c86828701612140565b925050604061251d86828701612239565b9150509250925092565b600063ffffffff82169050919050565b61254081612527565b82525050565b600060208201905061255b6000830184612537565b92915050565b6000602082840312156125775761257661202b565b5b600061258584828501612140565b91505092915050565b61259781612117565b82525050565b60006020820190506125b2600083018461258e565b92915050565b6125c18161235d565b81146125cc57600080fd5b50565b6000813590506125de816125b8565b92915050565b600080604083850312156125fb576125fa61202b565b5b600061260985828601612140565b925050602061261a858286016125cf565b9150509250929050565b60006020828403121561263a5761263961202b565b5b6000612648848285016125cf565b91505092915050565b600080604083850312156126685761266761202b565b5b600061267685828601612140565b925050602061268785828601612140565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126fa82612218565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361272c5761272b6126c0565b5b600182019050919050565b7f43616e2062652063616c6c6564206279206f776e6572206f6e6c790000000000600082015250565b600061276d601b8361239e565b915061277882612737565b602082019050919050565b6000602082019050818103600083015261279c81612760565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220616464726573730000600082015250565b60006127d9601e8361239e565b91506127e4826127a3565b602082019050919050565b60006020820190508181036000830152612808816127cc565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061284560148361239e565b91506128508261280f565b602082019050919050565b6000602082019050818103600083015261287481612838565b9050919050565b7f57726f6e67206e6577206f776e65722061646472657373000000000000000000600082015250565b60006128b160178361239e565b91506128bc8261287b565b602082019050919050565b600060208201905081810360008301526128e0816128a4565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220796f75000000000000600082015250565b600061291d601a8361239e565b9150612928826128e7565b602082019050919050565b6000602082019050818103600083015261294c81612910565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600061298d82612218565b915061299883612218565b9250828210156129ab576129aa6126c0565b5b828203905092915050565b60006129c182612218565b91506129cc83612218565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a0157612a006126c0565b5b82820190509291505056fea2646970667358221220532f9e43eaaaa68c74ed30b763908830268844154608ed63729079d744aba33564736f6c634300080d0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806360805e5a116100c35780639dc29fac1161007c5780639dc29fac146103c9578063a9059cbb146103e5578063d1846d0c14610415578063d73dd62314610445578063dd62ed3e14610475578063f2fde38b146104a557610158565b806360805e5a146102f5578063661884631461031157806370a08231146103415780638da5cb5b1461037157806393b269631461038f57806395d89b41146103ab57610158565b80631ae378a7116101155780631ae378a71461023357806323b872dd14610251578063313ce5671461028157806340c10f191461029f5780634f63a772146102bb57806353e1ead9146102d757610158565b806302af20951461015d57806306fdde031461018d578063095ea7b3146101ab578063167e007c146101db57806318160ddd146101f957806319b26f7c14610217575b600080fd5b610177600480360381019061017291906122e5565b6104c1565b6040516101849190612378565b60405180910390f35b61019561054f565b6040516101a2919061241b565b60405180910390f35b6101c560048036038101906101c0919061243d565b610588565b6040516101d29190612378565b60405180910390f35b6101e361067a565b6040516101f09190612378565b60405180910390f35b61020161068d565b60405161020e919061248c565b60405180910390f35b610231600480360381019061022c91906124a7565b610693565b005b61023b610735565b604051610248919061248c565b60405180910390f35b61026b600480360381019061026691906124d4565b61073b565b6040516102789190612378565b60405180910390f35b610289610c82565b6040516102969190612546565b60405180910390f35b6102b960048036038101906102b4919061243d565b610c87565b005b6102d560048036038101906102d09190612561565b610ead565b005b6102df610f7f565b6040516102ec919061259d565b60405180910390f35b61030f600480360381019061030a91906125e4565b610fa5565b005b61032b6004803603810190610326919061243d565b61108e565b6040516103389190612378565b60405180910390f35b61035b60048036038101906103569190612561565b61131f565b604051610368919061248c565b60405180910390f35b610379611368565b604051610386919061259d565b60405180910390f35b6103a960048036038101906103a49190612624565b61138c565b005b6103b3611438565b6040516103c0919061241b565b60405180910390f35b6103e360048036038101906103de919061243d565b611471565b005b6103ff60048036038101906103fa919061243d565b611718565b60405161040c9190612378565b60405180910390f35b61042f600480360381019061042a9190612561565b61172c565b60405161043c9190612378565b60405180910390f35b61045f600480360381019061045a919061243d565b61174c565b60405161046c9190612378565b60405180910390f35b61048f600480360381019061048a9190612651565b611948565b60405161049c919061248c565b60405180910390f35b6104bf60048036038101906104ba9190612561565b6119cf565b005b600081518351146104d157600080fd5b60008351905060005b81811015610542576105208582815181106104f8576104f7612691565b5b602002602001015185838151811061051357610512612691565b5b6020026020010151611b89565b61052f57600092505050610549565b808061053a906126ef565b9150506104da565b5060019150505b92915050565b6040518060400160405280601a81526020017f506c6174696e756d20436c7562204c6f676f204469676974616c00000000000081525081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610668919061248c565b60405180910390a36001905092915050565b600260149054906101000a900460ff1681565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890612783565b60405180910390fd5b80600381905550610732600161138c565b50565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361077557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107ae57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361081f57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108a857600080fd5b600260149054906101000a900460ff168061090c5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61094b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610942906127ef565b60405180910390fd5b60008211801561099a5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b6109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d09061285b565b60405180910390fd5b610a2b82600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ac082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9282600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6f919061248c565b60405180910390a3600190509392505050565b600081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d4e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8657600080fd5b60008111610d9357600080fd5b610da881600154611ff590919063ffffffff16565b600181905550610e0081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea1919061248c565b60405180910390a35050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290612783565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90612783565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561119f576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611233565b6111b28382611fce90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161130c919061248c565b60405180910390a3600191505092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612783565b60405180910390fd5b8015600260146101000a81548160ff02191690831515021790555050565b6040518060400160405280600481526020017f50434c440000000000000000000000000000000000000000000000000000000081525081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f690612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361157057600080fd5b6000811180156115bf5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111155b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061285b565b60405180910390fd5b61161381600154611fce90919063ffffffff16565b60018190555061166b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161170c919061248c565b60405180910390a35050565b60006117248383611b89565b905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006117dd82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611936919061248c565b60405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5490612783565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac3906128c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611bc357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bfc57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c3457600080fd5b600260149054906101000a900460ff1680611c985750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90612933565b60405180910390fd5b600082118015611d265750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c9061285b565b60405180910390fd5b611db782600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611f5f57816003541115611f0e57611f0382600354611fce90919063ffffffff16565b600381905550611f5e565b60006003819055506001600260146101000a81548160ff0219169083151502179055507f1d8b2f61c84f331c359476b447a0ddc4fd75f10d265a30e609526e440cdc3a4760405160405180910390a15b5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fbc919061248c565b60405180910390a36001905092915050565b600082821115611fe157611fe0612953565b5b8183611fed9190612982565b905092915050565b600080828461200491906129b6565b90508381101561201757612016612953565b5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6120838261203a565b810181811067ffffffffffffffff821117156120a2576120a161204b565b5b80604052505050565b60006120b5612021565b90506120c1828261207a565b919050565b600067ffffffffffffffff8211156120e1576120e061204b565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612122826120f7565b9050919050565b61213281612117565b811461213d57600080fd5b50565b60008135905061214f81612129565b92915050565b6000612168612163846120c6565b6120ab565b9050808382526020820190506020840283018581111561218b5761218a6120f2565b5b835b818110156121b457806121a08882612140565b84526020840193505060208101905061218d565b5050509392505050565b600082601f8301126121d3576121d2612035565b5b81356121e3848260208601612155565b91505092915050565b600067ffffffffffffffff8211156122075761220661204b565b5b602082029050602081019050919050565b6000819050919050565b61222b81612218565b811461223657600080fd5b50565b60008135905061224881612222565b92915050565b600061226161225c846121ec565b6120ab565b90508083825260208201905060208402830185811115612284576122836120f2565b5b835b818110156122ad57806122998882612239565b845260208401935050602081019050612286565b5050509392505050565b600082601f8301126122cc576122cb612035565b5b81356122dc84826020860161224e565b91505092915050565b600080604083850312156122fc576122fb61202b565b5b600083013567ffffffffffffffff81111561231a57612319612030565b5b612326858286016121be565b925050602083013567ffffffffffffffff81111561234757612346612030565b5b612353858286016122b7565b9150509250929050565b60008115159050919050565b6123728161235d565b82525050565b600060208201905061238d6000830184612369565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123cd5780820151818401526020810190506123b2565b838111156123dc576000848401525b50505050565b60006123ed82612393565b6123f7818561239e565b93506124078185602086016123af565b6124108161203a565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b600080604083850312156124545761245361202b565b5b600061246285828601612140565b925050602061247385828601612239565b9150509250929050565b61248681612218565b82525050565b60006020820190506124a1600083018461247d565b92915050565b6000602082840312156124bd576124bc61202b565b5b60006124cb84828501612239565b91505092915050565b6000806000606084860312156124ed576124ec61202b565b5b60006124fb86828701612140565b935050602061250c86828701612140565b925050604061251d86828701612239565b9150509250925092565b600063ffffffff82169050919050565b61254081612527565b82525050565b600060208201905061255b6000830184612537565b92915050565b6000602082840312156125775761257661202b565b5b600061258584828501612140565b91505092915050565b61259781612117565b82525050565b60006020820190506125b2600083018461258e565b92915050565b6125c18161235d565b81146125cc57600080fd5b50565b6000813590506125de816125b8565b92915050565b600080604083850312156125fb576125fa61202b565b5b600061260985828601612140565b925050602061261a858286016125cf565b9150509250929050565b60006020828403121561263a5761263961202b565b5b6000612648848285016125cf565b91505092915050565b600080604083850312156126685761266761202b565b5b600061267685828601612140565b925050602061268785828601612140565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126fa82612218565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361272c5761272b6126c0565b5b600182019050919050565b7f43616e2062652063616c6c6564206279206f776e6572206f6e6c790000000000600082015250565b600061276d601b8361239e565b915061277882612737565b602082019050919050565b6000602082019050818103600083015261279c81612760565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220616464726573730000600082015250565b60006127d9601e8361239e565b91506127e4826127a3565b602082019050919050565b60006020820190508181036000830152612808816127cc565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061284560148361239e565b91506128508261280f565b602082019050919050565b6000602082019050818103600083015261287481612838565b9050919050565b7f57726f6e67206e6577206f776e65722061646472657373000000000000000000600082015250565b60006128b160178361239e565b91506128bc8261287b565b602082019050919050565b600060208201905081810360008301526128e0816128a4565b9050919050565b7f5472616e73666572206973206c6f636b656420666f7220796f75000000000000600082015250565b600061291d601a8361239e565b9150612928826128e7565b602082019050919050565b6000602082019050818103600083015261294c81612910565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600061298d82612218565b915061299883612218565b9250828210156129ab576129aa6126c0565b5b828203905092915050565b60006129c182612218565b91506129cc83612218565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a0157612a006126c0565b5b82820190509291505056fea2646970667358221220532f9e43eaaaa68c74ed30b763908830268844154608ed63729079d744aba33564736f6c634300080d0033

Deployed Bytecode Sourcemap

1465:9180:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4900:343;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1581:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6533:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1951:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1733:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10509:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2105:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5546:735;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1691:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8631:332;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9995:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1824:51;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9735:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7988:445;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3200:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;283:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10238:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1646:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9156:389;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4573:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2189:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7456:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7078:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;772:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4900:343;4982:4;5020:6;:13;5006:3;:10;:27;4998:36;;;;;;5047:8;5058:3;:10;5047:21;;5083:6;5079:135;5099:3;5095:1;:7;5079:135;;;5127:28;5137:3;5141:1;5137:6;;;;;;;;:::i;:::-;;;;;;;;5145;5152:1;5145:9;;;;;;;;:::i;:::-;;;;;;;;5127;:28::i;:::-;5123:80;;5182:5;5175:12;;;;;;5123:80;5104:3;;;;;:::i;:::-;;;;5079:135;;;;5231:4;5224:11;;;4900:343;;;;;:::o;1581:58::-;;;;;;;;;;;;;;;;;;;:::o;6533:202::-;6597:4;6645:6;6613:7;:19;6621:10;6613:19;;;;;;;;;;;;;;;:29;6633:8;6613:29;;;;;;;;;;;;;;;:38;;;;6688:8;6667:38;;6676:10;6667:38;;;6698:6;6667:38;;;;;;:::i;:::-;;;;;;;;6723:4;6716:11;;6533:202;;;;:::o;1951:37::-;;;;;;;;;;;;;:::o;1733:33::-;;;;:::o;10509:133::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10599:6:::1;10576:20;:29;;;;10616:18;10629:4;10616:12;:18::i;:::-;10509:133:::0;:::o;2105:41::-;;;;:::o;5546:735::-;5625:4;5671:1;5649:24;;:10;:24;;;5641:33;;;;;;5710:1;5693:19;;:5;:19;;;5685:28;;;;;;5747:1;5732:17;;:3;:17;;;5724:26;;;;;;5784:4;5769:20;;:3;:20;;;5761:29;;;;;;5819:7;:14;5827:5;5819:14;;;;;;;;;;;;;;;:26;5834:10;5819:26;;;;;;;;;;;;;;;;5809:6;:36;;5801:45;;;;;;5865:17;;;;;;;;;;;:36;;;;5886:8;:15;5895:5;5886:15;;;;;;;;;;;;;;;;;;;;;;;;;5865:36;5857:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5964:1;5955:6;:10;:39;;;;;5979:8;:15;5988:5;5979:15;;;;;;;;;;;;;;;;5969:6;:25;;5955:39;5947:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6050:27;6070:6;6050:8;:15;6059:5;6050:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6032:8;:15;6041:5;6032:15;;;;;;;;;;;;;;;:45;;;;6104:25;6122:6;6104:8;:13;6113:3;6104:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6088:8;:13;6097:3;6088:13;;;;;;;;;;;;;;;:41;;;;6169:38;6200:6;6169:7;:14;6177:5;6169:14;;;;;;;;;;;;;;;:26;6184:10;6169:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;6140:7;:14;6148:5;6140:14;;;;;;;;;;;;;;;:26;6155:10;6140:26;;;;;;;;;;;;;;;:67;;;;6239:3;6223:28;;6232:5;6223:28;;;6244:6;6223:28;;;;;;:::i;:::-;;;;;;;;6269:4;6262:11;;5546:735;;;;;:::o;1691:35::-;1725:1;1691:35;:::o;8631:332::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8721:1:::1;8706:17;;:3;:17;;::::0;8698:26:::1;;;::::0;::::1;;8758:4;8743:20;;:3;:20;;::::0;8735:29:::1;;;::::0;::::1;;8792:1;8783:6;:10;8775:19;;;::::0;::::1;;8829:23;8845:6;8829:11;;:15;;:23;;;;:::i;:::-;8815:11;:37;;;;8879:25;8897:6;8879:8;:13;8888:3;8879:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8863:8;:13;8872:3;8863:13;;;;;;;;;;;;;;;:41;;;;8943:3;8922:33;;8939:1;8922:33;;;8948:6;8922:33;;;;;;:::i;:::-;;;;;;;;8631:332:::0;;:::o;9995:99::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10081:5:::1;10064:14;;:22;;;;;;;;;;;;;;;;;;9995:99:::0;:::o;1824:51::-;;;;;;;;;;;;;:::o;9735:110::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9831:6:::1;9813:8;:15;9822:5;9813:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9735:110:::0;;:::o;7988:445::-;8071:4;8087:13;8103:7;:19;8111:10;8103:19;;;;;;;;;;;;;;;:29;8123:8;8103:29;;;;;;;;;;;;;;;;8087:45;;8165:8;8146:16;:27;8143:184;;;8221:1;8189:7;:19;8197:10;8189:19;;;;;;;;;;;;;;;:29;8209:8;8189:29;;;;;;;;;;;;;;;:33;;;;8143:184;;;8285:30;8298:16;8285:8;:12;;:30;;;;:::i;:::-;8253:7;:19;8261:10;8253:19;;;;;;;;;;;;;;;:29;8273:8;8253:29;;;;;;;;;;;;;;;:62;;;;8143:184;8363:8;8342:61;;8351:10;8342:61;;;8373:7;:19;8381:10;8373:19;;;;;;;;;;;;;;;:29;8393:8;8373:29;;;;;;;;;;;;;;;;8342:61;;;;;;:::i;:::-;;;;;;;;8421:4;8414:11;;;7988:445;;;;:::o;3200:103::-;3256:4;3279:8;:16;3288:6;3279:16;;;;;;;;;;;;;;;;3272:23;;3200:103;;;:::o;283:20::-;;;;;;;;;;;;:::o;10238:101::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10323:8:::1;10322:9;10302:17;;:29;;;;;;;;;;;;;;;;;;10238:101:::0;:::o;1646:38::-;;;;;;;;;;;;;;;;;;;:::o;9156:389::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9250:1:::1;9233:19;;:5;:19;;::::0;9225:28:::1;;;::::0;::::1;;9289:4;9272:22;;:5;:22;;::::0;9264:31:::1;;;::::0;::::1;;9323:1;9314:6;:10;:39;;;;;9338:8;:15;9347:5;9338:15;;;;;;;;;;;;;;;;9328:6;:25;;9314:39;9306:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9405:23;9421:6;9405:11;;:15;;:23;;;;:::i;:::-;9391:11;:37;;;;9457:27;9477:6;9457:8;:15;9466:5;9457:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9439:8;:15;9448:5;9439:15;;;;;;;;;;;;;;;:45;;;;9526:1;9502:35;;9511:5;9502:35;;;9530:6;9502:35;;;;;;:::i;:::-;;;;;;;;9156:389:::0;;:::o;4573:113::-;4633:4;4656:22;4666:3;4671:6;4656:9;:22::i;:::-;4649:29;;4573:113;;;;:::o;2189:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;7456:281::-;7534:4;7582:46;7616:11;7582:7;:19;7590:10;7582:19;;;;;;;;;;;;;;;:29;7602:8;7582:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;7550:7;:19;7558:10;7550:19;;;;;;;;;;;;;;;:29;7570:8;7550:29;;;;;;;;;;;;;;;:78;;;;7665:8;7644:61;;7653:10;7644:61;;;7675:7;:19;7683:10;7675:19;;;;;;;;;;;;;;;:29;7695:8;7675:29;;;;;;;;;;;;;;;;7644:61;;;;;;:::i;:::-;;;;;;;;7724:4;7717:11;;7456:281;;;;:::o;7078:131::-;7152:4;7175:7;:15;7183:6;7175:15;;;;;;;;;;;;;;;:25;7191:8;7175:25;;;;;;;;;;;;;;;;7168:32;;7078:131;;;;:::o;772:218::-;541:5;;;;;;;;;;527:19;;:10;:19;;;519:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;872:1:::1;852:22;;:8;:22;;::::0;844:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;946:8;918:37;;939:5;::::0;::::1;;;;;;;;918:37;;;;;;;;;;;;974:8;966:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;772:218:::0;:::o;3482:913::-;3544:4;3590:1;3568:24;;:10;:24;;;3560:33;;;;;;3627:1;3612:17;;:3;:17;;;3604:26;;;;;;3664:4;3649:20;;:3;:20;;;3641:29;;;;;;3689:17;;;;;;;;;;;:41;;;;3710:8;:20;3719:10;3710:20;;;;;;;;;;;;;;;;;;;;;;;;;3689:41;3681:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;3789:1;3780:6;:10;:44;;;;;3804:8;:20;3813:10;3804:20;;;;;;;;;;;;;;;;3794:6;:30;;3780:44;3772:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;3885:32;3910:6;3885:8;:20;3894:10;3885:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3862:8;:20;3871:10;3862:20;;;;;;;;;;;;;;;:55;;;;3944:25;3962:6;3944:8;:13;3953:3;3944:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3928:8;:13;3937:3;3928:13;;;;;;;;;;;;;;;:41;;;;3999:14;;;;;;;;;;;3985:28;;:10;:28;;;3982:330;;4055:6;4032:20;;:29;4029:272;;;4104:32;4129:6;4104:20;;:24;;:32;;;;:::i;:::-;4081:20;:55;;;;4029:272;;;4198:1;4175:20;:24;;;;4238:4;4218:17;;:24;;;;;;;;;;;;;;;;;;4266:19;;;;;;;;;;4029:272;3982:330;4350:3;4329:33;;4338:10;4329:33;;;4355:6;4329:33;;;;;;:::i;:::-;;;;;;;;4382:4;4375:11;;3482:913;;;;:::o;1115:115::-;1167:4;1195:1;1190;:6;;1183:14;;;;:::i;:::-;;1220:1;1216;:5;;;;:::i;:::-;1209:12;;1115:115;;;;:::o;1241:126::-;1293:4;1310:6;1323:1;1319;:5;;;;:::i;:::-;1310:14;;1338:1;1333;:6;;1326:14;;;;:::i;:::-;;1358:1;1351:8;;;1241:126;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:311::-;3323:4;3413:18;3405:6;3402:30;3399:56;;;3435:18;;:::i;:::-;3399:56;3485:4;3477:6;3473:17;3465:25;;3545:4;3539;3535:15;3527:23;;3246:311;;;:::o;3563:77::-;3600:7;3629:5;3618:16;;3563:77;;;:::o;3646:122::-;3719:24;3737:5;3719:24;:::i;:::-;3712:5;3709:35;3699:63;;3758:1;3755;3748:12;3699:63;3646:122;:::o;3774:139::-;3820:5;3858:6;3845:20;3836:29;;3874:33;3901:5;3874:33;:::i;:::-;3774:139;;;;:::o;3936:710::-;4032:5;4057:81;4073:64;4130:6;4073:64;:::i;:::-;4057:81;:::i;:::-;4048:90;;4158:5;4187:6;4180:5;4173:21;4221:4;4214:5;4210:16;4203:23;;4274:4;4266:6;4262:17;4254:6;4250:30;4303:3;4295:6;4292:15;4289:122;;;4322:79;;:::i;:::-;4289:122;4437:6;4420:220;4454:6;4449:3;4446:15;4420:220;;;4529:3;4558:37;4591:3;4579:10;4558:37;:::i;:::-;4553:3;4546:50;4625:4;4620:3;4616:14;4609:21;;4496:144;4480:4;4475:3;4471:14;4464:21;;4420:220;;;4424:21;4038:608;;3936:710;;;;;:::o;4669:370::-;4740:5;4789:3;4782:4;4774:6;4770:17;4766:27;4756:122;;4797:79;;:::i;:::-;4756:122;4914:6;4901:20;4939:94;5029:3;5021:6;5014:4;5006:6;5002:17;4939:94;:::i;:::-;4930:103;;4746:293;4669:370;;;;:::o;5045:894::-;5163:6;5171;5220:2;5208:9;5199:7;5195:23;5191:32;5188:119;;;5226:79;;:::i;:::-;5188:119;5374:1;5363:9;5359:17;5346:31;5404:18;5396:6;5393:30;5390:117;;;5426:79;;:::i;:::-;5390:117;5531:78;5601:7;5592:6;5581:9;5577:22;5531:78;:::i;:::-;5521:88;;5317:302;5686:2;5675:9;5671:18;5658:32;5717:18;5709:6;5706:30;5703:117;;;5739:79;;:::i;:::-;5703:117;5844:78;5914:7;5905:6;5894:9;5890:22;5844:78;:::i;:::-;5834:88;;5629:303;5045:894;;;;;:::o;5945:90::-;5979:7;6022:5;6015:13;6008:21;5997:32;;5945:90;;;:::o;6041:109::-;6122:21;6137:5;6122:21;:::i;:::-;6117:3;6110:34;6041:109;;:::o;6156:210::-;6243:4;6281:2;6270:9;6266:18;6258:26;;6294:65;6356:1;6345:9;6341:17;6332:6;6294:65;:::i;:::-;6156:210;;;;:::o;6372:99::-;6424:6;6458:5;6452:12;6442:22;;6372:99;;;:::o;6477:169::-;6561:11;6595:6;6590:3;6583:19;6635:4;6630:3;6626:14;6611:29;;6477:169;;;;:::o;6652:307::-;6720:1;6730:113;6744:6;6741:1;6738:13;6730:113;;;6829:1;6824:3;6820:11;6814:18;6810:1;6805:3;6801:11;6794:39;6766:2;6763:1;6759:10;6754:15;;6730:113;;;6861:6;6858:1;6855:13;6852:101;;;6941:1;6932:6;6927:3;6923:16;6916:27;6852:101;6701:258;6652:307;;;:::o;6965:364::-;7053:3;7081:39;7114:5;7081:39;:::i;:::-;7136:71;7200:6;7195:3;7136:71;:::i;:::-;7129:78;;7216:52;7261:6;7256:3;7249:4;7242:5;7238:16;7216:52;:::i;:::-;7293:29;7315:6;7293:29;:::i;:::-;7288:3;7284:39;7277:46;;7057:272;6965:364;;;;:::o;7335:313::-;7448:4;7486:2;7475:9;7471:18;7463:26;;7535:9;7529:4;7525:20;7521:1;7510:9;7506:17;7499:47;7563:78;7636:4;7627:6;7563:78;:::i;:::-;7555:86;;7335:313;;;;:::o;7654:474::-;7722:6;7730;7779:2;7767:9;7758:7;7754:23;7750:32;7747:119;;;7785:79;;:::i;:::-;7747:119;7905:1;7930:53;7975:7;7966:6;7955:9;7951:22;7930:53;:::i;:::-;7920:63;;7876:117;8032:2;8058:53;8103:7;8094:6;8083:9;8079:22;8058:53;:::i;:::-;8048:63;;8003:118;7654:474;;;;;:::o;8134:118::-;8221:24;8239:5;8221:24;:::i;:::-;8216:3;8209:37;8134:118;;:::o;8258:222::-;8351:4;8389:2;8378:9;8374:18;8366:26;;8402:71;8470:1;8459:9;8455:17;8446:6;8402:71;:::i;:::-;8258:222;;;;:::o;8486:329::-;8545:6;8594:2;8582:9;8573:7;8569:23;8565:32;8562:119;;;8600:79;;:::i;:::-;8562:119;8720:1;8745:53;8790:7;8781:6;8770:9;8766:22;8745:53;:::i;:::-;8735:63;;8691:117;8486:329;;;;:::o;8821:619::-;8898:6;8906;8914;8963:2;8951:9;8942:7;8938:23;8934:32;8931:119;;;8969:79;;:::i;:::-;8931:119;9089:1;9114:53;9159:7;9150:6;9139:9;9135:22;9114:53;:::i;:::-;9104:63;;9060:117;9216:2;9242:53;9287:7;9278:6;9267:9;9263:22;9242:53;:::i;:::-;9232:63;;9187:118;9344:2;9370:53;9415:7;9406:6;9395:9;9391:22;9370:53;:::i;:::-;9360:63;;9315:118;8821:619;;;;;:::o;9446:93::-;9482:7;9522:10;9515:5;9511:22;9500:33;;9446:93;;;:::o;9545:115::-;9630:23;9647:5;9630:23;:::i;:::-;9625:3;9618:36;9545:115;;:::o;9666:218::-;9757:4;9795:2;9784:9;9780:18;9772:26;;9808:69;9874:1;9863:9;9859:17;9850:6;9808:69;:::i;:::-;9666:218;;;;:::o;9890:329::-;9949:6;9998:2;9986:9;9977:7;9973:23;9969:32;9966:119;;;10004:79;;:::i;:::-;9966:119;10124:1;10149:53;10194:7;10185:6;10174:9;10170:22;10149:53;:::i;:::-;10139:63;;10095:117;9890:329;;;;:::o;10225:118::-;10312:24;10330:5;10312:24;:::i;:::-;10307:3;10300:37;10225:118;;:::o;10349:222::-;10442:4;10480:2;10469:9;10465:18;10457:26;;10493:71;10561:1;10550:9;10546:17;10537:6;10493:71;:::i;:::-;10349:222;;;;:::o;10577:116::-;10647:21;10662:5;10647:21;:::i;:::-;10640:5;10637:32;10627:60;;10683:1;10680;10673:12;10627:60;10577:116;:::o;10699:133::-;10742:5;10780:6;10767:20;10758:29;;10796:30;10820:5;10796:30;:::i;:::-;10699:133;;;;:::o;10838:468::-;10903:6;10911;10960:2;10948:9;10939:7;10935:23;10931:32;10928:119;;;10966:79;;:::i;:::-;10928:119;11086:1;11111:53;11156:7;11147:6;11136:9;11132:22;11111:53;:::i;:::-;11101:63;;11057:117;11213:2;11239:50;11281:7;11272:6;11261:9;11257:22;11239:50;:::i;:::-;11229:60;;11184:115;10838:468;;;;;:::o;11312:323::-;11368:6;11417:2;11405:9;11396:7;11392:23;11388:32;11385:119;;;11423:79;;:::i;:::-;11385:119;11543:1;11568:50;11610:7;11601:6;11590:9;11586:22;11568:50;:::i;:::-;11558:60;;11514:114;11312:323;;;;:::o;11641:474::-;11709:6;11717;11766:2;11754:9;11745:7;11741:23;11737:32;11734:119;;;11772:79;;:::i;:::-;11734:119;11892:1;11917:53;11962:7;11953:6;11942:9;11938:22;11917:53;:::i;:::-;11907:63;;11863:117;12019:2;12045:53;12090:7;12081:6;12070:9;12066:22;12045:53;:::i;:::-;12035:63;;11990:118;11641:474;;;;;:::o;12121:180::-;12169:77;12166:1;12159:88;12266:4;12263:1;12256:15;12290:4;12287:1;12280:15;12307:180;12355:77;12352:1;12345:88;12452:4;12449:1;12442:15;12476:4;12473:1;12466:15;12493:233;12532:3;12555:24;12573:5;12555:24;:::i;:::-;12546:33;;12601:66;12594:5;12591:77;12588:103;;12671:18;;:::i;:::-;12588:103;12718:1;12711:5;12707:13;12700:20;;12493:233;;;:::o;12732:177::-;12872:29;12868:1;12860:6;12856:14;12849:53;12732:177;:::o;12915:366::-;13057:3;13078:67;13142:2;13137:3;13078:67;:::i;:::-;13071:74;;13154:93;13243:3;13154:93;:::i;:::-;13272:2;13267:3;13263:12;13256:19;;12915:366;;;:::o;13287:419::-;13453:4;13491:2;13480:9;13476:18;13468:26;;13540:9;13534:4;13530:20;13526:1;13515:9;13511:17;13504:47;13568:131;13694:4;13568:131;:::i;:::-;13560:139;;13287:419;;;:::o;13712:180::-;13852:32;13848:1;13840:6;13836:14;13829:56;13712:180;:::o;13898:366::-;14040:3;14061:67;14125:2;14120:3;14061:67;:::i;:::-;14054:74;;14137:93;14226:3;14137:93;:::i;:::-;14255:2;14250:3;14246:12;14239:19;;13898:366;;;:::o;14270:419::-;14436:4;14474:2;14463:9;14459:18;14451:26;;14523:9;14517:4;14513:20;14509:1;14498:9;14494:17;14487:47;14551:131;14677:4;14551:131;:::i;:::-;14543:139;;14270:419;;;:::o;14695:170::-;14835:22;14831:1;14823:6;14819:14;14812:46;14695:170;:::o;14871:366::-;15013:3;15034:67;15098:2;15093:3;15034:67;:::i;:::-;15027:74;;15110:93;15199:3;15110:93;:::i;:::-;15228:2;15223:3;15219:12;15212:19;;14871:366;;;:::o;15243:419::-;15409:4;15447:2;15436:9;15432:18;15424:26;;15496:9;15490:4;15486:20;15482:1;15471:9;15467:17;15460:47;15524:131;15650:4;15524:131;:::i;:::-;15516:139;;15243:419;;;:::o;15668:173::-;15808:25;15804:1;15796:6;15792:14;15785:49;15668:173;:::o;15847:366::-;15989:3;16010:67;16074:2;16069:3;16010:67;:::i;:::-;16003:74;;16086:93;16175:3;16086:93;:::i;:::-;16204:2;16199:3;16195:12;16188:19;;15847:366;;;:::o;16219:419::-;16385:4;16423:2;16412:9;16408:18;16400:26;;16472:9;16466:4;16462:20;16458:1;16447:9;16443:17;16436:47;16500:131;16626:4;16500:131;:::i;:::-;16492:139;;16219:419;;;:::o;16644:176::-;16784:28;16780:1;16772:6;16768:14;16761:52;16644:176;:::o;16826:366::-;16968:3;16989:67;17053:2;17048:3;16989:67;:::i;:::-;16982:74;;17065:93;17154:3;17065:93;:::i;:::-;17183:2;17178:3;17174:12;17167:19;;16826:366;;;:::o;17198:419::-;17364:4;17402:2;17391:9;17387:18;17379:26;;17451:9;17445:4;17441:20;17437:1;17426:9;17422:17;17415:47;17479:131;17605:4;17479:131;:::i;:::-;17471:139;;17198:419;;;:::o;17623:180::-;17671:77;17668:1;17661:88;17768:4;17765:1;17758:15;17792:4;17789:1;17782:15;17809:191;17849:4;17869:20;17887:1;17869:20;:::i;:::-;17864:25;;17903:20;17921:1;17903:20;:::i;:::-;17898:25;;17942:1;17939;17936:8;17933:34;;;17947:18;;:::i;:::-;17933:34;17992:1;17989;17985:9;17977:17;;17809:191;;;;:::o;18006:305::-;18046:3;18065:20;18083:1;18065:20;:::i;:::-;18060:25;;18099:20;18117:1;18099:20;:::i;:::-;18094:25;;18253:1;18185:66;18181:74;18178:1;18175:81;18172:107;;;18259:18;;:::i;:::-;18172:107;18303:1;18300;18296:9;18289:16;;18006:305;;;;:::o

Swarm Source

ipfs://532f9e43eaaaa68c74ed30b763908830268844154608ed63729079d744aba335
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.