ETH Price: $2,051.06 (+2.45%)
Gas: 0.12 Gwei

Token

Polana labs (POLAI)
 

Overview

Max Total Supply

1,000,000,000 POLAI

Holders

141 (0.00%)

Transfers

-
0

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Polana Labs (POLAI) merges DeFi and AI to automate investment strategies, enhance market analysis, and simplify crypto management. With AI-driven decisions, user-friendly tools, and transparent security, Polana Labs empowers all users to navigate and thrive in the decentralized finance space.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Polanalabs

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license, Audited
/**
 *Submitted for verification at Etherscan.io on 2025-01-31
*/

//                                      
// Name: Polana Labs
// Token: POLAI
// Website:
// Twitter/X:
// Telegram:
// 


// SPDX-License-Identifier:MIT
pragma solidity ^0.8.20;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

// Dex Factory contract interface
interface IDexFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

// Dex Router contract interface
interface IDexRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = payable(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Polanalabs is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public whitelist;

    string private _name = "Polana labs";
    string private _symbol = "POLAI";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 1_000_000_000 * 1e18;

    bool public trading; // once enable can't be disable afterwards


    constructor() {
        whitelist[msg.sender] = true;
        _balances[owner()] = _totalSupply;
        
        emit Transfer(address(0), owner(), _totalSupply);
    }

    //to receive ETH from dexRouter when swapping
    receive() external payable {}

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "Polana labs: Transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "Polana Labs: Decreased allowance or below zero"
            )
        );
        return true;
    }

    function removeStuckEth(address _receiver) public onlyOwner {
        payable(_receiver).transfer(address(this).balance);
    }

    function removeStuckToken(address _token, address _receiver, uint256 _amount) public onlyOwner {
        IERC20(_token).transfer(_receiver, _amount);
    }

    function enableTrading() external onlyOwner {
        require(!trading, "Polana Labs: Already enabled");
        trading = true;
    }

    function setWhitelist(address _user, bool _exmpt) external onlyOwner{
        whitelist[_user] = _exmpt;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "Polana Labs: Approve from the zero address");
        require(spender != address(0), "Polana Labs: Approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "Polana Labs: Transfer from the zero address");
        require(to != address(0), "Polana Labs: Transfer to the zero address");
        require(amount > 0, "Polana Labs: Amount must be greater than zero");

        if (!whitelist[from] && !whitelist[to]) {
            // trading disable till launch
            require(trading,"Polana Labs: Trading is disable");
        }

        _balances[from] = _balances[from].sub(
            amount,
            "Polana Labs: Insufficient balance"
        );
        _balances[to] = _balances[to].add(amount);

        emit Transfer(from, to, amount);
    }

}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

API
[{"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"},{"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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_receiver","type":"address"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"removeStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_exmpt","type":"bool"}],"name":"setWhitelist","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":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","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":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600b81526020017f506f6c616e61206c616273000000000000000000000000000000000000000000815250600490816200004a919062000549565b506040518060400160405280600581526020017f504f4c41490000000000000000000000000000000000000000000000000000008152506005908162000091919062000549565b50601260065f6101000a81548160ff021916908360ff1602179055506b033b2e3c9fd0803ce8000000600755348015620000c9575f80fd5b50620000da620002b760201b60201c565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060075460015f620001fc620002be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000249620002be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620002a991906200063e565b60405180910390a362000659565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200036157607f821691505b6020821081036200037757620003766200031c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200039e565b620003e786836200039e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004316200042b6200042584620003ff565b62000408565b620003ff565b9050919050565b5f819050919050565b6200044c8362000411565b620004646200045b8262000438565b848454620003aa565b825550505050565b5f90565b6200047a6200046c565b6200048781848462000441565b505050565b5b81811015620004ae57620004a25f8262000470565b6001810190506200048d565b5050565b601f821115620004fd57620004c7816200037d565b620004d2846200038f565b81016020851015620004e2578190505b620004fa620004f1856200038f565b8301826200048c565b50505b505050565b5f82821c905092915050565b5f6200051f5f198460080262000502565b1980831691505092915050565b5f6200053983836200050e565b9150826002028217905092915050565b6200055482620002e5565b67ffffffffffffffff81111562000570576200056f620002ef565b5b6200057c825462000349565b62000589828285620004b2565b5f60209050601f831160018114620005bf575f8415620005aa578287015190505b620005b685826200052c565b86555062000625565b601f198416620005cf866200037d565b5f5b82811015620005f857848901518255600182019150602085019450602081019050620005d1565b8683101562000618578489015162000614601f8916826200050e565b8355505b6001600288020188555050505b505050505050565b6200063881620003ff565b82525050565b5f602082019050620006535f8301846200062d565b92915050565b61212880620006675f395ff3fe608060405260043610610122575f3560e01c80638a8c523c1161009f578063a9059cbb11610063578063a9059cbb146103e3578063bcda3a031461041f578063dd62ed3e14610447578063ec44acf214610483578063f2fde38b146104ad57610129565b80638a8c523c146103015780638da5cb5b1461031757806395d89b41146103415780639b19251a1461036b578063a457c2d7146103a757610129565b806339509351116100e6578063395093511461022357806353d6fd591461025f578063679a3c591461028757806370a08231146102af578063715018a6146102eb57610129565b806306fdde031461012d578063095ea7b31461015757806318160ddd1461019357806323b872dd146101bd578063313ce567146101f957610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104d5565b60405161014e9190611764565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611815565b610565565b60405161018a919061186d565b60405180910390f35b34801561019e575f80fd5b506101a7610582565b6040516101b49190611895565b60405180910390f35b3480156101c8575f80fd5b506101e360048036038101906101de91906118ae565b61058b565b6040516101f0919061186d565b60405180910390f35b348015610204575f80fd5b5061020d61065f565b60405161021a9190611919565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190611815565b610674565b604051610256919061186d565b60405180910390f35b34801561026a575f80fd5b506102856004803603810190610280919061195c565b610722565b005b348015610292575f80fd5b506102ad60048036038101906102a8919061199a565b61080e565b005b3480156102ba575f80fd5b506102d560048036038101906102d0919061199a565b6108e9565b6040516102e29190611895565b60405180910390f35b3480156102f6575f80fd5b506102ff61092f565b005b34801561030c575f80fd5b50610315610a7d565b005b348015610322575f80fd5b5061032b610b7c565b60405161033891906119d4565b60405180910390f35b34801561034c575f80fd5b50610355610ba3565b6040516103629190611764565b60405180910390f35b348015610376575f80fd5b50610391600480360381019061038c919061199a565b610c33565b60405161039e919061186d565b60405180910390f35b3480156103b2575f80fd5b506103cd60048036038101906103c89190611815565b610c50565b6040516103da919061186d565b60405180910390f35b3480156103ee575f80fd5b5061040960048036038101906104049190611815565b610d18565b604051610416919061186d565b60405180910390f35b34801561042a575f80fd5b50610445600480360381019061044091906118ae565b610d35565b005b348015610452575f80fd5b5061046d600480360381019061046891906119ed565b610e4a565b60405161047a9190611895565b60405180910390f35b34801561048e575f80fd5b50610497610ecc565b6040516104a4919061186d565b60405180910390f35b3480156104b8575f80fd5b506104d360048036038101906104ce919061199a565b610ede565b005b6060600480546104e490611a58565b80601f016020809104026020016040519081016040528092919081815260200182805461051090611a58565b801561055b5780601f106105325761010080835404028352916020019161055b565b820191905f5260205f20905b81548152906001019060200180831161053e57829003601f168201915b5050505050905090565b5f61057861057161109b565b84846110a2565b6001905092915050565b5f600754905090565b5f610597848484611265565b610654846105a361109b565b61064f856040518060600160405280602e81526020016120c5602e913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61060661109b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461161b9092919063ffffffff16565b6110a2565b600190509392505050565b5f60065f9054906101000a900460ff16905090565b5f61071861068061109b565b846107138560025f61069061109b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461167d90919063ffffffff16565b6110a2565b6001905092915050565b61072a61109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90611ad2565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61081661109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990611ad2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156108e5573d5f803e3d5ffd5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61093761109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba90611ad2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a8561109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0890611ad2565b60405180910390fd5b60085f9054906101000a900460ff1615610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790611b3a565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610bb290611a58565b80601f0160208091040260200160405190810160405280929190818152602001828054610bde90611a58565b8015610c295780601f10610c0057610100808354040283529160200191610c29565b820191905f5260205f20905b815481529060010190602001808311610c0c57829003601f168201915b5050505050905090565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f610d0e610c5c61109b565b84610d09856040518060600160405280602e8152602001612097602e913960025f610c8561109b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461161b9092919063ffffffff16565b6110a2565b6001905092915050565b5f610d2b610d2461109b565b8484611265565b6001905092915050565b610d3d61109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc090611ad2565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610e04929190611b58565b6020604051808303815f875af1158015610e20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e449190611b93565b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085f9054906101000a900460ff1681565b610ee661109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990611ad2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd790611c2e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110790611cbc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590611d4a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112589190611895565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ca90611dd8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133890611e66565b60405180910390fd5b5f8111611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137a90611ef4565b60405180910390fd5b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611421575060035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114755760085f9054906101000a900460ff16611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90611f5c565b60405180910390fd5b5b6114df816040518060600160405280602181526020016120766021913960015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461161b9092919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506115708160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461167d90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161160e9190611895565b60405180910390a3505050565b5f838311158290611662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116599190611764565b60405180910390fd5b505f83856116709190611fa7565b9050809150509392505050565b5f80828461168b9190611fda565b9050838110156116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c790612057565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156117115780820151818401526020810190506116f6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611736826116da565b61174081856116e4565b93506117508185602086016116f4565b6117598161171c565b840191505092915050565b5f6020820190508181035f83015261177c818461172c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117b182611788565b9050919050565b6117c1816117a7565b81146117cb575f80fd5b50565b5f813590506117dc816117b8565b92915050565b5f819050919050565b6117f4816117e2565b81146117fe575f80fd5b50565b5f8135905061180f816117eb565b92915050565b5f806040838503121561182b5761182a611784565b5b5f611838858286016117ce565b925050602061184985828601611801565b9150509250929050565b5f8115159050919050565b61186781611853565b82525050565b5f6020820190506118805f83018461185e565b92915050565b61188f816117e2565b82525050565b5f6020820190506118a85f830184611886565b92915050565b5f805f606084860312156118c5576118c4611784565b5b5f6118d2868287016117ce565b93505060206118e3868287016117ce565b92505060406118f486828701611801565b9150509250925092565b5f60ff82169050919050565b611913816118fe565b82525050565b5f60208201905061192c5f83018461190a565b92915050565b61193b81611853565b8114611945575f80fd5b50565b5f8135905061195681611932565b92915050565b5f806040838503121561197257611971611784565b5b5f61197f858286016117ce565b925050602061199085828601611948565b9150509250929050565b5f602082840312156119af576119ae611784565b5b5f6119bc848285016117ce565b91505092915050565b6119ce816117a7565b82525050565b5f6020820190506119e75f8301846119c5565b92915050565b5f8060408385031215611a0357611a02611784565b5b5f611a10858286016117ce565b9250506020611a21858286016117ce565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611a6f57607f821691505b602082108103611a8257611a81611a2b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611abc6020836116e4565b9150611ac782611a88565b602082019050919050565b5f6020820190508181035f830152611ae981611ab0565b9050919050565b7f506f6c616e61204c6162733a20416c726561647920656e61626c6564000000005f82015250565b5f611b24601c836116e4565b9150611b2f82611af0565b602082019050919050565b5f6020820190508181035f830152611b5181611b18565b9050919050565b5f604082019050611b6b5f8301856119c5565b611b786020830184611886565b9392505050565b5f81519050611b8d81611932565b92915050565b5f60208284031215611ba857611ba7611784565b5b5f611bb584828501611b7f565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611c186026836116e4565b9150611c2382611bbe565b604082019050919050565b5f6020820190508181035f830152611c4581611c0c565b9050919050565b7f506f6c616e61204c6162733a20417070726f76652066726f6d20746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f611ca6602a836116e4565b9150611cb182611c4c565b604082019050919050565b5f6020820190508181035f830152611cd381611c9a565b9050919050565b7f506f6c616e61204c6162733a20417070726f766520746f20746865207a65726f5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f611d346028836116e4565b9150611d3f82611cda565b604082019050919050565b5f6020820190508181035f830152611d6181611d28565b9050919050565b7f506f6c616e61204c6162733a205472616e736665722066726f6d20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611dc2602b836116e4565b9150611dcd82611d68565b604082019050919050565b5f6020820190508181035f830152611def81611db6565b9050919050565b7f506f6c616e61204c6162733a205472616e7366657220746f20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f611e506029836116e4565b9150611e5b82611df6565b604082019050919050565b5f6020820190508181035f830152611e7d81611e44565b9050919050565b7f506f6c616e61204c6162733a20416d6f756e74206d75737420626520677265615f8201527f746572207468616e207a65726f00000000000000000000000000000000000000602082015250565b5f611ede602d836116e4565b9150611ee982611e84565b604082019050919050565b5f6020820190508181035f830152611f0b81611ed2565b9050919050565b7f506f6c616e61204c6162733a2054726164696e672069732064697361626c65005f82015250565b5f611f46601f836116e4565b9150611f5182611f12565b602082019050919050565b5f6020820190508181035f830152611f7381611f3a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611fb1826117e2565b9150611fbc836117e2565b9250828203905081811115611fd457611fd3611f7a565b5b92915050565b5f611fe4826117e2565b9150611fef836117e2565b925082820190508082111561200757612006611f7a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612041601b836116e4565b915061204c8261200d565b602082019050919050565b5f6020820190508181035f83015261206e81612035565b905091905056fe506f6c616e61204c6162733a20496e73756666696369656e742062616c616e6365506f6c616e61204c6162733a2044656372656173656420616c6c6f77616e6365206f722062656c6f77207a65726f506f6c616e61206c6162733a205472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d65414588e977687de2b29ade69e4d44841f99a9c2de7a23457f50da14bfe7e564736f6c63430008140033

Deployed Bytecode

0x608060405260043610610122575f3560e01c80638a8c523c1161009f578063a9059cbb11610063578063a9059cbb146103e3578063bcda3a031461041f578063dd62ed3e14610447578063ec44acf214610483578063f2fde38b146104ad57610129565b80638a8c523c146103015780638da5cb5b1461031757806395d89b41146103415780639b19251a1461036b578063a457c2d7146103a757610129565b806339509351116100e6578063395093511461022357806353d6fd591461025f578063679a3c591461028757806370a08231146102af578063715018a6146102eb57610129565b806306fdde031461012d578063095ea7b31461015757806318160ddd1461019357806323b872dd146101bd578063313ce567146101f957610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104d5565b60405161014e9190611764565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611815565b610565565b60405161018a919061186d565b60405180910390f35b34801561019e575f80fd5b506101a7610582565b6040516101b49190611895565b60405180910390f35b3480156101c8575f80fd5b506101e360048036038101906101de91906118ae565b61058b565b6040516101f0919061186d565b60405180910390f35b348015610204575f80fd5b5061020d61065f565b60405161021a9190611919565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190611815565b610674565b604051610256919061186d565b60405180910390f35b34801561026a575f80fd5b506102856004803603810190610280919061195c565b610722565b005b348015610292575f80fd5b506102ad60048036038101906102a8919061199a565b61080e565b005b3480156102ba575f80fd5b506102d560048036038101906102d0919061199a565b6108e9565b6040516102e29190611895565b60405180910390f35b3480156102f6575f80fd5b506102ff61092f565b005b34801561030c575f80fd5b50610315610a7d565b005b348015610322575f80fd5b5061032b610b7c565b60405161033891906119d4565b60405180910390f35b34801561034c575f80fd5b50610355610ba3565b6040516103629190611764565b60405180910390f35b348015610376575f80fd5b50610391600480360381019061038c919061199a565b610c33565b60405161039e919061186d565b60405180910390f35b3480156103b2575f80fd5b506103cd60048036038101906103c89190611815565b610c50565b6040516103da919061186d565b60405180910390f35b3480156103ee575f80fd5b5061040960048036038101906104049190611815565b610d18565b604051610416919061186d565b60405180910390f35b34801561042a575f80fd5b50610445600480360381019061044091906118ae565b610d35565b005b348015610452575f80fd5b5061046d600480360381019061046891906119ed565b610e4a565b60405161047a9190611895565b60405180910390f35b34801561048e575f80fd5b50610497610ecc565b6040516104a4919061186d565b60405180910390f35b3480156104b8575f80fd5b506104d360048036038101906104ce919061199a565b610ede565b005b6060600480546104e490611a58565b80601f016020809104026020016040519081016040528092919081815260200182805461051090611a58565b801561055b5780601f106105325761010080835404028352916020019161055b565b820191905f5260205f20905b81548152906001019060200180831161053e57829003601f168201915b5050505050905090565b5f61057861057161109b565b84846110a2565b6001905092915050565b5f600754905090565b5f610597848484611265565b610654846105a361109b565b61064f856040518060600160405280602e81526020016120c5602e913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61060661109b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461161b9092919063ffffffff16565b6110a2565b600190509392505050565b5f60065f9054906101000a900460ff16905090565b5f61071861068061109b565b846107138560025f61069061109b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461167d90919063ffffffff16565b6110a2565b6001905092915050565b61072a61109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90611ad2565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61081661109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990611ad2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156108e5573d5f803e3d5ffd5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61093761109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba90611ad2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a8561109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0890611ad2565b60405180910390fd5b60085f9054906101000a900460ff1615610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790611b3a565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610bb290611a58565b80601f0160208091040260200160405190810160405280929190818152602001828054610bde90611a58565b8015610c295780601f10610c0057610100808354040283529160200191610c29565b820191905f5260205f20905b815481529060010190602001808311610c0c57829003601f168201915b5050505050905090565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f610d0e610c5c61109b565b84610d09856040518060600160405280602e8152602001612097602e913960025f610c8561109b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461161b9092919063ffffffff16565b6110a2565b6001905092915050565b5f610d2b610d2461109b565b8484611265565b6001905092915050565b610d3d61109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc090611ad2565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610e04929190611b58565b6020604051808303815f875af1158015610e20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e449190611b93565b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085f9054906101000a900460ff1681565b610ee661109b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990611ad2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd790611c2e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110790611cbc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590611d4a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112589190611895565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ca90611dd8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133890611e66565b60405180910390fd5b5f8111611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137a90611ef4565b60405180910390fd5b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611421575060035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114755760085f9054906101000a900460ff16611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90611f5c565b60405180910390fd5b5b6114df816040518060600160405280602181526020016120766021913960015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461161b9092919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506115708160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461167d90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161160e9190611895565b60405180910390a3505050565b5f838311158290611662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116599190611764565b60405180910390fd5b505f83856116709190611fa7565b9050809150509392505050565b5f80828461168b9190611fda565b9050838110156116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c790612057565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156117115780820151818401526020810190506116f6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611736826116da565b61174081856116e4565b93506117508185602086016116f4565b6117598161171c565b840191505092915050565b5f6020820190508181035f83015261177c818461172c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117b182611788565b9050919050565b6117c1816117a7565b81146117cb575f80fd5b50565b5f813590506117dc816117b8565b92915050565b5f819050919050565b6117f4816117e2565b81146117fe575f80fd5b50565b5f8135905061180f816117eb565b92915050565b5f806040838503121561182b5761182a611784565b5b5f611838858286016117ce565b925050602061184985828601611801565b9150509250929050565b5f8115159050919050565b61186781611853565b82525050565b5f6020820190506118805f83018461185e565b92915050565b61188f816117e2565b82525050565b5f6020820190506118a85f830184611886565b92915050565b5f805f606084860312156118c5576118c4611784565b5b5f6118d2868287016117ce565b93505060206118e3868287016117ce565b92505060406118f486828701611801565b9150509250925092565b5f60ff82169050919050565b611913816118fe565b82525050565b5f60208201905061192c5f83018461190a565b92915050565b61193b81611853565b8114611945575f80fd5b50565b5f8135905061195681611932565b92915050565b5f806040838503121561197257611971611784565b5b5f61197f858286016117ce565b925050602061199085828601611948565b9150509250929050565b5f602082840312156119af576119ae611784565b5b5f6119bc848285016117ce565b91505092915050565b6119ce816117a7565b82525050565b5f6020820190506119e75f8301846119c5565b92915050565b5f8060408385031215611a0357611a02611784565b5b5f611a10858286016117ce565b9250506020611a21858286016117ce565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611a6f57607f821691505b602082108103611a8257611a81611a2b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611abc6020836116e4565b9150611ac782611a88565b602082019050919050565b5f6020820190508181035f830152611ae981611ab0565b9050919050565b7f506f6c616e61204c6162733a20416c726561647920656e61626c6564000000005f82015250565b5f611b24601c836116e4565b9150611b2f82611af0565b602082019050919050565b5f6020820190508181035f830152611b5181611b18565b9050919050565b5f604082019050611b6b5f8301856119c5565b611b786020830184611886565b9392505050565b5f81519050611b8d81611932565b92915050565b5f60208284031215611ba857611ba7611784565b5b5f611bb584828501611b7f565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611c186026836116e4565b9150611c2382611bbe565b604082019050919050565b5f6020820190508181035f830152611c4581611c0c565b9050919050565b7f506f6c616e61204c6162733a20417070726f76652066726f6d20746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f611ca6602a836116e4565b9150611cb182611c4c565b604082019050919050565b5f6020820190508181035f830152611cd381611c9a565b9050919050565b7f506f6c616e61204c6162733a20417070726f766520746f20746865207a65726f5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f611d346028836116e4565b9150611d3f82611cda565b604082019050919050565b5f6020820190508181035f830152611d6181611d28565b9050919050565b7f506f6c616e61204c6162733a205472616e736665722066726f6d20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611dc2602b836116e4565b9150611dcd82611d68565b604082019050919050565b5f6020820190508181035f830152611def81611db6565b9050919050565b7f506f6c616e61204c6162733a205472616e7366657220746f20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f611e506029836116e4565b9150611e5b82611df6565b604082019050919050565b5f6020820190508181035f830152611e7d81611e44565b9050919050565b7f506f6c616e61204c6162733a20416d6f756e74206d75737420626520677265615f8201527f746572207468616e207a65726f00000000000000000000000000000000000000602082015250565b5f611ede602d836116e4565b9150611ee982611e84565b604082019050919050565b5f6020820190508181035f830152611f0b81611ed2565b9050919050565b7f506f6c616e61204c6162733a2054726164696e672069732064697361626c65005f82015250565b5f611f46601f836116e4565b9150611f5182611f12565b602082019050919050565b5f6020820190508181035f830152611f7381611f3a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611fb1826117e2565b9150611fbc836117e2565b9250828203905081811115611fd457611fd3611f7a565b5b92915050565b5f611fe4826117e2565b9150611fef836117e2565b925082820190508082111561200757612006611f7a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612041601b836116e4565b915061204c8261200d565b602082019050919050565b5f6020820190508181035f83015261206e81612035565b905091905056fe506f6c616e61204c6162733a20496e73756666696369656e742062616c616e6365506f6c616e61204c6162733a2044656372656173656420616c6c6f77616e6365206f722062656c6f77207a65726f506f6c616e61206c6162733a205472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d65414588e977687de2b29ade69e4d44841f99a9c2de7a23457f50da14bfe7e564736f6c63430008140033

Deployed Bytecode Sourcemap

3270:4691:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4056:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4944:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4333:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5138:452;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4242:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5598:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6756:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6309:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4441:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2817:157;;;;;;;;;;;;;:::i;:::-;;6611:137;;;;;;;;;;;;;:::i;:::-;;2603:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4147:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3486:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5899:402;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4568:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6446:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4768:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3713:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2982:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4056:83;4093:13;4126:5;4119:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4056:83;:::o;4944:186::-;5044:4;5061:39;5070:12;:10;:12::i;:::-;5084:7;5093:6;5061:8;:39::i;:::-;5118:4;5111:11;;4944:186;;;;:::o;4333:100::-;4386:7;4413:12;;4406:19;;4333:100;:::o;5138:452::-;5270:4;5287:36;5297:6;5305:9;5316:6;5287:9;:36::i;:::-;5334:226;5357:6;5378:12;:10;:12::i;:::-;5405:144;5461:6;5405:144;;;;;;;;;;;;;;;;;:11;:19;5417:6;5405:19;;;;;;;;;;;;;;;:33;5425:12;:10;:12::i;:::-;5405:33;;;;;;;;;;;;;;;;:37;;:144;;;;;:::i;:::-;5334:8;:226::i;:::-;5578:4;5571:11;;5138:452;;;;;:::o;4242:83::-;4283:5;4308:9;;;;;;;;;;;4301:16;;4242:83;:::o;5598:293::-;5711:4;5728:133;5751:12;:10;:12::i;:::-;5778:7;5800:50;5839:10;5800:11;:25;5812:12;:10;:12::i;:::-;5800:25;;;;;;;;;;;;;;;:34;5826:7;5800:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;5728:8;:133::i;:::-;5879:4;5872:11;;5598:293;;;;:::o;6756:112::-;2740:12;:10;:12::i;:::-;2730:22;;:6;;;;;;;;;;:22;;;2722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6854:6:::1;6835:9;:16;6845:5;6835:16;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;6756:112:::0;;:::o;6309:129::-;2740:12;:10;:12::i;:::-;2730:22;;:6;;;;;;;;;;:22;;;2722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6388:9:::1;6380:27;;:50;6408:21;6380:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;6309:129:::0;:::o;4441:119::-;4507:7;4534:9;:18;4544:7;4534:18;;;;;;;;;;;;;;;;4527:25;;4441:119;;;:::o;2817:157::-;2740:12;:10;:12::i;:::-;2730:22;;:6;;;;;;;;;;:22;;;2722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2924:1:::1;2887:40;;2908:6;::::0;::::1;;;;;;;;2887:40;;;;;;;;;;;;2963:1;2938:6:::0;::::1;:28;;;;;;;;;;;;;;;;;;2817:157::o:0;6611:137::-;2740:12;:10;:12::i;:::-;2730:22;;:6;;;;;;;;;;:22;;;2722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6675:7:::1;;;;;;;;;;;6674:8;6666:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;6736:4;6726:7;;:14;;;;;;;;;;;;;;;;;;6611:137::o:0;2603:79::-;2641:7;2668:6;;;;;;;;;;;2661:13;;2603:79;:::o;4147:87::-;4186:13;4219:7;4212:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4147:87;:::o;3486:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;5899:402::-;6017:4;6034:237;6057:12;:10;:12::i;:::-;6084:7;6106:154;6163:15;6106:154;;;;;;;;;;;;;;;;;:11;:25;6118:12;:10;:12::i;:::-;6106:25;;;;;;;;;;;;;;;:34;6132:7;6106:34;;;;;;;;;;;;;;;;:38;;:154;;;;;:::i;:::-;6034:8;:237::i;:::-;6289:4;6282:11;;5899:402;;;;:::o;4568:192::-;4671:4;4688:42;4698:12;:10;:12::i;:::-;4712:9;4723:6;4688:9;:42::i;:::-;4748:4;4741:11;;4568:192;;;;:::o;6446:157::-;2740:12;:10;:12::i;:::-;2730:22;;:6;;;;;;;;;;:22;;;2722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6559:6:::1;6552:23;;;6576:9;6587:7;6552:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6446:157:::0;;;:::o;4768:168::-;4874:7;4901:11;:18;4913:5;4901:18;;;;;;;;;;;;;;;:27;4920:7;4901:27;;;;;;;;;;;;;;;;4894:34;;4768:168;;;;:::o;3713:19::-;;;;;;;;;;;;;:::o;2982:281::-;2740:12;:10;:12::i;:::-;2730:22;;:6;;;;;;;;;;:22;;;2722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3105:1:::1;3085:22;;:8;:22;;::::0;3063:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3218:8;3189:38;;3210:6;::::0;::::1;;;;;;;;3189:38;;;;;;;;;;;;3247:8;3238:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2982:281:::0;:::o;1939:115::-;1992:15;2035:10;2020:26;;1939:115;:::o;6876:349::-;6986:1;6969:19;;:5;:19;;;6961:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7073:1;7054:21;;:7;:21;;;7046:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7163:6;7133:11;:18;7145:5;7133:18;;;;;;;;;;;;;;;:27;7152:7;7133:27;;;;;;;;;;;;;;;:36;;;;7201:7;7185:32;;7194:5;7185:32;;;7210:6;7185:32;;;;;;:::i;:::-;;;;;;;;6876:349;;;:::o;7233:723::-;7337:1;7321:18;;:4;:18;;;7313:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7420:1;7406:16;;:2;:16;;;7398:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7496:1;7487:6;:10;7479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7565:9;:15;7575:4;7565:15;;;;;;;;;;;;;;;;;;;;;;;;;7564:16;:34;;;;;7585:9;:13;7595:2;7585:13;;;;;;;;;;;;;;;;;;;;;;;;;7584:14;7564:34;7560:161;;;7667:7;;;;;;;;;;;7659:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;7560:161;7751:101;7785:6;7751:101;;;;;;;;;;;;;;;;;:9;:15;7761:4;7751:15;;;;;;;;;;;;;;;;:19;;:101;;;;;:::i;:::-;7733:9;:15;7743:4;7733:15;;;;;;;;;;;;;;;:119;;;;7879:25;7897:6;7879:9;:13;7889:2;7879:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7863:9;:13;7873:2;7863:13;;;;;;;;;;;;;;;:41;;;;7937:2;7922:26;;7931:4;7922:26;;;7941:6;7922:26;;;;;;:::i;:::-;;;;;;;;7233:723;;;:::o;8322:226::-;8442:7;8475:1;8470;:6;;8478:12;8462:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8502:9;8518:1;8514;:5;;;;:::i;:::-;8502:17;;8539:1;8532:8;;;8322:226;;;;;:::o;7989:181::-;8047:7;8067:9;8083:1;8079;:5;;;;:::i;:::-;8067:17;;8108:1;8103;:6;;8095:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;8161:1;8154:8;;;7989:181;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:116::-;4923:21;4938:5;4923:21;:::i;:::-;4916:5;4913:32;4903:60;;4959:1;4956;4949:12;4903:60;4853:116;:::o;4975:133::-;5018:5;5056:6;5043:20;5034:29;;5072:30;5096:5;5072:30;:::i;:::-;4975:133;;;;:::o;5114:468::-;5179:6;5187;5236:2;5224:9;5215:7;5211:23;5207:32;5204:119;;;5242:79;;:::i;:::-;5204:119;5362:1;5387:53;5432:7;5423:6;5412:9;5408:22;5387:53;:::i;:::-;5377:63;;5333:117;5489:2;5515:50;5557:7;5548:6;5537:9;5533:22;5515:50;:::i;:::-;5505:60;;5460:115;5114:468;;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:118::-;6010:24;6028:5;6010:24;:::i;:::-;6005:3;5998:37;5923:118;;:::o;6047:222::-;6140:4;6178:2;6167:9;6163:18;6155:26;;6191:71;6259:1;6248:9;6244:17;6235:6;6191:71;:::i;:::-;6047:222;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:320;6985:6;7022:1;7016:4;7012:12;7002:22;;7069:1;7063:4;7059:12;7090:18;7080:81;;7146:4;7138:6;7134:17;7124:27;;7080:81;7208:2;7200:6;7197:14;7177:18;7174:38;7171:84;;7227:18;;:::i;:::-;7171:84;6992:269;6941:320;;;:::o;7267:182::-;7407:34;7403:1;7395:6;7391:14;7384:58;7267:182;:::o;7455:366::-;7597:3;7618:67;7682:2;7677:3;7618:67;:::i;:::-;7611:74;;7694:93;7783:3;7694:93;:::i;:::-;7812:2;7807:3;7803:12;7796:19;;7455:366;;;:::o;7827:419::-;7993:4;8031:2;8020:9;8016:18;8008:26;;8080:9;8074:4;8070:20;8066:1;8055:9;8051:17;8044:47;8108:131;8234:4;8108:131;:::i;:::-;8100:139;;7827:419;;;:::o;8252:178::-;8392:30;8388:1;8380:6;8376:14;8369:54;8252:178;:::o;8436:366::-;8578:3;8599:67;8663:2;8658:3;8599:67;:::i;:::-;8592:74;;8675:93;8764:3;8675:93;:::i;:::-;8793:2;8788:3;8784:12;8777:19;;8436:366;;;:::o;8808:419::-;8974:4;9012:2;9001:9;8997:18;8989:26;;9061:9;9055:4;9051:20;9047:1;9036:9;9032:17;9025:47;9089:131;9215:4;9089:131;:::i;:::-;9081:139;;8808:419;;;:::o;9233:332::-;9354:4;9392:2;9381:9;9377:18;9369:26;;9405:71;9473:1;9462:9;9458:17;9449:6;9405:71;:::i;:::-;9486:72;9554:2;9543:9;9539:18;9530:6;9486:72;:::i;:::-;9233:332;;;;;:::o;9571:137::-;9625:5;9656:6;9650:13;9641:22;;9672:30;9696:5;9672:30;:::i;:::-;9571:137;;;;:::o;9714:345::-;9781:6;9830:2;9818:9;9809:7;9805:23;9801:32;9798:119;;;9836:79;;:::i;:::-;9798:119;9956:1;9981:61;10034:7;10025:6;10014:9;10010:22;9981:61;:::i;:::-;9971:71;;9927:125;9714:345;;;;:::o;10065:225::-;10205:34;10201:1;10193:6;10189:14;10182:58;10274:8;10269:2;10261:6;10257:15;10250:33;10065:225;:::o;10296:366::-;10438:3;10459:67;10523:2;10518:3;10459:67;:::i;:::-;10452:74;;10535:93;10624:3;10535:93;:::i;:::-;10653:2;10648:3;10644:12;10637:19;;10296:366;;;:::o;10668:419::-;10834:4;10872:2;10861:9;10857:18;10849:26;;10921:9;10915:4;10911:20;10907:1;10896:9;10892:17;10885:47;10949:131;11075:4;10949:131;:::i;:::-;10941:139;;10668:419;;;:::o;11093:229::-;11233:34;11229:1;11221:6;11217:14;11210:58;11302:12;11297:2;11289:6;11285:15;11278:37;11093:229;:::o;11328:366::-;11470:3;11491:67;11555:2;11550:3;11491:67;:::i;:::-;11484:74;;11567:93;11656:3;11567:93;:::i;:::-;11685:2;11680:3;11676:12;11669:19;;11328:366;;;:::o;11700:419::-;11866:4;11904:2;11893:9;11889:18;11881:26;;11953:9;11947:4;11943:20;11939:1;11928:9;11924:17;11917:47;11981:131;12107:4;11981:131;:::i;:::-;11973:139;;11700:419;;;:::o;12125:227::-;12265:34;12261:1;12253:6;12249:14;12242:58;12334:10;12329:2;12321:6;12317:15;12310:35;12125:227;:::o;12358:366::-;12500:3;12521:67;12585:2;12580:3;12521:67;:::i;:::-;12514:74;;12597:93;12686:3;12597:93;:::i;:::-;12715:2;12710:3;12706:12;12699:19;;12358:366;;;:::o;12730:419::-;12896:4;12934:2;12923:9;12919:18;12911:26;;12983:9;12977:4;12973:20;12969:1;12958:9;12954:17;12947:47;13011:131;13137:4;13011:131;:::i;:::-;13003:139;;12730:419;;;:::o;13155:230::-;13295:34;13291:1;13283:6;13279:14;13272:58;13364:13;13359:2;13351:6;13347:15;13340:38;13155:230;:::o;13391:366::-;13533:3;13554:67;13618:2;13613:3;13554:67;:::i;:::-;13547:74;;13630:93;13719:3;13630:93;:::i;:::-;13748:2;13743:3;13739:12;13732:19;;13391:366;;;:::o;13763:419::-;13929:4;13967:2;13956:9;13952:18;13944:26;;14016:9;14010:4;14006:20;14002:1;13991:9;13987:17;13980:47;14044:131;14170:4;14044:131;:::i;:::-;14036:139;;13763:419;;;:::o;14188:228::-;14328:34;14324:1;14316:6;14312:14;14305:58;14397:11;14392:2;14384:6;14380:15;14373:36;14188:228;:::o;14422:366::-;14564:3;14585:67;14649:2;14644:3;14585:67;:::i;:::-;14578:74;;14661:93;14750:3;14661:93;:::i;:::-;14779:2;14774:3;14770:12;14763:19;;14422:366;;;:::o;14794:419::-;14960:4;14998:2;14987:9;14983:18;14975:26;;15047:9;15041:4;15037:20;15033:1;15022:9;15018:17;15011:47;15075:131;15201:4;15075:131;:::i;:::-;15067:139;;14794:419;;;:::o;15219:232::-;15359:34;15355:1;15347:6;15343:14;15336:58;15428:15;15423:2;15415:6;15411:15;15404:40;15219:232;:::o;15457:366::-;15599:3;15620:67;15684:2;15679:3;15620:67;:::i;:::-;15613:74;;15696:93;15785:3;15696:93;:::i;:::-;15814:2;15809:3;15805:12;15798:19;;15457:366;;;:::o;15829:419::-;15995:4;16033:2;16022:9;16018:18;16010:26;;16082:9;16076:4;16072:20;16068:1;16057:9;16053:17;16046:47;16110:131;16236:4;16110:131;:::i;:::-;16102:139;;15829:419;;;:::o;16254:181::-;16394:33;16390:1;16382:6;16378:14;16371:57;16254:181;:::o;16441:366::-;16583:3;16604:67;16668:2;16663:3;16604:67;:::i;:::-;16597:74;;16680:93;16769:3;16680:93;:::i;:::-;16798:2;16793:3;16789:12;16782:19;;16441:366;;;:::o;16813:419::-;16979:4;17017:2;17006:9;17002:18;16994:26;;17066:9;17060:4;17056:20;17052:1;17041:9;17037:17;17030:47;17094:131;17220:4;17094:131;:::i;:::-;17086:139;;16813:419;;;:::o;17238:180::-;17286:77;17283:1;17276:88;17383:4;17380:1;17373:15;17407:4;17404:1;17397:15;17424:194;17464:4;17484:20;17502:1;17484:20;:::i;:::-;17479:25;;17518:20;17536:1;17518:20;:::i;:::-;17513:25;;17562:1;17559;17555:9;17547:17;;17586:1;17580:4;17577:11;17574:37;;;17591:18;;:::i;:::-;17574:37;17424:194;;;;:::o;17624:191::-;17664:3;17683:20;17701:1;17683:20;:::i;:::-;17678:25;;17717:20;17735:1;17717:20;:::i;:::-;17712:25;;17760:1;17757;17753:9;17746:16;;17781:3;17778:1;17775:10;17772:36;;;17788:18;;:::i;:::-;17772:36;17624:191;;;;:::o;17821:177::-;17961:29;17957:1;17949:6;17945:14;17938:53;17821:177;:::o;18004:366::-;18146:3;18167:67;18231:2;18226:3;18167:67;:::i;:::-;18160:74;;18243:93;18332:3;18243:93;:::i;:::-;18361:2;18356:3;18352:12;18345:19;;18004:366;;;:::o;18376:419::-;18542:4;18580:2;18569:9;18565:18;18557:26;;18629:9;18623:4;18619:20;18615:1;18604:9;18600:17;18593:47;18657:131;18783:4;18657:131;:::i;:::-;18649:139;;18376:419;;;:::o

Swarm Source

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