ETH Price: $3,299.40 (-1.65%)

Token

Minnie Mouse Coin (MINNIE)
 

Overview

Max Total Supply

100,000,000,000 MINNIE

Holders

173

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,560,076,995.98931035874522901 MINNIE

Value
$0.00
0x54cf2fc9b1de5108645ff513f6c65570a4d0897d
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:
MINNIE

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-30
*/

/**
Twitter: https://twitter.com/MinnieMouseCoin
Telegram: https://t.me/MinnieMousePortal
Website: https://MinnieMouseCoin.xyz

⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣀⣀⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀
⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀
⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀
⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢀⣀⣀⣀⡀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣛⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇
⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡻⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀
⠀⠀⠀⠙⠛⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠟⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣋⢹⣿⡄⢸⢛⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⡟⠸⣿⡇⠀⢸⠀⢸⢹⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⡟⠁⠀⠀⠀⠸⠀⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⡟⣻⣿⠀⠀⠇⠀⠀⠀⠀⠈⠀⠙⣿⡿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⡿⠃⠙⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠁⠻⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0/0 TAX
Max Wallet 2%

***/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

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

contract Ownable {
    address private _owner;

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

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMath {

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

        return c;
    }
}

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

contract MINNIE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Minnie Mouse Coin";
    string private constant _symbol = "MINNIE";
    uint256 private constant _totalSupply = 100_000_000_000 * 10**18;
    uint256 public maxWalletlimit = 2_000_000_001 * 10**18; 
    uint256 public maxTxLimit = 2_000_000_001 * 10**18; 
    uint256 public minSwap = 10_000_000 * 10**18; 
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable public marketingWallet;
    bool public isOpen = false;
    mapping(address => bool) public _whiteList;
    mapping (address => bool) public _isBlacklisted;

    uint256 public buyTax;
    uint256 public sellTax;
    uint8 private inSwapAndLiquify;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 0;
        sellTax = 0;


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

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0xCbd8c57c337c868757BA66A98C2D7eDD078E3596);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(uniswapV2Router)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        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 ExcludeFromFees(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFees[holder] = exempt;
    }
    
    function RemoveLimits() external onlyOwner {
        maxWalletlimit = _totalSupply;
        maxTxLimit = _totalSupply;
    }
    

    function ChangeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 10, "Must keep fees at 10% or less");
        require(newSellTax <= 10, "Must keep fees at 10% or less");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    
    function ChangeMinSwap(uint256 NewMinSwapAmount) external onlyOwner {
        minSwap = NewMinSwapAmount * 10**18;
    }

    function ChangeMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWallet = payable(newAddress);
    }
    
    function EnableTrading() external onlyOwner {
        isOpen = true;
    }

    

    function includeToWhiteList(address[] memory _users) external onlyOwner {
        for(uint8 i = 0; i < _users.length; i++) {
            _whiteList[_users[i]] = true;
        }
    }
    
        
    function BlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = true;
      }
    }
     
    function UnBlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = false;
      }
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");
        require(isOpen || _whiteList[from] || _whiteList[to], "Not Open");
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "To/from address is blacklisted!");

        uint256 _tax;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            _tax = 0;
        } else {

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                require(balanceOf(to).add(amount) <= maxWalletlimit);
                require(amount <= maxTxLimit, "Buy transfer amount exceeds the maxTxLimit.");
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }
        


        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    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":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"BlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"ChangeMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"NewMinSwapAmount","type":"uint256"}],"name":"ChangeMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"UnBlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_whiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyTax","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[]","name":"_users","type":"address[]"}],"name":"includeToWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e06040526b06765c794d81b72d7764000060018190556002556a084595161401484a0000006003556004805460ff60a01b1916905534801562000041575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000fa919062000366565b6001600160a01b0390811660c0525f600781905560088190553381526005602090815260408083208054600160ff19918216811790925530855293829020805490941617909255608051825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa1580156200017b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a1919062000366565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af1158015620001f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000216919062000366565b6001600160a01b0390811660a052600480546001600160a01b03191673cbd8c57c337c868757ba66a98c2d7edd078e3596178155335f818152600a602090815260408083206c01431e0fae6d7217caa00000009055845486168352600c8252808320805460ff1990811660019081179092558585528285208054821683179055308086528386208054831684179055608051891680875284872080549093169093179091558452600b80845282852082865284528285205f199081905595855280845282852082865284528285208690559554909616835293815283822094825293909352912055620003063390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6c01431e0fae6d7217caa00000006040516200035891815260200190565b60405180910390a362000395565b5f6020828403121562000377575f80fd5b81516001600160a01b03811681146200038e575f80fd5b9392505050565b60805160a05160c0516116b7620003c75f395f610f9001525f8181610df20152610ecf01525f610feb01526116b75ff3fe6080604052600436106101c8575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d314610548578063d50a72a61461055d578063dd62ed3e1461057c578063f2fde38b146105c0575f80fd5b80638da5cb5b146104c057806395d89b41146104dc5780639d8f77061461050a578063a9059cbb14610529575f80fd5b806374233c06116100cd57806374233c061461044057806375f0a8741461045f5780638036d5901461049657806389e40cf9146104ab575f80fd5b806359cd9031146103e357806370a08231146103f8578063715018a61461042c575f80fd5b80631d97b7cd1161016857806347535d7b1161013857806347535d7b1461037b5780634f7041a51461039b5780635165943f146103b057806356cd40e7146103cf575f80fd5b80631d97b7cd1461030e57806323b872dd146103225780632f6bc9e714610341578063313ce56714610360575f80fd5b8063095ea7b3116101a3578063095ea7b3146102795780630b6bb6f51461029857806318160ddd146102b75780631cdd3be3146102e0575f80fd5b806305d2743f146101d357806305d60ffb146101f457806306fdde0314610237575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b506101f26101ed3660046112c4565b6105df565b005b3480156101ff575f80fd5b5061022261020e3660046112c4565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610242575f80fd5b5060408051808201909152601181527026b4b73734b29026b7bab9b29021b7b4b760791b60208201525b60405161022e91906112dd565b348015610284575f80fd5b50610222610293366004611329565b610616565b3480156102a3575f80fd5b506101f26102b2366004611365565b61062c565b3480156102c2575f80fd5b506c01431e0fae6d7217caa00000005b60405190815260200161022e565b3480156102eb575f80fd5b506102226102fa3660046112c4565b60066020525f908152604090205460ff1681565b348015610319575f80fd5b506101f26106b0565b34801561032d575f80fd5b5061022261033c366004611425565b6106da565b34801561034c575f80fd5b506101f261035b36600461145e565b61072a565b34801561036b575f80fd5b506040516012815260200161022e565b348015610386575f80fd5b5060045461022290600160a01b900460ff1681565b3480156103a6575f80fd5b506102d260075481565b3480156103bb575f80fd5b506101f26103ca36600461147e565b6107f1565b3480156103da575f80fd5b506101f261086f565b3480156103ee575f80fd5b506102d260035481565b348015610403575f80fd5b506102d26104123660046112c4565b6001600160a01b03165f908152600a602052604090205490565b348015610437575f80fd5b506101f261089c565b34801561044b575f80fd5b506101f261045a3660046114ed565b6108f9565b34801561046a575f80fd5b5060045461047e906001600160a01b031681565b6040516001600160a01b03909116815260200161022e565b3480156104a1575f80fd5b506102d260025481565b3480156104b6575f80fd5b506102d260015481565b3480156104cb575f80fd5b505f546001600160a01b031661047e565b3480156104e7575f80fd5b506040805180820190915260068152654d494e4e494560d01b602082015261026c565b348015610515575f80fd5b506101f2610524366004611504565b610926565b348015610534575f80fd5b50610222610543366004611329565b610965565b348015610553575f80fd5b506102d260085481565b348015610568575f80fd5b506101f261057736600461147e565b610971565b348015610587575f80fd5b506102d261059636600461153d565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b3480156105cb575f80fd5b506101f26105da3660046112c4565b6109eb565b5f546001600160a01b031633146105f4575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f610622338484610a0c565b5060015b92915050565b5f546001600160a01b03163314610641575f80fd5b5f5b81518160ff1610156106ac57600160055f848460ff16815181106106695761066961156e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806106a481611596565b915050610643565b5050565b5f546001600160a01b031633146106c5575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f6106e6848484610b2f565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461072091869161071b9086906115b4565b610a0c565b5060019392505050565b5f546001600160a01b0316331461073f575f80fd5b600a8211156107955760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107e65760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c657373000000604482015260640161078c565b600791909155600855565b5f546001600160a01b03163314610806575f80fd5b5f5b8181101561086a575f60065f8585858181106108265761082661156e565b905060200201602081019061083b91906112c4565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610808565b505050565b5f546001600160a01b03163314610884575f80fd5b6c01431e0fae6d7217caa00000006001819055600255565b5f546001600160a01b031633146108b1575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461090e575f80fd5b61092081670de0b6b3a76400006115c7565b60035550565b5f546001600160a01b0316331461093b575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f610622338484610b2f565b5f546001600160a01b03163314610986575f80fd5b5f5b8181101561086a57600160065f8585858181106109a7576109a761156e565b90506020020160208101906109bc91906112c4565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610988565b5f546001600160a01b03163314610a00575f80fd5b610a09816111d9565b50565b6001600160a01b038316610a6e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161078c565b6001600160a01b038216610acf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161078c565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161078c565b633b9aca008111610bd95760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b604482015260640161078c565b600454600160a01b900460ff1680610c0857506001600160a01b0383165f9081526005602052604090205460ff165b80610c2a57506001600160a01b0382165f9081526005602052604090205460ff165b610c615760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b604482015260640161078c565b6001600160a01b0383165f9081526006602052604090205460ff16158015610ca157506001600160a01b0382165f9081526006602052604090205460ff16155b610ced5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100604482015260640161078c565b6001600160a01b0383165f908152600c602052604081205460ff1680610d2a57506001600160a01b0383165f908152600c602052604090205460ff165b15610d3657505f61106e565b60095460ff16600103610df0576001600160a01b0384165f908152600a602052604081208054849290610d6a9084906115b4565b90915550506001600160a01b0383165f908152600a602052604081208054849290610d969084906115de565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610de291815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610ecd57600154610e5483610e4e866001600160a01b03165f908152600a602052604090205490565b90611244565b1115610e5e575f80fd5b600254821115610ec45760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b606482015260840161078c565b5060075461106e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361106b57305f908152600a602052604090205460035481118015610f29575060095460ff16155b15611061576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f6e57610f6e61156e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610fc257610fc261156e565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000084169363791ac947936110289388935f9389939216914291016115f1565b5f604051808303815f87803b15801561103f575f80fd5b505af1158015611051573d5f803e3d5ffd5b50506009805460ff191690555050505b505060085461106e565b505f5b80156111ac575f606461108183856115c7565b61108b9190611662565b90505f61109882856115b4565b6001600160a01b0387165f908152600a60205260408120805492935086929091906110c49084906115b4565b90915550506001600160a01b0385165f908152600a6020526040812080548392906110f09084906115de565b9091555050305f908152600a6020526040812080548492906111139084906115de565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161119d91815260200190565b60405180910390a350506111d3565b6001600160a01b0384165f908152600a602052604081208054849290610d6a9084906115b4565b50505050565b6001600160a01b0381166111eb575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061125083856115de565b9050838110156112a25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161078c565b9392505050565b80356001600160a01b03811681146112bf575f80fd5b919050565b5f602082840312156112d4575f80fd5b6112a2826112a9565b5f602080835283518060208501525f5b81811015611309578581018301518582016040015282016112ed565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561133a575f80fd5b611343836112a9565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611376575f80fd5b823567ffffffffffffffff8082111561138d575f80fd5b818501915085601f8301126113a0575f80fd5b8135818111156113b2576113b2611351565b8060051b604051601f19603f830116810181811085821117156113d7576113d7611351565b6040529182528482019250838101850191888311156113f4575f80fd5b938501935b828510156114195761140a856112a9565b845293850193928501926113f9565b98975050505050505050565b5f805f60608486031215611437575f80fd5b611440846112a9565b925061144e602085016112a9565b9150604084013590509250925092565b5f806040838503121561146f575f80fd5b50508035926020909101359150565b5f806020838503121561148f575f80fd5b823567ffffffffffffffff808211156114a6575f80fd5b818501915085601f8301126114b9575f80fd5b8135818111156114c7575f80fd5b8660208260051b85010111156114db575f80fd5b60209290920196919550909350505050565b5f602082840312156114fd575f80fd5b5035919050565b5f8060408385031215611515575f80fd5b61151e836112a9565b915060208301358015158114611532575f80fd5b809150509250929050565b5f806040838503121561154e575f80fd5b611557836112a9565b9150611565602084016112a9565b90509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff821660ff81036115ab576115ab611582565b60010192915050565b8181038181111561062657610626611582565b808202811582820484141761062657610626611582565b8082018082111561062657610626611582565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116415784516001600160a01b03168352938301939183019160010161161c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261167c57634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e7d5f2f36fedbb3e9bebad5c168be27d4dbb022613a70372d9aea92aa122a47664736f6c63430008160033

Deployed Bytecode

0x6080604052600436106101c8575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d314610548578063d50a72a61461055d578063dd62ed3e1461057c578063f2fde38b146105c0575f80fd5b80638da5cb5b146104c057806395d89b41146104dc5780639d8f77061461050a578063a9059cbb14610529575f80fd5b806374233c06116100cd57806374233c061461044057806375f0a8741461045f5780638036d5901461049657806389e40cf9146104ab575f80fd5b806359cd9031146103e357806370a08231146103f8578063715018a61461042c575f80fd5b80631d97b7cd1161016857806347535d7b1161013857806347535d7b1461037b5780634f7041a51461039b5780635165943f146103b057806356cd40e7146103cf575f80fd5b80631d97b7cd1461030e57806323b872dd146103225780632f6bc9e714610341578063313ce56714610360575f80fd5b8063095ea7b3116101a3578063095ea7b3146102795780630b6bb6f51461029857806318160ddd146102b75780631cdd3be3146102e0575f80fd5b806305d2743f146101d357806305d60ffb146101f457806306fdde0314610237575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b506101f26101ed3660046112c4565b6105df565b005b3480156101ff575f80fd5b5061022261020e3660046112c4565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610242575f80fd5b5060408051808201909152601181527026b4b73734b29026b7bab9b29021b7b4b760791b60208201525b60405161022e91906112dd565b348015610284575f80fd5b50610222610293366004611329565b610616565b3480156102a3575f80fd5b506101f26102b2366004611365565b61062c565b3480156102c2575f80fd5b506c01431e0fae6d7217caa00000005b60405190815260200161022e565b3480156102eb575f80fd5b506102226102fa3660046112c4565b60066020525f908152604090205460ff1681565b348015610319575f80fd5b506101f26106b0565b34801561032d575f80fd5b5061022261033c366004611425565b6106da565b34801561034c575f80fd5b506101f261035b36600461145e565b61072a565b34801561036b575f80fd5b506040516012815260200161022e565b348015610386575f80fd5b5060045461022290600160a01b900460ff1681565b3480156103a6575f80fd5b506102d260075481565b3480156103bb575f80fd5b506101f26103ca36600461147e565b6107f1565b3480156103da575f80fd5b506101f261086f565b3480156103ee575f80fd5b506102d260035481565b348015610403575f80fd5b506102d26104123660046112c4565b6001600160a01b03165f908152600a602052604090205490565b348015610437575f80fd5b506101f261089c565b34801561044b575f80fd5b506101f261045a3660046114ed565b6108f9565b34801561046a575f80fd5b5060045461047e906001600160a01b031681565b6040516001600160a01b03909116815260200161022e565b3480156104a1575f80fd5b506102d260025481565b3480156104b6575f80fd5b506102d260015481565b3480156104cb575f80fd5b505f546001600160a01b031661047e565b3480156104e7575f80fd5b506040805180820190915260068152654d494e4e494560d01b602082015261026c565b348015610515575f80fd5b506101f2610524366004611504565b610926565b348015610534575f80fd5b50610222610543366004611329565b610965565b348015610553575f80fd5b506102d260085481565b348015610568575f80fd5b506101f261057736600461147e565b610971565b348015610587575f80fd5b506102d261059636600461153d565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b3480156105cb575f80fd5b506101f26105da3660046112c4565b6109eb565b5f546001600160a01b031633146105f4575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f610622338484610a0c565b5060015b92915050565b5f546001600160a01b03163314610641575f80fd5b5f5b81518160ff1610156106ac57600160055f848460ff16815181106106695761066961156e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806106a481611596565b915050610643565b5050565b5f546001600160a01b031633146106c5575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f6106e6848484610b2f565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461072091869161071b9086906115b4565b610a0c565b5060019392505050565b5f546001600160a01b0316331461073f575f80fd5b600a8211156107955760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107e65760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c657373000000604482015260640161078c565b600791909155600855565b5f546001600160a01b03163314610806575f80fd5b5f5b8181101561086a575f60065f8585858181106108265761082661156e565b905060200201602081019061083b91906112c4565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610808565b505050565b5f546001600160a01b03163314610884575f80fd5b6c01431e0fae6d7217caa00000006001819055600255565b5f546001600160a01b031633146108b1575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461090e575f80fd5b61092081670de0b6b3a76400006115c7565b60035550565b5f546001600160a01b0316331461093b575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f610622338484610b2f565b5f546001600160a01b03163314610986575f80fd5b5f5b8181101561086a57600160065f8585858181106109a7576109a761156e565b90506020020160208101906109bc91906112c4565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610988565b5f546001600160a01b03163314610a00575f80fd5b610a09816111d9565b50565b6001600160a01b038316610a6e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161078c565b6001600160a01b038216610acf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161078c565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161078c565b633b9aca008111610bd95760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b604482015260640161078c565b600454600160a01b900460ff1680610c0857506001600160a01b0383165f9081526005602052604090205460ff165b80610c2a57506001600160a01b0382165f9081526005602052604090205460ff165b610c615760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b604482015260640161078c565b6001600160a01b0383165f9081526006602052604090205460ff16158015610ca157506001600160a01b0382165f9081526006602052604090205460ff16155b610ced5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c69737465642100604482015260640161078c565b6001600160a01b0383165f908152600c602052604081205460ff1680610d2a57506001600160a01b0383165f908152600c602052604090205460ff165b15610d3657505f61106e565b60095460ff16600103610df0576001600160a01b0384165f908152600a602052604081208054849290610d6a9084906115b4565b90915550506001600160a01b0383165f908152600a602052604081208054849290610d969084906115de565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610de291815260200190565b60405180910390a350505050565b7f00000000000000000000000015d34b0f71b6b763a9cafee5515537c42da14d936001600160a01b0316846001600160a01b031603610ecd57600154610e5483610e4e866001600160a01b03165f908152600a602052604090205490565b90611244565b1115610e5e575f80fd5b600254821115610ec45760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b606482015260840161078c565b5060075461106e565b7f00000000000000000000000015d34b0f71b6b763a9cafee5515537c42da14d936001600160a01b0316836001600160a01b03160361106b57305f908152600a602052604090205460035481118015610f29575060095460ff16155b15611061576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f6e57610f6e61156e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610fc257610fc261156e565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84169363791ac947936110289388935f9389939216914291016115f1565b5f604051808303815f87803b15801561103f575f80fd5b505af1158015611051573d5f803e3d5ffd5b50506009805460ff191690555050505b505060085461106e565b505f5b80156111ac575f606461108183856115c7565b61108b9190611662565b90505f61109882856115b4565b6001600160a01b0387165f908152600a60205260408120805492935086929091906110c49084906115b4565b90915550506001600160a01b0385165f908152600a6020526040812080548392906110f09084906115de565b9091555050305f908152600a6020526040812080548492906111139084906115de565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161119d91815260200190565b60405180910390a350506111d3565b6001600160a01b0384165f908152600a602052604081208054849290610d6a9084906115b4565b50505050565b6001600160a01b0381166111eb575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061125083856115de565b9050838110156112a25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161078c565b9392505050565b80356001600160a01b03811681146112bf575f80fd5b919050565b5f602082840312156112d4575f80fd5b6112a2826112a9565b5f602080835283518060208501525f5b81811015611309578581018301518582016040015282016112ed565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561133a575f80fd5b611343836112a9565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611376575f80fd5b823567ffffffffffffffff8082111561138d575f80fd5b818501915085601f8301126113a0575f80fd5b8135818111156113b2576113b2611351565b8060051b604051601f19603f830116810181811085821117156113d7576113d7611351565b6040529182528482019250838101850191888311156113f4575f80fd5b938501935b828510156114195761140a856112a9565b845293850193928501926113f9565b98975050505050505050565b5f805f60608486031215611437575f80fd5b611440846112a9565b925061144e602085016112a9565b9150604084013590509250925092565b5f806040838503121561146f575f80fd5b50508035926020909101359150565b5f806020838503121561148f575f80fd5b823567ffffffffffffffff808211156114a6575f80fd5b818501915085601f8301126114b9575f80fd5b8135818111156114c7575f80fd5b8660208260051b85010111156114db575f80fd5b60209290920196919550909350505050565b5f602082840312156114fd575f80fd5b5035919050565b5f8060408385031215611515575f80fd5b61151e836112a9565b915060208301358015158114611532575f80fd5b809150509250929050565b5f806040838503121561154e575f80fd5b611557836112a9565b9150611565602084016112a9565b90509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff821660ff81036115ab576115ab611582565b60010192915050565b8181038181111561062657610626611582565b808202811582820484141761062657610626611582565b8082018082111561062657610626611582565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116415784516001600160a01b03168352938301939183019160010161161c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261167c57634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e7d5f2f36fedbb3e9bebad5c168be27d4dbb022613a70372d9aea92aa122a47664736f6c63430008160033

Deployed Bytecode Sourcemap

5011:8256:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9780:135;;;;;;;;;;-1:-1:-1;9780:135:0;;;;;:::i;:::-;;:::i;:::-;;5693:42;;;;;;;;;;-1:-1:-1;5693:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;548:14:1;;541:22;523:41;;511:2;496:18;5693:42:0;;;;;;;;7225:83;;;;;;;;;;-1:-1:-1;7295:5:0;;;;;;;;;;;;-1:-1:-1;;;7295:5:0;;;;7225:83;;;;;;;:::i;8135:193::-;;;;;;;;;;-1:-1:-1;8135:193:0;;;;;:::i;:::-;;:::i;10019:186::-;;;;;;;;;;-1:-1:-1;10019:186:0;;;;;:::i;:::-;;:::i;7502:100::-;;;;;;;;;;-1:-1:-1;5248:24:0;7502:100;;;2791:25:1;;;2779:2;2764:18;7502:100:0;2645:177:1;5742:47:0;;;;;;;;;;-1:-1:-1;5742:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9927:76;;;;;;;;;;;;;:::i;8336:350::-;;;;;;;;;;-1:-1:-1;8336:350:0;;;;;:::i;:::-;;:::i;9356:282::-;;;;;;;;;;-1:-1:-1;9356:282:0;;;;;:::i;:::-;;:::i;7411:83::-;;;;;;;;;;-1:-1:-1;7411:83:0;;5486:2;3555:36:1;;3543:2;3528:18;7411:83:0;3413:184:1;5660:26:0;;;;;;;;;;-1:-1:-1;5660:26:0;;;;-1:-1:-1;;;5660:26:0;;;;;;5798:21;;;;;;;;;;;;;;;;10429:192;;;;;;;;;;-1:-1:-1;10429:192:0;;;;;:::i;:::-;;:::i;9215:127::-;;;;;;;;;;;;;:::i;5399:44::-;;;;;;;;;;;;;;;;7610:118;;;;;;;;;;-1:-1:-1;7610:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;7703:17:0;7676:7;7703:17;;;:8;:17;;;;;;;7610:118;3820:140;;;;;;;;;;;;;:::i;9650:122::-;;;;;;;;;;-1:-1:-1;9650:122:0;;;;;:::i;:::-;;:::i;5615:38::-;;;;;;;;;;-1:-1:-1;5615:38:0;;;;-1:-1:-1;;;;;5615:38:0;;;;;;-1:-1:-1;;;;;4587:32:1;;;4569:51;;4557:2;4542:18;5615:38:0;4407:219:1;5341:50:0;;;;;;;;;;;;;;;;5279:54;;;;;;;;;;;;;;;;3554:79;;;;;;;;;;-1:-1:-1;3592:7:0;3619:6;-1:-1:-1;;;;;3619:6:0;3554:79;;7316:87;;;;;;;;;;-1:-1:-1;7388:7:0;;;;;;;;;;;;-1:-1:-1;;;7388:7:0;;;;7316:87;;9075:128;;;;;;;;;;-1:-1:-1;9075:128:0;;;;;:::i;:::-;;:::i;7736:199::-;;;;;;;;;;-1:-1:-1;7736:199:0;;;;;:::i;:::-;;:::i;5826:22::-;;;;;;;;;;;;;;;;10227:189;;;;;;;;;;-1:-1:-1;10227:189:0;;;;;:::i;:::-;;:::i;7943:184::-;;;;;;;;;;-1:-1:-1;7943:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8092:18:0;;;8060:7;8092:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7943:184;3968:109;;;;;;;;;;-1:-1:-1;3968:109:0;;;;;:::i;:::-;;:::i;9780:135::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;9870:15:::1;:37:::0;;-1:-1:-1;;;;;;9870:37:0::1;-1:-1:-1::0;;;;;9870:37:0;;;::::1;::::0;;;::::1;::::0;;9780:135::o;8135:193::-;8237:4;8259:39;2463:10;8282:7;8291:6;8259:8;:39::i;:::-;-1:-1:-1;8316:4:0;8135:193;;;;;:::o;10019:186::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;10106:7:::1;10102:96;10123:6;:13;10119:1;:17;;;10102:96;;;10182:4;10158:10;:21;10169:6;10176:1;10169:9;;;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10158:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10158:21:0;:28;;-1:-1:-1;;10158:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10138:3;::::1;::::0;::::1;:::i;:::-;;;;10102:96;;;;10019:186:::0;:::o;9927:76::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;9982:6:::1;:13:::0;;-1:-1:-1;;;;9982:13:0::1;-1:-1:-1::0;;;9982:13:0::1;::::0;;9927:76::o;8336:350::-;8468:4;8485:36;8495:6;8503:9;8514:6;8485:9;:36::i;:::-;-1:-1:-1;;;;;8603:19:0;;;;;;:11;:19;;;;;;;;2463:10;8603:33;;;;;;;;;8532:124;;8555:6;;8603:42;;8639:6;;8603:42;:::i;:::-;8532:8;:124::i;:::-;-1:-1:-1;8674:4:0;8336:350;;;;;:::o;9356:282::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;9465:2:::1;9452:9;:15;;9444:57;;;::::0;-1:-1:-1;;;9444:57:0;;6235:2:1;9444:57:0::1;::::0;::::1;6217:21:1::0;6274:2;6254:18;;;6247:30;6313:31;6293:18;;;6286:59;6362:18;;9444:57:0::1;;;;;;;;;9534:2;9520:10;:16;;9512:58;;;::::0;-1:-1:-1;;;9512:58:0;;6235:2:1;9512:58:0::1;::::0;::::1;6217:21:1::0;6274:2;6254:18;;;6247:30;6313:31;6293:18;;;6286:59;6362:18;;9512:58:0::1;6033:353:1::0;9512:58:0::1;9581:6;:18:::0;;;;9610:7:::1;:20:::0;9356:282::o;10429:192::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;10519:9:::1;10514:100;10530:20:::0;;::::1;10514:100;;;10599:5;10568:14;:28;10583:9;;10593:1;10583:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10568:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10568:28:0;:36;;-1:-1:-1;;10568:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10552:3:0::1;10514:100;;;;10429:192:::0;;:::o;9215:127::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;5248:24:::1;9269:14;:29:::0;;;9309:10:::1;:25:::0;9215:127::o;3820:140::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;3919:1:::1;3903:6:::0;;3882:40:::1;::::0;-1:-1:-1;;;;;3903:6:0;;::::1;::::0;3882:40:::1;::::0;3919:1;;3882:40:::1;3950:1;3933:19:::0;;-1:-1:-1;;;;;;3933:19:0::1;::::0;;3820:140::o;9650:122::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;9739:25:::1;:16:::0;9758:6:::1;9739:25;:::i;:::-;9729:7;:35:::0;-1:-1:-1;9650:122:0:o;9075:128::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;-1:-1:-1;;;;;9159:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;9159:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9075:128::o;7736:199::-;7841:4;7863:42;2463:10;7887:9;7898:6;7863:9;:42::i;10227:189::-;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;10315:9:::1;10310:99;10326:20:::0;;::::1;10310:99;;;10395:4;10364:14;:28;10379:9;;10389:1;10379:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10364:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10364:28:0;:35;;-1:-1:-1;;10364:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10348:3:0::1;10310:99;;3968:109:::0;3760:4;3798:6;-1:-1:-1;;;;;3798:6:0;3784:10;:20;3673:18;;;;;;4041:28:::1;4060:8;4041:18;:28::i;:::-;3968:109:::0;:::o;8694:369::-;-1:-1:-1;;;;;8821:19:0;;8813:68;;;;-1:-1:-1;;;8813:68:0;;6766:2:1;8813:68:0;;;6748:21:1;6805:2;6785:18;;;6778:30;6844:34;6824:18;;;6817:62;-1:-1:-1;;;6895:18:1;;;6888:34;6939:19;;8813:68:0;6564:400:1;8813:68:0;-1:-1:-1;;;;;8900:21:0;;8892:68;;;;-1:-1:-1;;;8892:68:0;;7171:2:1;8892:68:0;;;7153:21:1;7210:2;7190:18;;;7183:30;7249:34;7229:18;;;7222:62;-1:-1:-1;;;7300:18:1;;;7293:32;7342:19;;8892:68:0;6969:398:1;8892:68:0;-1:-1:-1;;;;;8971:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9023:32;;2791:25:1;;;9023:32:0;;2764:18:1;9023:32:0;;;;;;;8694:369;;;:::o;10629:2598::-;-1:-1:-1;;;;;10751:18:0;;10743:68;;;;-1:-1:-1;;;10743:68:0;;7574:2:1;10743:68:0;;;7556:21:1;7613:2;7593:18;;;7586:30;7652:34;7632:18;;;7625:62;-1:-1:-1;;;7703:18:1;;;7696:35;7748:19;;10743:68:0;7372:401:1;10743:68:0;10839:3;10830:6;:12;10822:41;;;;-1:-1:-1;;;10822:41:0;;7980:2:1;10822:41:0;;;7962:21:1;8019:2;7999:18;;;7992:30;-1:-1:-1;;;8038:18:1;;;8031:46;8094:18;;10822:41:0;7778:340:1;10822:41:0;10882:6;;-1:-1:-1;;;10882:6:0;;;;;:26;;-1:-1:-1;;;;;;10892:16:0;;;;;;:10;:16;;;;;;;;10882:26;:44;;;-1:-1:-1;;;;;;10912:14:0;;;;;;:10;:14;;;;;;;;10882:44;10874:65;;;;-1:-1:-1;;;10874:65:0;;8325:2:1;10874:65:0;;;8307:21:1;8364:1;8344:18;;;8337:29;-1:-1:-1;;;8382:18:1;;;8375:38;8430:18;;10874:65:0;8123:331:1;10874:65:0;-1:-1:-1;;;;;10959:20:0;;;;;;:14;:20;;;;;;;;10958:21;:44;;;;-1:-1:-1;;;;;;10984:18:0;;;;;;:14;:18;;;;;;;;10983:19;10958:44;10950:88;;;;-1:-1:-1;;;10950:88:0;;8661:2:1;10950:88:0;;;8643:21:1;8700:2;8680:18;;;8673:30;8739:33;8719:18;;;8712:61;8790:18;;10950:88:0;8459:355:1;10950:88:0;-1:-1:-1;;;;;11078:25:0;;11051:12;11078:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;11107:23:0;;;;;;:19;:23;;;;;;;;11078:52;11074:1484;;;-1:-1:-1;11154:1:0;11074:1484;;;11194:16;;;;;:21;11190:239;;-1:-1:-1;;;;;11271:14:0;;;;;;:8;:14;;;;;:24;;11289:6;;11271:14;:24;;11289:6;;11271:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11314:12:0;;;;;;:8;:12;;;;;:22;;11330:6;;11314:12;:22;;11330:6;;11314:22;:::i;:::-;;;;;;;;11377:2;-1:-1:-1;;;;;11362:26:0;11371:4;-1:-1:-1;;;;;11362:26:0;;11381:6;11362:26;;;;2791:25:1;;2779:2;2764:18;;2645:177;11362:26:0;;;;;;;;11407:7;10629:2598;;;:::o;11190:239::-;11457:13;-1:-1:-1;;;;;11449:21:0;:4;-1:-1:-1;;;;;11449:21:0;;11445:1102;;11528:14;;11499:25;11517:6;11499:13;11509:2;-1:-1:-1;;;;;7703:17:0;7676:7;7703:17;;;:8;:17;;;;;;;7610:118;11499:13;:17;;:25::i;:::-;:43;;11491:52;;;;;;11580:10;;11570:6;:20;;11562:76;;;;-1:-1:-1;;;11562:76:0;;9151:2:1;11562:76:0;;;9133:21:1;9190:2;9170:18;;;9163:30;9229:34;9209:18;;;9202:62;-1:-1:-1;;;9280:18:1;;;9273:41;9331:19;;11562:76:0;8949:407:1;11562:76:0;-1:-1:-1;11664:6:0;;11445:1102;;;11702:13;-1:-1:-1;;;;;11696:19:0;:2;-1:-1:-1;;;;;11696:19:0;;11692:855;;11776:4;11736:20;11759:23;;;:8;:23;;;;;;11820:7;;11805:22;;:47;;;;-1:-1:-1;11831:16:0;;;;:21;11805:47;11801:649;;;11877:16;:20;;-1:-1:-1;;11877:20:0;11896:1;11877:20;;;11944:16;;;11958:1;11944:16;;;;;;;;-1:-1:-1;;11944:16:0;;;;;;;;;;-1:-1:-1;11944:16:0;11920:40;;12001:4;11983;11988:1;11983:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;11983:23:0;;;-1:-1:-1;;;;;11983:23:0;;;;;12039:4;12029;12034:1;12029:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12029:14:0;;;:7;;;;;;;;;:14;12299:15;;;12066:321;;-1:-1:-1;;;12066:321:0;;:15;:92;;;;;:321;;12189:12;;12232:1;;12264:4;;12299:15;;;12345;;12066:321;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12410:16:0;:20;;-1:-1:-1;;12410:20:0;;;-1:-1:-1;;;11801:649:0;-1:-1:-1;;12475:7:0;;11692:855;;;-1:-1:-1;12530:1:0;11692:855;12631:9;;12627:593;;12685:17;12723:3;12706:13;12715:4;12706:6;:13;:::i;:::-;12705:21;;;;:::i;:::-;12685:41;-1:-1:-1;12741:22:0;12766:18;12685:41;12766:6;:18;:::i;:::-;-1:-1:-1;;;;;12801:14:0;;;;;;:8;:14;;;;;:24;;12741:43;;-1:-1:-1;12819:6:0;;12801:14;;;:24;;12819:6;;12801:24;:::i;:::-;;;;-1:-1:-1;;;;;;;12840:12:0;;;;;;:8;:12;;;;;:30;;12856:14;;12840:12;:30;;12856:14;;12840:30;:::i;:::-;;;;-1:-1:-1;;12902:4:0;12885:23;;;;:8;:23;;;;;:36;;12912:9;;12885:23;:36;;12912:9;;12885:36;:::i;:::-;;;;-1:-1:-1;;12941:40:0;;2791:25:1;;;12964:4:0;;-1:-1:-1;;;;;12941:40:0;;;;;2779:2:1;2764:18;12941:40:0;;;;;;;13016:2;-1:-1:-1;;;;;13001:34:0;13010:4;-1:-1:-1;;;;;13001:34:0;;13020:14;13001:34;;;;2791:25:1;;2779:2;2764:18;;2645:177;13001:34:0;;;;;;;;12642:405;;12627:593;;;-1:-1:-1;;;;;13099:14:0;;;;;;:8;:14;;;;;:24;;13117:6;;13099:14;:24;;13117:6;;13099:24;:::i;12627:593::-;10732:2495;10629:2598;;;:::o;4085:187::-;-1:-1:-1;;;;;4159:22:0;;4151:31;;;;;;4219:6;;;4198:38;;-1:-1:-1;;;;;4198:38:0;;;;4219:6;;;4198:38;;;4247:6;:17;;-1:-1:-1;;;;;;4247:17:0;-1:-1:-1;;;;;4247:17:0;;;;;;;;;;4085:187::o;4305:181::-;4363:7;;4395:5;4399:1;4395;:5;:::i;:::-;4383:17;;4424:1;4419;:6;;4411:46;;;;-1:-1:-1;;;4411:46:0;;10778:2:1;4411:46:0;;;10760:21:1;10817:2;10797:18;;;10790:30;10856:29;10836:18;;;10829:57;10903:18;;4411:46:0;10576:351:1;4411:46:0;4477:1;4305:181;-1:-1:-1;;;4305:181:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;575:548::-;687:4;716:2;745;734:9;727:21;777:6;771:13;820:6;815:2;804:9;800:18;793:34;845:1;855:140;869:6;866:1;863:13;855:140;;;964:14;;;960:23;;954:30;930:17;;;949:2;926:26;919:66;884:10;;855:140;;;859:3;1044:1;1039:2;1030:6;1019:9;1015:22;1011:31;1004:42;1114:2;1107;1103:7;1098:2;1090:6;1086:15;1082:29;1071:9;1067:45;1063:54;1055:62;;;;575:548;;;;:::o;1128:254::-;1196:6;1204;1257:2;1245:9;1236:7;1232:23;1228:32;1225:52;;;1273:1;1270;1263:12;1225:52;1296:29;1315:9;1296:29;:::i;:::-;1286:39;1372:2;1357:18;;;;1344:32;;-1:-1:-1;;;1128:254:1:o;1387:127::-;1448:10;1443:3;1439:20;1436:1;1429:31;1479:4;1476:1;1469:15;1503:4;1500:1;1493:15;1519:1121;1603:6;1634:2;1677;1665:9;1656:7;1652:23;1648:32;1645:52;;;1693:1;1690;1683:12;1645:52;1733:9;1720:23;1762:18;1803:2;1795:6;1792:14;1789:34;;;1819:1;1816;1809:12;1789:34;1857:6;1846:9;1842:22;1832:32;;1902:7;1895:4;1891:2;1887:13;1883:27;1873:55;;1924:1;1921;1914:12;1873:55;1960:2;1947:16;1982:2;1978;1975:10;1972:36;;;1988:18;;:::i;:::-;2034:2;2031:1;2027:10;2066:2;2060:9;2129:2;2125:7;2120:2;2116;2112:11;2108:25;2100:6;2096:38;2184:6;2172:10;2169:22;2164:2;2152:10;2149:18;2146:46;2143:72;;;2195:18;;:::i;:::-;2231:2;2224:22;2281:18;;;2315:15;;;;-1:-1:-1;2357:11:1;;;2353:20;;;2385:19;;;2382:39;;;2417:1;2414;2407:12;2382:39;2441:11;;;;2461:148;2477:6;2472:3;2469:15;2461:148;;;2543:23;2562:3;2543:23;:::i;:::-;2531:36;;2494:12;;;;2587;;;;2461:148;;;2628:6;1519:1121;-1:-1:-1;;;;;;;;1519:1121:1:o;2827:328::-;2904:6;2912;2920;2973:2;2961:9;2952:7;2948:23;2944:32;2941:52;;;2989:1;2986;2979:12;2941:52;3012:29;3031:9;3012:29;:::i;:::-;3002:39;;3060:38;3094:2;3083:9;3079:18;3060:38;:::i;:::-;3050:48;;3145:2;3134:9;3130:18;3117:32;3107:42;;2827:328;;;;;:::o;3160:248::-;3228:6;3236;3289:2;3277:9;3268:7;3264:23;3260:32;3257:52;;;3305:1;3302;3295:12;3257:52;-1:-1:-1;;3328:23:1;;;3398:2;3383:18;;;3370:32;;-1:-1:-1;3160:248:1:o;3602:615::-;3688:6;3696;3749:2;3737:9;3728:7;3724:23;3720:32;3717:52;;;3765:1;3762;3755:12;3717:52;3805:9;3792:23;3834:18;3875:2;3867:6;3864:14;3861:34;;;3891:1;3888;3881:12;3861:34;3929:6;3918:9;3914:22;3904:32;;3974:7;3967:4;3963:2;3959:13;3955:27;3945:55;;3996:1;3993;3986:12;3945:55;4036:2;4023:16;4062:2;4054:6;4051:14;4048:34;;;4078:1;4075;4068:12;4048:34;4131:7;4126:2;4116:6;4113:1;4109:14;4105:2;4101:23;4097:32;4094:45;4091:65;;;4152:1;4149;4142:12;4091:65;4183:2;4175:11;;;;;4205:6;;-1:-1:-1;3602:615:1;;-1:-1:-1;;;;3602:615:1:o;4222:180::-;4281:6;4334:2;4322:9;4313:7;4309:23;4305:32;4302:52;;;4350:1;4347;4340:12;4302:52;-1:-1:-1;4373:23:1;;4222:180;-1:-1:-1;4222:180:1:o;4839:347::-;4904:6;4912;4965:2;4953:9;4944:7;4940:23;4936:32;4933:52;;;4981:1;4978;4971:12;4933:52;5004:29;5023:9;5004:29;:::i;:::-;4994:39;;5083:2;5072:9;5068:18;5055:32;5130:5;5123:13;5116:21;5109:5;5106:32;5096:60;;5152:1;5149;5142:12;5096:60;5175:5;5165:15;;;4839:347;;;;;:::o;5191:260::-;5259:6;5267;5320:2;5308:9;5299:7;5295:23;5291:32;5288:52;;;5336:1;5333;5326:12;5288:52;5359:29;5378:9;5359:29;:::i;:::-;5349:39;;5407:38;5441:2;5430:9;5426:18;5407:38;:::i;:::-;5397:48;;5191:260;;;;;:::o;5456:127::-;5517:10;5512:3;5508:20;5505:1;5498:31;5548:4;5545:1;5538:15;5572:4;5569:1;5562:15;5588:127;5649:10;5644:3;5640:20;5637:1;5630:31;5680:4;5677:1;5670:15;5704:4;5701:1;5694:15;5720:175;5757:3;5801:4;5794:5;5790:16;5830:4;5821:7;5818:17;5815:43;;5838:18;;:::i;:::-;5887:1;5874:15;;5720:175;-1:-1:-1;;5720:175:1:o;5900:128::-;5967:9;;;5988:11;;;5985:37;;;6002:18;;:::i;6391:168::-;6464:9;;;6495;;6512:15;;;6506:22;;6492:37;6482:71;;6533:18;;:::i;8819:125::-;8884:9;;;8905:10;;;8902:36;;;8918:18;;:::i;9361:988::-;9631:4;9679:3;9668:9;9664:19;9710:6;9699:9;9692:25;9736:2;9774:6;9769:2;9758:9;9754:18;9747:34;9817:3;9812:2;9801:9;9797:18;9790:31;9841:6;9876;9870:13;9907:6;9899;9892:22;9945:3;9934:9;9930:19;9923:26;;9984:2;9976:6;9972:15;9958:29;;10005:1;10015:195;10029:6;10026:1;10023:13;10015:195;;;10094:13;;-1:-1:-1;;;;;10090:39:1;10078:52;;10185:15;;;;10150:12;;;;10126:1;10044:9;10015:195;;;-1:-1:-1;;;;;;;10266:32:1;;;;10261:2;10246:18;;10239:60;-1:-1:-1;;;10330:3:1;10315:19;10308:35;10227:3;9361:988;-1:-1:-1;;;9361:988:1:o;10354:217::-;10394:1;10420;10410:132;;10464:10;10459:3;10455:20;10452:1;10445:31;10499:4;10496:1;10489:15;10527:4;10524:1;10517:15;10410:132;-1:-1:-1;10556:9:1;;10354:217::o

Swarm Source

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