ETH Price: $2,525.41 (+0.01%)

Token

Sudo Inu (SNACK)
 

Overview

Max Total Supply

1,000,000,000 SNACK

Holders

75

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,032,436.996248226 SNACK

Value
$0.00
0xe57402125E1FAe01aBb1D30d1EFBeC68A7EE5Bd1
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:
SNACK

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-07
*/

// SPDX-License-Identifier: MIT

/*
The Snack Shack is Ready
Stake Sudo Tokens to earn decilious Sudo SNACKS!

Website: https://www.sudoinu.org
Telegram: https://t.me/sudo_erc
Twitter: https://twitter.com/sudo_erc
*/

pragma solidity 0.8.19;

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

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeLibrary: 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) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeLibrary: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Authenticate is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

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

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

interface IRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract SNACK is Context, IERC20, Authenticate {
    using SafeLibrary for uint256;

    uint8 private constant _decimals= 9;
    uint256 private constant _supplyT = 10 ** 9 * 10**_decimals;
    string private constant _name= "Sudo Inu";
    string private constant _symbol= "SNACK";

    uint256 private _initialBuyTax=12;
    uint256 private _initialSellTax=12;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=12;
    uint256 private _reduceSellTaxAt=12;
    uint256 private _preventSwapBefore=6;
    uint256 private _buyers=0;

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

    IRouter private _routers;
    address private _pairAddress;
    bool private buyStart;
    bool private swapping= false;
    bool private swapEnabled= false;

    uint256 public maxTxSize= 30 * 10 ** 6 * 10**_decimals;
    uint256 public maxWallet= 30 * 10 ** 6 * 10**_decimals;
    uint256 public _swapThreshold= 10 ** 5 * 10**_decimals;
    uint256 public _swapMax= 10 ** 7 * 10**_decimals;
    address payable private _taxReceipient = payable(0xe7496bb894151Bde3B5a3Ea241c6e891f789668A);


    event MaxTxAmountUpdated(uint maxTxSize);
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor () {
        _balances[address(this)] = _supplyT;
        _isFExcluded[owner()] = true;
        _isFExcluded[_taxReceipient] = true;

        emit Transfer(address(0), address(this), _supplyT);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _supplyT;
    }

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

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

    receive() external payable {}
    
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function removeLimits() external onlyOwner {
        maxWallet = maxTxSize = _supplyT;
        emit MaxTxAmountUpdated(_supplyT);
    }
    
    function sendETHToFeeAddress(uint256 amount) private {
        _taxReceipient.transfer(amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner() && !_isFExcluded[from]) {
            taxAmount = amount.mul((_buyers > _reduceBuyTaxAt) ? _finalBuyTax  :_initialBuyTax).div(100);

            if (from == _pairAddress && to != address(_routers) && !_isFExcluded[to]) {
                require(amount <= maxTxSize, "Exceeds the maxTxSize.");
                require(balanceOf(to) + amount <= maxWallet, "Exceeds the maxWalletSize.");
                _buyers++;
            }

            if (to == _pairAddress && from != address(this)) {
                taxAmount = amount.mul((_buyers>_reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!swapping && to == _pairAddress && swapEnabled && contractTokenBalance > _swapThreshold && _buyers > _preventSwapBefore && amount > _swapThreshold) {
                swapToETH(min(amount, min(contractTokenBalance, _swapMax)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFeeAddress(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          _balances[from] = _balances[from].sub(amount);
          emit Transfer(from, address(this), taxAmount);
        }
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function swapToETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _routers.WETH();
        _approve(address(this), address(_routers), tokenAmount);
        _routers.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function openTrading() external onlyOwner() {
        require(!buyStart, "Trading is already open");
        _routers = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_routers), _supplyT);
        _pairAddress = IUniswapFactory(_routers.factory()).createPair(address(this), _routers.WETH());
        _routers.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(_pairAddress).approve(address(_routers), type(uint).max);
        swapEnabled = true;
        buyStart = true;
    }
    
    function min(uint256 a, uint256 b) private pure returns (uint256) {
      return (a > b) ? b : a;
    }

}

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":"maxTxSize","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_swapMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"pure","type":"function"},{"inputs":[],"name":"maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

6080604052600c600181815560028290556003819055600455600581905560069081556007556000600855600d805461ffff60a81b19169055620000466009600a6200030c565b62000056906301c9c38062000324565b600e55620000676009600a6200030c565b62000077906301c9c38062000324565b600f55620000886009600a6200030c565b6200009790620186a062000324565b601055620000a86009600a6200030c565b620000b7906298968062000324565b601155601280546001600160a01b03191673e7496bb894151bde3b5a3ea241c6e891f789668a179055348015620000ed57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200013d6009600a6200030c565b6200014d90633b9aca0062000324565b3060008181526009602081815260408084209590955582546001600160a01b039081168452600b9091528483208054600160ff1991821681179092556012549092168452948320805490911690941790935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001d090600a6200030c565b620001e090633b9aca0062000324565b60405190815260200160405180910390a36200033e565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200024e578160001904821115620002325762000232620001f7565b808516156200024057918102915b93841c939080029062000212565b509250929050565b600082620002675750600162000306565b81620002765750600062000306565b81600181146200028f57600281146200029a57620002ba565b600191505062000306565b60ff841115620002ae57620002ae620001f7565b50506001821b62000306565b5060208310610133831016604e8410600b8410161715620002df575081810a62000306565b620002eb83836200020d565b8060001904821115620003025762000302620001f7565b0290505b92915050565b60006200031d60ff84168362000256565b9392505050565b8082028115828204841417620003065762000306620001f7565b611700806200034e6000396000f3fe6080604052600436106101025760003560e01c8063751039fc11610095578063a9059cbb11610064578063a9059cbb146102c4578063bff4be30146102e4578063c9567bf9146102fa578063dd62ed3e1461030f578063f8b45b051461035557600080fd5b8063751039fc146102435780637e150d66146102585780638da5cb5b1461026e57806395d89b411461029657600080fd5b806323b872dd116100d157806323b872dd146101ba578063313ce567146101da57806370a08231146101f6578063715018a61461022c57600080fd5b806306fdde031461010e578063095ea7b3146101515780630e5a92311461018157806318160ddd146101a557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820190915260088152675375646f20496e7560c01b60208201525b604051610148919061129e565b60405180910390f35b34801561015d57600080fd5b5061017161016c366004611304565b61036b565b6040519015158152602001610148565b34801561018d57600080fd5b5061019760105481565b604051908152602001610148565b3480156101b157600080fd5b50610197610382565b3480156101c657600080fd5b506101716101d5366004611330565b6103a3565b3480156101e657600080fd5b5060405160098152602001610148565b34801561020257600080fd5b50610197610211366004611371565b6001600160a01b031660009081526009602052604090205490565b34801561023857600080fd5b5061024161040c565b005b34801561024f57600080fd5b50610241610489565b34801561026457600080fd5b50610197600e5481565b34801561027a57600080fd5b506000546040516001600160a01b039091168152602001610148565b3480156102a257600080fd5b50604080518082019091526005815264534e41434b60d81b602082015261013b565b3480156102d057600080fd5b506101716102df366004611304565b610523565b3480156102f057600080fd5b5061019760115481565b34801561030657600080fd5b50610241610530565b34801561031b57600080fd5b5061019761032a36600461138e565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561036157600080fd5b50610197600f5481565b60006103783384846108ec565b5060015b92915050565b60006103906009600a6114c1565b61039e90633b9aca006114d0565b905090565b60006103b0848484610a10565b61040284336103fd856040518060600160405280602881526020016116a3602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190610f18565b6108ec565b5060019392505050565b6000546001600160a01b0316331461043f5760405162461bcd60e51b8152600401610436906114e7565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b35760405162461bcd60e51b8152600401610436906114e7565b6104bf6009600a6114c1565b6104cd90633b9aca006114d0565b600e819055600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105026009600a6114c1565b61051090633b9aca006114d0565b60405190815260200160405180910390a1565b6000610378338484610a10565b6000546001600160a01b0316331461055a5760405162461bcd60e51b8152600401610436906114e7565b600d54600160a01b900460ff16156105b45760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610436565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fd9030906105ef6009600a6114c1565b6103fd90633b9aca006114d0565b600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610650573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610674919061152c565b6001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa919061152c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b919061152c565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306107b3816001600160a01b031660009081526009602052604090205490565b6000806107c86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610830573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108559190611549565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611577565b50600d805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b03831661094e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610436565b6001600160a01b0382166109af5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610436565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610436565b6001600160a01b038216610ad65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610436565b60008111610b385760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610436565b600080546001600160a01b03858116911614801590610b6557506000546001600160a01b03848116911614155b8015610b8a57506001600160a01b0384166000908152600b602052604090205460ff16155b15610ded57610bbb6064610bb560055460085411610baa57600154610bae565b6003545b8590610f52565b90610fdd565b600d549091506001600160a01b038581169116148015610be95750600c546001600160a01b03848116911614155b8015610c0e57506001600160a01b0383166000908152600b602052604090205460ff16155b15610cef57600e54821115610c5e5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2a3c29b4bd329760511b6044820152606401610436565b600f5482610c81856001600160a01b031660009081526009602052604090205490565b610c8b9190611599565b1115610cd95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610436565b60088054906000610ce9836115ac565b91905055505b600d546001600160a01b038481169116148015610d1557506001600160a01b0384163014155b15610d4257610d3f6064610bb560065460085411610d3557600254610bae565b6004548590610f52565b90505b30600090815260096020526040902054600d54600160a81b900460ff16158015610d795750600d546001600160a01b038581169116145b8015610d8e5750600d54600160b01b900460ff165b8015610d9b575060105481115b8015610daa5750600754600854115b8015610db7575060105483115b15610deb57610dd9610dd484610dcf8460115461101f565b61101f565b611034565b478015610de957610de9476111ae565b505b505b8015610e8b5730600090815260096020526040902054610e0d90826111ec565b30600090815260096020526040808220929092556001600160a01b03861681522054610e39908361124b565b6001600160a01b038516600081815260096020908152604091829020939093555183815230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b610eb7610e98838361124b565b6001600160a01b038516600090815260096020526040902054906111ec565b6001600160a01b0380851660008181526009602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f01858561124b565b60405190815260200160405180910390a350505050565b60008184841115610f3c5760405162461bcd60e51b8152600401610436919061129e565b506000610f4984866115c5565b95945050505050565b600082600003610f645750600061037c565b6000610f7083856114d0565b905082610f7d85836115d8565b14610fd65760405162461bcd60e51b8152602060048201526024808201527f536166654c6962726172793a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b6064820152608401610436565b9392505050565b6000610fd683836040518060400160405280601d81526020017f536166654c6962726172793a206469766973696f6e206279207a65726f000000815250611270565b600081831161102e5782610fd6565b50919050565b600d805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061107c5761107c6115fa565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f9919061152c565b8160018151811061110c5761110c6115fa565b6001600160a01b039283166020918202929092010152600c5461113291309116846108ec565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061116b908590600090869030904290600401611610565b600060405180830381600087803b15801561118557600080fd5b505af1158015611199573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111e8573d6000803e3d6000fd5b5050565b6000806111f98385611599565b905083811015610fd65760405162461bcd60e51b815260206004820152601e60248201527f536166654c6962726172793a206164646974696f6e206f766572666c6f7700006044820152606401610436565b6000610fd6838360405180606001604052806021815260200161168260219139610f18565b600081836112915760405162461bcd60e51b8152600401610436919061129e565b506000610f4984866115d8565b600060208083528351808285015260005b818110156112cb578581018301518582016040015282016112af565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461130157600080fd5b50565b6000806040838503121561131757600080fd5b8235611322816112ec565b946020939093013593505050565b60008060006060848603121561134557600080fd5b8335611350816112ec565b92506020840135611360816112ec565b929592945050506040919091013590565b60006020828403121561138357600080fd5b8135610fd6816112ec565b600080604083850312156113a157600080fd5b82356113ac816112ec565b915060208301356113bc816112ec565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114185781600019048211156113fe576113fe6113c7565b8085161561140b57918102915b93841c93908002906113e2565b509250929050565b60008261142f5750600161037c565b8161143c5750600061037c565b8160018114611452576002811461145c57611478565b600191505061037c565b60ff84111561146d5761146d6113c7565b50506001821b61037c565b5060208310610133831016604e8410600b841016171561149b575081810a61037c565b6114a583836113dd565b80600019048211156114b9576114b96113c7565b029392505050565b6000610fd660ff841683611420565b808202811582820484141761037c5761037c6113c7565b60208082526025908201527f41757468656e7469636174653a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b60006020828403121561153e57600080fd5b8151610fd6816112ec565b60008060006060848603121561155e57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561158957600080fd5b81518015158114610fd657600080fd5b8082018082111561037c5761037c6113c7565b6000600182016115be576115be6113c7565b5060010190565b8181038181111561037c5761037c6113c7565b6000826115f557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116605784516001600160a01b03168352938301939183019160010161163b565b50506001600160a01b0396909616606085015250505060800152939250505056fe536166654c6962726172793a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200d4e08132419d008ae95fbb92eac40ea79869d4b06e4a98d397a80929c1e6c9664736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063751039fc11610095578063a9059cbb11610064578063a9059cbb146102c4578063bff4be30146102e4578063c9567bf9146102fa578063dd62ed3e1461030f578063f8b45b051461035557600080fd5b8063751039fc146102435780637e150d66146102585780638da5cb5b1461026e57806395d89b411461029657600080fd5b806323b872dd116100d157806323b872dd146101ba578063313ce567146101da57806370a08231146101f6578063715018a61461022c57600080fd5b806306fdde031461010e578063095ea7b3146101515780630e5a92311461018157806318160ddd146101a557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820190915260088152675375646f20496e7560c01b60208201525b604051610148919061129e565b60405180910390f35b34801561015d57600080fd5b5061017161016c366004611304565b61036b565b6040519015158152602001610148565b34801561018d57600080fd5b5061019760105481565b604051908152602001610148565b3480156101b157600080fd5b50610197610382565b3480156101c657600080fd5b506101716101d5366004611330565b6103a3565b3480156101e657600080fd5b5060405160098152602001610148565b34801561020257600080fd5b50610197610211366004611371565b6001600160a01b031660009081526009602052604090205490565b34801561023857600080fd5b5061024161040c565b005b34801561024f57600080fd5b50610241610489565b34801561026457600080fd5b50610197600e5481565b34801561027a57600080fd5b506000546040516001600160a01b039091168152602001610148565b3480156102a257600080fd5b50604080518082019091526005815264534e41434b60d81b602082015261013b565b3480156102d057600080fd5b506101716102df366004611304565b610523565b3480156102f057600080fd5b5061019760115481565b34801561030657600080fd5b50610241610530565b34801561031b57600080fd5b5061019761032a36600461138e565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561036157600080fd5b50610197600f5481565b60006103783384846108ec565b5060015b92915050565b60006103906009600a6114c1565b61039e90633b9aca006114d0565b905090565b60006103b0848484610a10565b61040284336103fd856040518060600160405280602881526020016116a3602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190610f18565b6108ec565b5060019392505050565b6000546001600160a01b0316331461043f5760405162461bcd60e51b8152600401610436906114e7565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b35760405162461bcd60e51b8152600401610436906114e7565b6104bf6009600a6114c1565b6104cd90633b9aca006114d0565b600e819055600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105026009600a6114c1565b61051090633b9aca006114d0565b60405190815260200160405180910390a1565b6000610378338484610a10565b6000546001600160a01b0316331461055a5760405162461bcd60e51b8152600401610436906114e7565b600d54600160a01b900460ff16156105b45760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610436565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fd9030906105ef6009600a6114c1565b6103fd90633b9aca006114d0565b600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610650573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610674919061152c565b6001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa919061152c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b919061152c565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306107b3816001600160a01b031660009081526009602052604090205490565b6000806107c86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610830573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108559190611549565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611577565b50600d805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b03831661094e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610436565b6001600160a01b0382166109af5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610436565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610436565b6001600160a01b038216610ad65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610436565b60008111610b385760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610436565b600080546001600160a01b03858116911614801590610b6557506000546001600160a01b03848116911614155b8015610b8a57506001600160a01b0384166000908152600b602052604090205460ff16155b15610ded57610bbb6064610bb560055460085411610baa57600154610bae565b6003545b8590610f52565b90610fdd565b600d549091506001600160a01b038581169116148015610be95750600c546001600160a01b03848116911614155b8015610c0e57506001600160a01b0383166000908152600b602052604090205460ff16155b15610cef57600e54821115610c5e5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2a3c29b4bd329760511b6044820152606401610436565b600f5482610c81856001600160a01b031660009081526009602052604090205490565b610c8b9190611599565b1115610cd95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610436565b60088054906000610ce9836115ac565b91905055505b600d546001600160a01b038481169116148015610d1557506001600160a01b0384163014155b15610d4257610d3f6064610bb560065460085411610d3557600254610bae565b6004548590610f52565b90505b30600090815260096020526040902054600d54600160a81b900460ff16158015610d795750600d546001600160a01b038581169116145b8015610d8e5750600d54600160b01b900460ff165b8015610d9b575060105481115b8015610daa5750600754600854115b8015610db7575060105483115b15610deb57610dd9610dd484610dcf8460115461101f565b61101f565b611034565b478015610de957610de9476111ae565b505b505b8015610e8b5730600090815260096020526040902054610e0d90826111ec565b30600090815260096020526040808220929092556001600160a01b03861681522054610e39908361124b565b6001600160a01b038516600081815260096020908152604091829020939093555183815230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b610eb7610e98838361124b565b6001600160a01b038516600090815260096020526040902054906111ec565b6001600160a01b0380851660008181526009602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f01858561124b565b60405190815260200160405180910390a350505050565b60008184841115610f3c5760405162461bcd60e51b8152600401610436919061129e565b506000610f4984866115c5565b95945050505050565b600082600003610f645750600061037c565b6000610f7083856114d0565b905082610f7d85836115d8565b14610fd65760405162461bcd60e51b8152602060048201526024808201527f536166654c6962726172793a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b6064820152608401610436565b9392505050565b6000610fd683836040518060400160405280601d81526020017f536166654c6962726172793a206469766973696f6e206279207a65726f000000815250611270565b600081831161102e5782610fd6565b50919050565b600d805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061107c5761107c6115fa565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f9919061152c565b8160018151811061110c5761110c6115fa565b6001600160a01b039283166020918202929092010152600c5461113291309116846108ec565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061116b908590600090869030904290600401611610565b600060405180830381600087803b15801561118557600080fd5b505af1158015611199573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111e8573d6000803e3d6000fd5b5050565b6000806111f98385611599565b905083811015610fd65760405162461bcd60e51b815260206004820152601e60248201527f536166654c6962726172793a206164646974696f6e206f766572666c6f7700006044820152606401610436565b6000610fd6838360405180606001604052806021815260200161168260219139610f18565b600081836112915760405162461bcd60e51b8152600401610436919061129e565b506000610f4984866115d8565b600060208083528351808285015260005b818110156112cb578581018301518582016040015282016112af565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461130157600080fd5b50565b6000806040838503121561131757600080fd5b8235611322816112ec565b946020939093013593505050565b60008060006060848603121561134557600080fd5b8335611350816112ec565b92506020840135611360816112ec565b929592945050506040919091013590565b60006020828403121561138357600080fd5b8135610fd6816112ec565b600080604083850312156113a157600080fd5b82356113ac816112ec565b915060208301356113bc816112ec565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114185781600019048211156113fe576113fe6113c7565b8085161561140b57918102915b93841c93908002906113e2565b509250929050565b60008261142f5750600161037c565b8161143c5750600061037c565b8160018114611452576002811461145c57611478565b600191505061037c565b60ff84111561146d5761146d6113c7565b50506001821b61037c565b5060208310610133831016604e8410600b841016171561149b575081810a61037c565b6114a583836113dd565b80600019048211156114b9576114b96113c7565b029392505050565b6000610fd660ff841683611420565b808202811582820484141761037c5761037c6113c7565b60208082526025908201527f41757468656e7469636174653a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b60006020828403121561153e57600080fd5b8151610fd6816112ec565b60008060006060848603121561155e57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561158957600080fd5b81518015158114610fd657600080fd5b8082018082111561037c5761037c6113c7565b6000600182016115be576115be6113c7565b5060010190565b8181038181111561037c5761037c6113c7565b6000826115f557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116605784516001600160a01b03168352938301939183019160010161163b565b50506001600160a01b0396909616606085015250505060800152939250505056fe536166654c6962726172793a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200d4e08132419d008ae95fbb92eac40ea79869d4b06e4a98d397a80929c1e6c9664736f6c63430008130033

Deployed Bytecode Sourcemap

3677:6791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5359:83;;;;;;;;;;-1:-1:-1;5429:5:0;;;;;;;;;;;;-1:-1:-1;;;5429:5:0;;;;5359:83;;;;;;;:::i;:::-;;;;;;;;5867:161;;;;;;;;;;-1:-1:-1;5867:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5867:161:0;1023:187:1;4766:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4766:54:0;1215:177:1;5636:96:0;;;;;;;;;;;;;:::i;8939:313::-;;;;;;;;;;-1:-1:-1;8939:313:0;;;;;:::i;:::-;;:::i;5545:83::-;;;;;;;;;;-1:-1:-1;5545:83:0;;3804:1;2000:36:1;;1988:2;1973:18;5545:83:0;1858:184:1;5740:119:0;;;;;;;;;;-1:-1:-1;5740:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5833:18:0;5806:7;5833:18;;;:9;:18;;;;;;;5740:119;2094:148;;;;;;;;;;;;;:::i;:::-;;6575:138;;;;;;;;;;;;;:::i;4644:54::-;;;;;;;;;;;;;;;;1875:79;;;;;;;;;;-1:-1:-1;1913:7:0;1940:6;1875:79;;-1:-1:-1;;;;;1940:6:0;;;2445:51:1;;2433:2;2418:18;1875:79:0;2299:203:1;5450:87:0;;;;;;;;;;-1:-1:-1;5522:7:0;;;;;;;;;;;;-1:-1:-1;;;5522:7:0;;;;5450:87;;8766:167;;;;;;;;;;-1:-1:-1;8766:167:0;;;;;:::i;:::-;;:::i;4827:48::-;;;;;;;;;;;;;;;;9731:615;;;;;;;;;;;;;:::i;6077:143::-;;;;;;;;;;-1:-1:-1;6077:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6185:18:0;;;6158:7;6185:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6077:143;4705:54;;;;;;;;;;;;;;;;5867:161;5942:4;5959:39;369:10;5982:7;5991:6;5959:8;:39::i;:::-;-1:-1:-1;6016:4:0;5867:161;;;;;:::o;5636:96::-;5689:7;3858:13;3804:1;3858:2;:13;:::i;:::-;3848:23;;:7;:23;:::i;:::-;5709:15;;5636:96;:::o;8939:313::-;9037:4;9054:36;9064:6;9072:9;9083:6;9054:9;:36::i;:::-;9101:121;9110:6;369:10;9132:89;9170:6;9132:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9132:19:0;;;;;;:11;:19;;;;;;;;369:10;9132:33;;;;;;;;;;:37;:89::i;:::-;9101:8;:121::i;:::-;-1:-1:-1;9240:4:0;8939:313;;;;;:::o;2094:148::-;2002:6;;-1:-1:-1;;;;;2002:6:0;369:10;2002:22;1994:72;;;;-1:-1:-1;;;1994:72:0;;;;;;;:::i;:::-;;;;;;;;;2201:1:::1;2185:6:::0;;2164:40:::1;::::0;-1:-1:-1;;;;;2185:6:0;;::::1;::::0;2164:40:::1;::::0;2201:1;;2164:40:::1;2232:1;2215:19:::0;;-1:-1:-1;;;;;;2215:19:0::1;::::0;;2094:148::o;6575:138::-;2002:6;;-1:-1:-1;;;;;2002:6:0;369:10;2002:22;1994:72;;;;-1:-1:-1;;;1994:72:0;;;;;;;:::i;:::-;3858:13:::1;3804:1;3858:2;:13;:::i;:::-;3848:23;::::0;:7:::1;:23;:::i;:::-;6641:9;:20:::0;;;6629:9:::1;:32:::0;6677:28:::1;3858:13;3804:1;3858:2;:13;:::i;:::-;3848:23;::::0;:7:::1;:23;:::i;:::-;6677:28;::::0;1361:25:1;;;1349:2;1334:18;6677:28:0::1;;;;;;;6575:138::o:0;8766:167::-;8844:4;8861:42;369:10;8885:9;8896:6;8861:9;:42::i;9731:615::-;2002:6;;-1:-1:-1;;;;;2002:6:0;369:10;2002:22;1994:72;;;;-1:-1:-1;;;1994:72:0;;;;;;;:::i;:::-;9795:8:::1;::::0;-1:-1:-1;;;9795:8:0;::::1;;;9794:9;9786:45;;;::::0;-1:-1:-1;;;9786:45:0;;5196:2:1;9786:45:0::1;::::0;::::1;5178:21:1::0;5235:2;5215:18;;;5208:30;5274:25;5254:18;;;5247:53;5317:18;;9786:45:0::1;4994:347:1::0;9786:45:0::1;9842:8;:62:::0;;-1:-1:-1;;;;;;9842:62:0::1;9861:42;9842:62:::0;;::::1;::::0;;;9915:52:::1;::::0;9932:4:::1;::::0;3858:13:::1;3804:1;3858:2;:13;:::i;:::-;3848:23;::::0;:7:::1;:23;:::i;9915:52::-;10009:8;;;;;;;;;-1:-1:-1::0;;;;;10009:8:0::1;-1:-1:-1::0;;;;;10009:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9993:46:0::1;;10048:4;10055:8;;;;;;;;;-1:-1:-1::0;;;;;10055:8:0::1;-1:-1:-1::0;;;;;10055:13:0::1;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9993:78;::::0;-1:-1:-1;;;;;;9993:78:0::1;::::0;;;;;;-1:-1:-1;;;;;5832:15:1;;;9993:78:0::1;::::0;::::1;5814:34:1::0;5884:15;;5864:18;;;5857:43;5749:18;;9993:78:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9978:12;:93:::0;;-1:-1:-1;;;;;9978:93:0;;::::1;-1:-1:-1::0;;;;;;9978:93:0;;::::1;;::::0;;10082:8:::1;::::0;::::1;:24;10114:21;10145:4;10152:24;10145:4:::0;-1:-1:-1;;;;;5833:18:0;5806:7;5833:18;;;:9;:18;;;;;;;5740:119;10152:24:::1;10178:1;10181::::0;10184:7:::1;1913::::0;1940:6;-1:-1:-1;;;;;1940:6:0;;1875:79;10184:7:::1;10082:127;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10082:127:0;;;-1:-1:-1;;;;;6270:15:1;;;10082:127:0::1;::::0;::::1;6252:34:1::0;6302:18;;;6295:34;;;;6345:18;;;6338:34;;;;6388:18;;;6381:34;6452:15;;;6431:19;;;6424:44;10193:15:0::1;6484:19:1::0;;;6477:35;6186:19;;10082:127:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10227:12:0::1;::::0;10257:8:::1;::::0;10220:63:::1;::::0;-1:-1:-1;;;10220:63:0;;-1:-1:-1;;;;;10257:8:0;;::::1;10220:63;::::0;::::1;7008:51:1::0;-1:-1:-1;;7075:18:1;;;7068:34;10227:12:0;::::1;::::0;-1:-1:-1;10220:28:0::1;::::0;6981:18:1;;10220:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10294:11:0::1;:18:::0;;-1:-1:-1;;;;10323:15:0;-1:-1:-1;;;10323:15:0;;;9731:615::o;6232:335::-;-1:-1:-1;;;;;6325:19:0;;6317:68;;;;-1:-1:-1;;;6317:68:0;;7597:2:1;6317:68:0;;;7579:21:1;7636:2;7616:18;;;7609:30;7675:34;7655:18;;;7648:62;-1:-1:-1;;;7726:18:1;;;7719:34;7770:19;;6317:68:0;7395:400:1;6317:68:0;-1:-1:-1;;;;;6404:21:0;;6396:68;;;;-1:-1:-1;;;6396:68:0;;8002:2:1;6396:68:0;;;7984:21:1;8041:2;8021:18;;;8014:30;8080:34;8060:18;;;8053:62;-1:-1:-1;;;8131:18:1;;;8124:32;8173:19;;6396:68:0;7800:398:1;6396:68:0;-1:-1:-1;;;;;6475:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6527:32;;1361:25:1;;;6527:32:0;;1334:18:1;6527:32:0;;;;;;;6232:335;;;:::o;6840:1914::-;-1:-1:-1;;;;;6928:18:0;;6920:68;;;;-1:-1:-1;;;6920:68:0;;8405:2:1;6920:68:0;;;8387:21:1;8444:2;8424:18;;;8417:30;8483:34;8463:18;;;8456:62;-1:-1:-1;;;8534:18:1;;;8527:35;8579:19;;6920:68:0;8203:401:1;6920:68:0;-1:-1:-1;;;;;7007:16:0;;6999:64;;;;-1:-1:-1;;;6999:64:0;;8811:2:1;6999:64:0;;;8793:21:1;8850:2;8830:18;;;8823:30;8889:34;8869:18;;;8862:62;-1:-1:-1;;;8940:18:1;;;8933:33;8983:19;;6999:64:0;8609:399:1;6999:64:0;7091:1;7082:6;:10;7074:64;;;;-1:-1:-1;;;7074:64:0;;9215:2:1;7074:64:0;;;9197:21:1;9254:2;9234:18;;;9227:30;9293:34;9273:18;;;9266:62;-1:-1:-1;;;9344:18:1;;;9337:39;9393:19;;7074:64:0;9013:405:1;7074:64:0;7149:17;1940:6;;-1:-1:-1;;;;;7185:15:0;;;1940:6;;7185:15;;;;:32;;-1:-1:-1;1913:7:0;1940:6;-1:-1:-1;;;;;7204:13:0;;;1940:6;;7204:13;;7185:32;:55;;;;-1:-1:-1;;;;;;7222:18:0;;;;;;:12;:18;;;;;;;;7221:19;7185:55;7181:1204;;;7269:80;7345:3;7269:71;7291:15;;7281:7;;:25;7280:59;;7325:14;;7280:59;;;7310:12;;7280:59;7269:6;;:10;:71::i;:::-;:75;;:80::i;:::-;7378:12;;7257:92;;-1:-1:-1;;;;;;7370:20:0;;;7378:12;;7370:20;:47;;;;-1:-1:-1;7408:8:0;;-1:-1:-1;;;;;7394:23:0;;;7408:8;;7394:23;;7370:47;:68;;;;-1:-1:-1;;;;;;7422:16:0;;;;;;:12;:16;;;;;;;;7421:17;7370:68;7366:284;;;7477:9;;7467:6;:19;;7459:54;;;;-1:-1:-1;;;7459:54:0;;9625:2:1;7459:54:0;;;9607:21:1;9664:2;9644:18;;;9637:30;-1:-1:-1;;;9683:18:1;;;9676:52;9745:18;;7459:54:0;9423:346:1;7459:54:0;7566:9;;7556:6;7540:13;7550:2;-1:-1:-1;;;;;5833:18:0;5806:7;5833:18;;;:9;:18;;;;;;;5740:119;7540:13;:22;;;;:::i;:::-;:35;;7532:74;;;;-1:-1:-1;;;7532:74:0;;10106:2:1;7532:74:0;;;10088:21:1;10145:2;10125:18;;;10118:30;10184:28;10164:18;;;10157:56;10230:18;;7532:74:0;9904:350:1;7532:74:0;7625:7;:9;;;:7;:9;;;:::i;:::-;;;;;;7366:284;7676:12;;-1:-1:-1;;;;;7670:18:0;;;7676:12;;7670:18;:43;;;;-1:-1:-1;;;;;;7692:21:0;;7708:4;7692:21;;7670:43;7666:177;;;7746:81;7823:3;7746:72;7766:16;;7758:7;;:24;7757:60;;7802:15;;7757:60;;;7786:13;;7746:6;;:10;:72::i;:81::-;7734:93;;7666:177;7908:4;7859:28;5833:18;;;:9;:18;;;;;;7934:8;;-1:-1:-1;;;7934:8:0;;;;7933:9;:31;;;;-1:-1:-1;7952:12:0;;-1:-1:-1;;;;;7946:18:0;;;7952:12;;7946:18;7933:31;:46;;;;-1:-1:-1;7968:11:0;;-1:-1:-1;;;7968:11:0;;;;7933:46;:87;;;;;8006:14;;7983:20;:37;7933:87;:119;;;;;8034:18;;8024:7;;:28;7933:119;:146;;;;;8065:14;;8056:6;:23;7933:146;7929:445;;;8100:59;8110:48;8114:6;8122:35;8126:20;8148:8;;8122:3;:35::i;:::-;8110:3;:48::i;:::-;8100:9;:59::i;:::-;8207:21;8250:22;;8247:112;;8297:42;8317:21;8297:19;:42::i;:::-;8081:293;7929:445;7242:1143;7181:1204;8401:13;;8397:226;;8474:4;8456:24;;;;:9;:24;;;;;;:39;;8485:9;8456:28;:39::i;:::-;8447:4;8429:24;;;;:9;:24;;;;;;:66;;;;-1:-1:-1;;;;;8526:15:0;;;;;;:27;;8546:6;8526:19;:27::i;:::-;-1:-1:-1;;;;;8508:15:0;;;;;;:9;:15;;;;;;;;;:45;;;;8571:40;1361:25:1;;;8594:4:0;;8571:40;;1334:18:1;8571:40:0;;;;;;;8397:226;8649:40;8667:21;:6;8678:9;8667:10;:21::i;:::-;-1:-1:-1;;;;;8649:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8633:13:0;;;;;;;:9;:13;;;;;:56;;;;8705:41;;;8724:21;:6;8735:9;8724:10;:21::i;:::-;8705:41;;1361:25:1;;;1349:2;1334:18;8705:41:0;;;;;;;6909:1845;6840:1914;;;:::o;758:190::-;844:7;880:12;872:6;;;;864:29;;;;-1:-1:-1;;;864:29:0;;;;;;;;:::i;:::-;-1:-1:-1;904:9:0;916:5;920:1;916;:5;:::i;:::-;904:17;758:190;-1:-1:-1;;;;;758:190:0:o;956:249::-;1014:7;1038:1;1043;1038:6;1034:47;;-1:-1:-1;1068:1:0;1061:8;;1034:47;1091:9;1103:5;1107:1;1103;:5;:::i;:::-;1091:17;-1:-1:-1;1136:1:0;1127:5;1131:1;1091:17;1127:5;:::i;:::-;:10;1119:59;;;;-1:-1:-1;;;1119:59:0;;10956:2:1;1119:59:0;;;10938:21:1;10995:2;10975:18;;;10968:30;11034:34;11014:18;;;11007:62;-1:-1:-1;;;11085:18:1;;;11078:34;11129:19;;1119:59:0;10754:400:1;1119:59:0;1196:1;956:249;-1:-1:-1;;;956:249:0:o;1213:135::-;1271:7;1298:42;1302:1;1305;1298:42;;;;;;;;;;;;;;;;;:3;:42::i;10358:105::-;10415:7;10445:1;10441;:5;10440:15;;10454:1;10440:15;;;-1:-1:-1;10450:1:0;10358:105;-1:-1:-1;10358:105:0:o;9264:455::-;5064:8;:15;;-1:-1:-1;;;;5064:15:0;-1:-1:-1;;;5064:15:0;;;9359:16:::1;::::0;;9373:1:::1;9359:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9359:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9359:16:0::1;9335:40;;9404:4;9386;9391:1;9386:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9386:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9430:8:::1;::::0;:15:::1;::::0;;-1:-1:-1;;;9430:15:0;;;;:8;;;::::1;::::0;:13:::1;::::0;:15:::1;::::0;;::::1;::::0;9386:7;;9430:15;;;;;:8;:15:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9420:4;9425:1;9420:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9420:25:0;;::::1;:7;::::0;;::::1;::::0;;;;;:25;9488:8:::1;::::0;9456:55:::1;::::0;9473:4:::1;::::0;9488:8:::1;9499:11:::0;9456:8:::1;:55::i;:::-;9522:8;::::0;:189:::1;::::0;-1:-1:-1;;;9522:189:0;;-1:-1:-1;;;;;9522:8:0;;::::1;::::0;:59:::1;::::0;:189:::1;::::0;9596:11;;9522:8:::1;::::0;9638:4;;9665::::1;::::0;9685:15:::1;::::0;9522:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5102:8:0;:16;;-1:-1:-1;;;;5102:16:0;;;-1:-1:-1;;;;9264:455:0:o;6725:103::-;6789:14;;:31;;-1:-1:-1;;;;;6789:14:0;;;;:31;;;;;6813:6;;6789:14;:31;:14;:31;6813:6;6789:14;:31;;;;;;;;;;;;;;;;;;;;;6725:103;:::o;421:182::-;479:7;;511:5;515:1;511;:5;:::i;:::-;499:17;;540:1;535;:6;;527:49;;;;-1:-1:-1;;;527:49:0;;12610:2:1;527:49:0;;;12592:21:1;12649:2;12629:18;;;12622:30;12688:32;12668:18;;;12661:60;12738:18;;527:49:0;12408:354:1;611:139:0;669:7;696:46;700:1;703;696:46;;;;;;;;;;;;;;;;;:3;:46::i;1356:189::-;1442:7;1477:12;1470:5;1462:28;;;;-1:-1:-1;;;1462:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1501:9:0;1513:5;1517:1;1513;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:401::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;-1:-1:-1;;;4934:2:1;4919:18;;4912:35;4979:3;4964:19;;4588:401::o;5346:251::-;5416:6;5469:2;5457:9;5448:7;5444:23;5440:32;5437:52;;;5485:1;5482;5475:12;5437:52;5517:9;5511:16;5536:31;5561:5;5536:31;:::i;6523:306::-;6611:6;6619;6627;6680:2;6668:9;6659:7;6655:23;6651:32;6648:52;;;6696:1;6693;6686:12;6648:52;6725:9;6719:16;6709:26;;6775:2;6764:9;6760:18;6754:25;6744:35;;6819:2;6808:9;6804:18;6798:25;6788:35;;6523:306;;;;;:::o;7113:277::-;7180:6;7233:2;7221:9;7212:7;7208:23;7204:32;7201:52;;;7249:1;7246;7239:12;7201:52;7281:9;7275:16;7334:5;7327:13;7320:21;7313:5;7310:32;7300:60;;7356:1;7353;7346:12;9774:125;9839:9;;;9860:10;;;9857:36;;;9873:18;;:::i;10259:135::-;10298:3;10319:17;;;10316:43;;10339:18;;:::i;:::-;-1:-1:-1;10386:1:1;10375:13;;10259:135::o;10399:128::-;10466:9;;;10487:11;;;10484:37;;;10501:18;;:::i;10532:217::-;10572:1;10598;10588:132;;10642:10;10637:3;10633:20;10630:1;10623:31;10677:4;10674:1;10667:15;10705:4;10702:1;10695:15;10588:132;-1:-1:-1;10734:9:1;;10532:217::o;11291:127::-;11352:10;11347:3;11343:20;11340:1;11333:31;11383:4;11380:1;11373:15;11407:4;11404:1;11397:15;11423:980;11685:4;11733:3;11722:9;11718:19;11764:6;11753:9;11746:25;11790:2;11828:6;11823:2;11812:9;11808:18;11801:34;11871:3;11866:2;11855:9;11851:18;11844:31;11895:6;11930;11924:13;11961:6;11953;11946:22;11999:3;11988:9;11984:19;11977:26;;12038:2;12030:6;12026:15;12012:29;;12059:1;12069:195;12083:6;12080:1;12077:13;12069:195;;;12148:13;;-1:-1:-1;;;;;12144:39:1;12132:52;;12239:15;;;;12204:12;;;;12180:1;12098:9;12069:195;;;-1:-1:-1;;;;;;;12320:32:1;;;;12315:2;12300:18;;12293:60;-1:-1:-1;;;12384:3:1;12369:19;12362:35;12281:3;11423:980;-1:-1:-1;;;11423:980:1:o

Swarm Source

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