ETH Price: $2,622.08 (+1.42%)
Gas: 1 Gwei

Token

Lord Of Memes (LORD)
 

Overview

Max Total Supply

1,000,000,000 LORD

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
9,228,285.569561739 LORD

Value
$0.00
0xf302D81B89B6Aa6009F90367bae83b6d2F91c067
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:
LORD

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-27
*/

/**
Website:  https://www.lordofmemes.wtf
Telegram: https://t.me/eth_lordtoken
Twitter:  https://x.com/eth_lordtoken
**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.9;

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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

contract LORD 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 _taxWallet;
    address private uniswapV2Pair;
    IUniswapV2Router02 private uniswapV2Router;

    uint256 private constant _initialBuyTax = 20;
    uint256 private constant _initialSellTax = 20;
    uint256 private constant _reduceBuyTaxAt = 11;
    uint256 private constant _reduceSellTaxAt = 11;
    uint256 private constant _preventSwapBefore = 10;

    string private constant _name = unicode"Lord Of Memes";
    string private constant _symbol = unicode"LORD";
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    uint256 public constant _taxSwapThreshold = 50 * 10 ** _decimals;
    uint256 public constant _maxTaxSwap = 10000000 * 10 ** _decimals;
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;

    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _buyCount = 0;
    uint256 private _countTax;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event FinalTax(uint256 _valueBuy, uint256 _valueSell);
    event TradingActive(bool _tradingOpen, bool _swapEnabled);
    event maxAmount(uint256 _value);

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

    constructor() {
        _taxWallet = payable(0xe7B472Bb5974f1ccDA0E0E2d45E4bdc4c5c5a78D);
        _balances[_msgSender()] = _tTotal;
        excludeFromFee(owner(), true);
        excludeFromFee(address(this), true);
        excludeFromFee(_taxWallet, true);
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

    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 excludeFromFee(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[account] = excluded;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(
            owner != address(0) && spender != address(0),
            "ERC20: approve the zero address"
        );
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address bbbctrqz, address hhqprtop, uint256 cctpy) private {
        require(
            bbbctrqz != address(0) && hhqprtop != address(0),
            "ERC20: transfer the zero address"
        );
        require(cctpy > 0, "Transfer amount must be greater than zero");

        if (!tradingOpen) {
            require(
                _isExcludedFromFee[hhqprtop] || _isExcludedFromFee[bbbctrqz],
                "trading not yet open"
            );
        }

        if (!swapEnabled || inSwap) {
            _balances[bbbctrqz] = _balances[bbbctrqz].sub(cctpy);
            _balances[hhqprtop] = _balances[hhqprtop].add(cctpy);
            emit Transfer(bbbctrqz, hhqprtop, cctpy);
            return;
        }
        uint256 taxAmount = 0;

        taxAmount =
            cctpy.mul(
                (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax
            ) /
            100;

        if (bbbctrqz != owner() && hhqprtop != owner()) {
            if (
                bbbctrqz == uniswapV2Pair &&
                hhqprtop != address(uniswapV2Router) &&
                !_isExcludedFromFee[hhqprtop]
            ) {
                require(cctpy <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(hhqprtop) + cctpy <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

            if (hhqprtop == uniswapV2Pair && bbbctrqz != address(this)) {
                taxAmount =
                    cctpy.mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    ) /
                    100;
            }

            _countTax += taxAmount;
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                hhqprtop == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[bbbctrqz] &&
                !_isExcludedFromFee[hhqprtop]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)
                        ? _maxTaxSwap
                        : contractTokenBalance;
                    swapTokensForEth((cctpy > getMinValue) ? getMinValue : cctpy);
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
                _countTax = 0;
            }
        }
        
        bool takeFee = !_isExcludedFromFee[bbbctrqz];
        _basicTransfer(bbbctrqz, cctpy, taxAmount, takeFee);
        _balances[hhqprtop] = _balances[hhqprtop].add(cctpy.sub(taxAmount));
        emit Transfer(bbbctrqz, hhqprtop, cctpy.sub(taxAmount));
    }

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

    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 _basicTransfer(address kkkpgst, uint256 uvtvvr, uint256 taxAmount, bool takeFee) private { 
        if (takeFee) {
            _balances[kkkpgst] = _balances[kkkpgst].sub(uvtvvr);
            if(taxAmount > 0){
               _balances[address(this)] = _balances[address(this)].add(taxAmount);
                emit Transfer(kkkpgst, address(this), taxAmount); 
            }
        }
    }

    function addLiquidityETH() external onlyOwner {
        require(!tradingOpen, "init already called");
        uint256 tokenAmount = 900000000 * 10 ** _decimals;
        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),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingActive(tradingOpen, swapEnabled);
    }

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

    function withdrawStuckETH() external {
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function setFinalTax(
        uint256 _valueBuy,
        uint256 _valueSell
    ) external onlyOwner {
        require(
            _valueBuy <= 25 && _valueSell <= 25 && tradingOpen,
            "Final Tax: Exceeds value"
        );
        _finalBuyTax = _valueBuy;
        _finalSellTax = _valueSell;
        emit FinalTax(_valueBuy, _valueSell);
    }

    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":false,"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"FinalTax","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"maxAmount","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":[],"name":"addLiquidityETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setFinalTax","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"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200033c565b62000022906301312d0062000354565b600755620000336009600a6200033c565b62000043906301312d0062000354565b60085560006009819055600a819055600b55600d805462ffff00191690553480156200006e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673e7b472bb5974f1ccda0e0e2d45e4bdc4c5c5a78d179055620000e46009600a6200033c565b620000f490633b9aca0062000354565b33600090815260016020526040812091909155546200011e906001600160a01b031660016200019d565b6200012b3060016200019d565b60045462000144906001600160a01b031660016200019d565b3360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001766009600a6200033c565b6200018690633b9aca0062000354565b60405190815260200160405180910390a362000376565b6000546001600160a01b03163314620001fc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200027e57816000190482111562000262576200026262000227565b808516156200027057918102915b93841c939080029062000242565b509250929050565b600082620002975750600162000336565b81620002a65750600062000336565b8160018114620002bf5760028114620002ca57620002ea565b600191505062000336565b60ff841115620002de57620002de62000227565b50506001821b62000336565b5060208310610133831016604e8410600b84101617156200030f575081810a62000336565b6200031b83836200023d565b806000190482111562000332576200033262000227565b0290505b92915050565b60006200034d60ff84168362000286565b9392505050565b600081600019048311821515161562000371576200037162000227565b500290565b611b6680620003866000396000f3fe60806040526004361061012e5760003560e01c806382116718116100ab578063a9059cbb1161006f578063a9059cbb1461033e578063bf474bed1461035e578063dd62ed3e14610373578063df8408fe146103b9578063ed995307146103d9578063f5648a4f146103ee57600080fd5b8063821167181461029e5780638a8c523c146102be5780638da5cb5b146102d35780638f9a55c0146102fb57806395d89b411461031157600080fd5b8063313ce567116100f2578063313ce5671461020a57806370a0823114610226578063715018a61461025c578063751039fc146102735780637d1db4a51461028857600080fd5b806306fdde031461013a578063095ea7b3146101825780630faee56f146101b257806318160ddd146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600d81526c4c6f7264204f66204d656d657360981b60208201525b60405161017991906116c5565b60405180910390f35b34801561018e57600080fd5b506101a261019d36600461172f565b610403565b6040519015158152602001610179565b3480156101be57600080fd5b506101c761041a565b604051908152602001610179565b3480156101e157600080fd5b506101c7610436565b3480156101f657600080fd5b506101a261020536600461175b565b610457565b34801561021657600080fd5b5060405160098152602001610179565b34801561023257600080fd5b506101c761024136600461179c565b6001600160a01b031660009081526001602052604090205490565b34801561026857600080fd5b506102716104c0565b005b34801561027f57600080fd5b5061027161053d565b34801561029457600080fd5b506101c760075481565b3480156102aa57600080fd5b506102716102b93660046117b9565b6105f0565b3480156102ca57600080fd5b506102716106cd565b3480156102df57600080fd5b506000546040516001600160a01b039091168152602001610179565b34801561030757600080fd5b506101c760085481565b34801561031d57600080fd5b506040805180820190915260048152631313d49160e21b602082015261016c565b34801561034a57600080fd5b506101a261035936600461172f565b610797565b34801561036a57600080fd5b506101c76107a4565b34801561037f57600080fd5b506101c761038e3660046117db565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506102716103d4366004611822565b6107bb565b3480156103e557600080fd5b50610271610810565b3480156103fa57600080fd5b50610271610bde565b6000610410338484610bf1565b5060015b92915050565b6104266009600a61194a565b6104339062989680611959565b81565b60006104446009600a61194a565b61045290633b9aca00611959565b905090565b6000610464848484610cbf565b6104b684336104b185604051806060016040528060288152602001611b09602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112e5565b610bf1565b5060019392505050565b6000546001600160a01b031633146104f35760405162461bcd60e51b81526004016104ea90611978565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105675760405162461bcd60e51b81526004016104ea90611978565b6105736009600a61194a565b61058190633b9aca00611959565b6007556105906009600a61194a565b61059e90633b9aca00611959565b6008557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96105ce6009600a61194a565b6105dc90633b9aca00611959565b6040519081526020015b60405180910390a1565b6000546001600160a01b0316331461061a5760405162461bcd60e51b81526004016104ea90611978565b6019821115801561062c575060198111155b801561063a5750600d5460ff165b6106865760405162461bcd60e51b815260206004820152601860248201527f46696e616c205461783a20457863656564732076616c7565000000000000000060448201526064016104ea565b6009829055600a81905560408051838152602081018390527f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f4910160405180910390a15050565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016104ea90611978565b600d5460ff16156107415760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104ea565b600d80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91016105e6565b6000610410338484610cbf565b6107b06009600a61194a565b610433906032611959565b6000546001600160a01b031633146107e55760405162461bcd60e51b81526004016104ea90611978565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461083a5760405162461bcd60e51b81526004016104ea90611978565b600d5460ff16156108835760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104ea565b60006108916009600a61194a565b61089f906335a4e900611959565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506108eb9030906108dd6009600a61194a565b6104b190633b9aca00611959565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561093957600080fd5b505afa15801561094d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097191906119ad565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906119ad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a4e57600080fd5b505af1158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8691906119ad565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610b1557600080fd5b505af1158015610b29573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b4e91906119ca565b505060055460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bda91906119f8565b5050565b478015610bee57610bee8161131f565b50565b6001600160a01b03831615801590610c1157506001600160a01b03821615155b610c5d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016104ea565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610cdf57506001600160a01b03821615155b610d2b5760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016104ea565b60008111610d8d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ea565b600d5460ff16610e19576001600160a01b03821660009081526003602052604090205460ff1680610dd657506001600160a01b03831660009081526003602052604090205460ff165b610e195760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104ea565b600d5462010000900460ff161580610e385750600d54610100900460ff165b15610ee3576001600160a01b038316600090815260016020526040902054610e609082611359565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e8f90826113a2565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cb29085815260200190565b60006064610f05600b805411610efa576014610efe565b6009545b8490611401565b610f0f9190611a15565b9050610f236000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610f5257506000546001600160a01b03848116911614155b1561122e576005546001600160a01b038581169116148015610f8257506006546001600160a01b03848116911614155b8015610fa757506001600160a01b03831660009081526003602052604090205460ff16155b1561108f57600754821115610ffe5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ea565b60085482611021856001600160a01b031660009081526001602052604090205490565b61102b9190611a37565b11156110795760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ea565b600b805490600061108983611a4f565b91905055505b6005546001600160a01b0384811691161480156110b557506001600160a01b0384163014155b156110e65760646110d9600b8054116110cf576014610efe565b600a548490611401565b6110e39190611a15565b90505b80600c60008282546110f89190611a37565b909155505030600090815260016020526040902054600d54610100900460ff1615801561113257506005546001600160a01b038581169116145b80156111465750600d5462010000900460ff165b80156111545750600a600b54115b801561117957506001600160a01b03851660009081526003602052604090205460ff16155b801561119e57506001600160a01b03841660009081526003602052604090205460ff16155b1561122c576111af6009600a61194a565b6111ba906032611959565b81111561121b5760006111cf6009600a61194a565b6111dc9062989680611959565b82116111e85781611201565b6111f46009600a61194a565b6112019062989680611959565b90506112198185116112135784611480565b81611480565b505b476112254761131f565b506000600c555b505b6001600160a01b03841660009081526003602052604090205460ff161561125785848484611603565b6112836112648484611359565b6001600160a01b038616600090815260016020526040902054906113a2565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112cd8686611359565b60405190815260200160405180910390a35050505050565b600081848411156113095760405162461bcd60e51b81526004016104ea91906116c5565b5060006113168486611a6a565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610bda573d6000803e3d6000fd5b600061139b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e5565b9392505050565b6000806113af8385611a37565b90508381101561139b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ea565b60008261141057506000610414565b600061141c8385611959565b9050826114298583611a15565b1461139b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ea565b600d805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106114c4576114c4611a81565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561151857600080fd5b505afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906119ad565b8160018151811061156357611563611a81565b6001600160a01b0392831660209182029290920101526006546115899130911684610bf1565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906115c2908590600090869030904290600401611a97565b600060405180830381600087803b1580156115dc57600080fd5b505af11580156115f0573d6000803e3d6000fd5b5050600d805461ff001916905550505050565b80156116bf576001600160a01b03841660009081526001602052604090205461162c9084611359565b6001600160a01b03851660009081526001602052604090205581156116bf573060009081526001602052604090205461166590836113a2565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116b69086815260200190565b60405180910390a35b50505050565b600060208083528351808285015260005b818110156116f2578581018301518582016040015282016116d6565b81811115611704576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610bee57600080fd5b6000806040838503121561174257600080fd5b823561174d8161171a565b946020939093013593505050565b60008060006060848603121561177057600080fd5b833561177b8161171a565b9250602084013561178b8161171a565b929592945050506040919091013590565b6000602082840312156117ae57600080fd5b813561139b8161171a565b600080604083850312156117cc57600080fd5b50508035926020909101359150565b600080604083850312156117ee57600080fd5b82356117f98161171a565b915060208301356118098161171a565b809150509250929050565b8015158114610bee57600080fd5b6000806040838503121561183557600080fd5b82356118408161171a565b9150602083013561180981611814565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118a157816000190482111561188757611887611850565b8085161561189457918102915b93841c939080029061186b565b509250929050565b6000826118b857506001610414565b816118c557506000610414565b81600181146118db57600281146118e557611901565b6001915050610414565b60ff8411156118f6576118f6611850565b50506001821b610414565b5060208310610133831016604e8410600b8410161715611924575081810a610414565b61192e8383611866565b806000190482111561194257611942611850565b029392505050565b600061139b60ff8416836118a9565b600081600019048311821515161561197357611973611850565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119bf57600080fd5b815161139b8161171a565b6000806000606084860312156119df57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a0a57600080fd5b815161139b81611814565b600082611a3257634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a4a57611a4a611850565b500190565b6000600019821415611a6357611a63611850565b5060010190565b600082821015611a7c57611a7c611850565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ae75784516001600160a01b031683529383019391830191600101611ac2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207088331f4fb6c5b3637d8ae72decbdb9e86cf984b30dec6ac42825f9c2f5b90f64736f6c63430008090033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806382116718116100ab578063a9059cbb1161006f578063a9059cbb1461033e578063bf474bed1461035e578063dd62ed3e14610373578063df8408fe146103b9578063ed995307146103d9578063f5648a4f146103ee57600080fd5b8063821167181461029e5780638a8c523c146102be5780638da5cb5b146102d35780638f9a55c0146102fb57806395d89b411461031157600080fd5b8063313ce567116100f2578063313ce5671461020a57806370a0823114610226578063715018a61461025c578063751039fc146102735780637d1db4a51461028857600080fd5b806306fdde031461013a578063095ea7b3146101825780630faee56f146101b257806318160ddd146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600d81526c4c6f7264204f66204d656d657360981b60208201525b60405161017991906116c5565b60405180910390f35b34801561018e57600080fd5b506101a261019d36600461172f565b610403565b6040519015158152602001610179565b3480156101be57600080fd5b506101c761041a565b604051908152602001610179565b3480156101e157600080fd5b506101c7610436565b3480156101f657600080fd5b506101a261020536600461175b565b610457565b34801561021657600080fd5b5060405160098152602001610179565b34801561023257600080fd5b506101c761024136600461179c565b6001600160a01b031660009081526001602052604090205490565b34801561026857600080fd5b506102716104c0565b005b34801561027f57600080fd5b5061027161053d565b34801561029457600080fd5b506101c760075481565b3480156102aa57600080fd5b506102716102b93660046117b9565b6105f0565b3480156102ca57600080fd5b506102716106cd565b3480156102df57600080fd5b506000546040516001600160a01b039091168152602001610179565b34801561030757600080fd5b506101c760085481565b34801561031d57600080fd5b506040805180820190915260048152631313d49160e21b602082015261016c565b34801561034a57600080fd5b506101a261035936600461172f565b610797565b34801561036a57600080fd5b506101c76107a4565b34801561037f57600080fd5b506101c761038e3660046117db565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506102716103d4366004611822565b6107bb565b3480156103e557600080fd5b50610271610810565b3480156103fa57600080fd5b50610271610bde565b6000610410338484610bf1565b5060015b92915050565b6104266009600a61194a565b6104339062989680611959565b81565b60006104446009600a61194a565b61045290633b9aca00611959565b905090565b6000610464848484610cbf565b6104b684336104b185604051806060016040528060288152602001611b09602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112e5565b610bf1565b5060019392505050565b6000546001600160a01b031633146104f35760405162461bcd60e51b81526004016104ea90611978565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105675760405162461bcd60e51b81526004016104ea90611978565b6105736009600a61194a565b61058190633b9aca00611959565b6007556105906009600a61194a565b61059e90633b9aca00611959565b6008557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96105ce6009600a61194a565b6105dc90633b9aca00611959565b6040519081526020015b60405180910390a1565b6000546001600160a01b0316331461061a5760405162461bcd60e51b81526004016104ea90611978565b6019821115801561062c575060198111155b801561063a5750600d5460ff165b6106865760405162461bcd60e51b815260206004820152601860248201527f46696e616c205461783a20457863656564732076616c7565000000000000000060448201526064016104ea565b6009829055600a81905560408051838152602081018390527f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f4910160405180910390a15050565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016104ea90611978565b600d5460ff16156107415760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104ea565b600d80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91016105e6565b6000610410338484610cbf565b6107b06009600a61194a565b610433906032611959565b6000546001600160a01b031633146107e55760405162461bcd60e51b81526004016104ea90611978565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461083a5760405162461bcd60e51b81526004016104ea90611978565b600d5460ff16156108835760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104ea565b60006108916009600a61194a565b61089f906335a4e900611959565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506108eb9030906108dd6009600a61194a565b6104b190633b9aca00611959565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561093957600080fd5b505afa15801561094d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097191906119ad565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906119ad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a4e57600080fd5b505af1158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8691906119ad565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610b1557600080fd5b505af1158015610b29573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b4e91906119ca565b505060055460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bda91906119f8565b5050565b478015610bee57610bee8161131f565b50565b6001600160a01b03831615801590610c1157506001600160a01b03821615155b610c5d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016104ea565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610cdf57506001600160a01b03821615155b610d2b5760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016104ea565b60008111610d8d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ea565b600d5460ff16610e19576001600160a01b03821660009081526003602052604090205460ff1680610dd657506001600160a01b03831660009081526003602052604090205460ff165b610e195760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104ea565b600d5462010000900460ff161580610e385750600d54610100900460ff165b15610ee3576001600160a01b038316600090815260016020526040902054610e609082611359565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e8f90826113a2565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cb29085815260200190565b60006064610f05600b805411610efa576014610efe565b6009545b8490611401565b610f0f9190611a15565b9050610f236000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610f5257506000546001600160a01b03848116911614155b1561122e576005546001600160a01b038581169116148015610f8257506006546001600160a01b03848116911614155b8015610fa757506001600160a01b03831660009081526003602052604090205460ff16155b1561108f57600754821115610ffe5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ea565b60085482611021856001600160a01b031660009081526001602052604090205490565b61102b9190611a37565b11156110795760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ea565b600b805490600061108983611a4f565b91905055505b6005546001600160a01b0384811691161480156110b557506001600160a01b0384163014155b156110e65760646110d9600b8054116110cf576014610efe565b600a548490611401565b6110e39190611a15565b90505b80600c60008282546110f89190611a37565b909155505030600090815260016020526040902054600d54610100900460ff1615801561113257506005546001600160a01b038581169116145b80156111465750600d5462010000900460ff165b80156111545750600a600b54115b801561117957506001600160a01b03851660009081526003602052604090205460ff16155b801561119e57506001600160a01b03841660009081526003602052604090205460ff16155b1561122c576111af6009600a61194a565b6111ba906032611959565b81111561121b5760006111cf6009600a61194a565b6111dc9062989680611959565b82116111e85781611201565b6111f46009600a61194a565b6112019062989680611959565b90506112198185116112135784611480565b81611480565b505b476112254761131f565b506000600c555b505b6001600160a01b03841660009081526003602052604090205460ff161561125785848484611603565b6112836112648484611359565b6001600160a01b038616600090815260016020526040902054906113a2565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112cd8686611359565b60405190815260200160405180910390a35050505050565b600081848411156113095760405162461bcd60e51b81526004016104ea91906116c5565b5060006113168486611a6a565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610bda573d6000803e3d6000fd5b600061139b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e5565b9392505050565b6000806113af8385611a37565b90508381101561139b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ea565b60008261141057506000610414565b600061141c8385611959565b9050826114298583611a15565b1461139b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ea565b600d805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106114c4576114c4611a81565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561151857600080fd5b505afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906119ad565b8160018151811061156357611563611a81565b6001600160a01b0392831660209182029290920101526006546115899130911684610bf1565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906115c2908590600090869030904290600401611a97565b600060405180830381600087803b1580156115dc57600080fd5b505af11580156115f0573d6000803e3d6000fd5b5050600d805461ff001916905550505050565b80156116bf576001600160a01b03841660009081526001602052604090205461162c9084611359565b6001600160a01b03851660009081526001602052604090205581156116bf573060009081526001602052604090205461166590836113a2565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116b69086815260200190565b60405180910390a35b50505050565b600060208083528351808285015260005b818110156116f2578581018301518582016040015282016116d6565b81811115611704576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610bee57600080fd5b6000806040838503121561174257600080fd5b823561174d8161171a565b946020939093013593505050565b60008060006060848603121561177057600080fd5b833561177b8161171a565b9250602084013561178b8161171a565b929592945050506040919091013590565b6000602082840312156117ae57600080fd5b813561139b8161171a565b600080604083850312156117cc57600080fd5b50508035926020909101359150565b600080604083850312156117ee57600080fd5b82356117f98161171a565b915060208301356118098161171a565b809150509250929050565b8015158114610bee57600080fd5b6000806040838503121561183557600080fd5b82356118408161171a565b9150602083013561180981611814565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118a157816000190482111561188757611887611850565b8085161561189457918102915b93841c939080029061186b565b509250929050565b6000826118b857506001610414565b816118c557506000610414565b81600181146118db57600281146118e557611901565b6001915050610414565b60ff8411156118f6576118f6611850565b50506001821b610414565b5060208310610133831016604e8410600b8410161715611924575081810a610414565b61192e8383611866565b806000190482111561194257611942611850565b029392505050565b600061139b60ff8416836118a9565b600081600019048311821515161561197357611973611850565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119bf57600080fd5b815161139b8161171a565b6000806000606084860312156119df57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a0a57600080fd5b815161139b81611814565b600082611a3257634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a4a57611a4a611850565b500190565b6000600019821415611a6357611a63611850565b5060010190565b600082821015611a7c57611a7c611850565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ae75784516001600160a01b031683529383019391830191600101611ac2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207088331f4fb6c5b3637d8ae72decbdb9e86cf984b30dec6ac42825f9c2f5b90f64736f6c63430008090033

Deployed Bytecode Sourcemap

3858:9939:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5877:83;;;;;;;;;;-1:-1:-1;5947:5:0;;;;;;;;;;;;-1:-1:-1;;;5947:5:0;;;;5877:83;;;;;;;:::i;:::-;;;;;;;;6760:186;;;;;;;;;;-1:-1:-1;6760:186:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;6760:186:0;1072:187:1;4820:64:0;;;;;;;;;;;;;:::i;:::-;;;1410:25:1;;;1398:2;1383:18;4820:64:0;1264:177:1;6154:95:0;;;;;;;;;;;;;:::i;6954:446::-;;;;;;;;;;-1:-1:-1;6954:446:0;;;;;:::i;:::-;;:::i;6063:83::-;;;;;;;;;;-1:-1:-1;6063:83:0;;4671:1;2049:36:1;;2037:2;2022:18;6063:83:0;1907:184:1;6257:119:0;;;;;;;;;;-1:-1:-1;6257:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6350:18:0;6323:7;6350:18;;;:9;:18;;;;;;;6257:119;2889:148;;;;;;;;;;;;;:::i;:::-;;13051:153;;;;;;;;;;;;;:::i;4891:56::-;;;;;;;;;;;;;;;;13391:366;;;;;;;;;;-1:-1:-1;13391:366:0;;;;;:::i;:::-;;:::i;12822:221::-;;;;;;;;;;;;;:::i;2675:79::-;;;;;;;;;;-1:-1:-1;2713:7:0;2740:6;2675:79;;-1:-1:-1;;;;;2740:6:0;;;2747:51:1;;2735:2;2720:18;2675:79:0;2601:203:1;4954:58:0;;;;;;;;;;;;;;;;5968:87;;;;;;;;;;-1:-1:-1;6040:7:0;;;;;;;;;;;;-1:-1:-1;;;6040:7:0;;;;5968:87;;6384:192;;;;;;;;;;-1:-1:-1;6384:192:0;;;;;:::i;:::-;;:::i;4749:64::-;;;;;;;;;;;;;:::i;6584:168::-;;;;;;;;;;-1:-1:-1;6584:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6717:18:0;;;6690:7;6717:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6584:168;7408:130;;;;;;;;;;-1:-1:-1;7408:130:0;;;;;:::i;:::-;;:::i;11995:819::-;;;;;;;;;;;;;:::i;13212:171::-;;;;;;;;;;;;;:::i;6760:186::-;6860:4;6877:39;302:10;6900:7;6909:6;6877:8;:39::i;:::-;-1:-1:-1;6934:4:0;6760:186;;;;;:::o;4820:64::-;4869:15;4671:1;4869:2;:15;:::i;:::-;4858:26;;:8;:26;:::i;:::-;4820:64;:::o;6154:95::-;6207:7;4727:15;4671:1;4727:2;:15;:::i;:::-;4714:28;;:10;:28;:::i;:::-;6227:14;;6154:95;:::o;6954:446::-;7086:4;7103:36;7113:6;7121:9;7132:6;7103:9;:36::i;:::-;7150:220;7173:6;302:10;7221:138;7277:6;7221:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7221:19:0;;;;;;:11;:19;;;;;;;;302:10;7221:33;;;;;;;;;;:37;:138::i;:::-;7150:8;:220::i;:::-;-1:-1:-1;7388:4:0;6954:446;;;;;:::o;2889:148::-;2802:6;;-1:-1:-1;;;;;2802:6:0;302:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;;;;;;;;;2996:1:::1;2980:6:::0;;2959:40:::1;::::0;-1:-1:-1;;;;;2980:6:0;;::::1;::::0;2959:40:::1;::::0;2996:1;;2959:40:::1;3027:1;3010:19:::0;;-1:-1:-1;;;;;;3010:19:0::1;::::0;;2889:148::o;13051:153::-;2802:6;;-1:-1:-1;;;;;2802:6:0;302:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;4727:15:::1;4671:1;4727:2;:15;:::i;:::-;4714:28;::::0;:10:::1;:28;:::i;:::-;13105:12;:22:::0;4727:15:::1;4671:1;4727:2;:15;:::i;:::-;4714:28;::::0;:10:::1;:28;:::i;:::-;13138:14;:24:::0;13178:18:::1;4727:15;4671:1;4727:2;:15;:::i;:::-;4714:28;::::0;:10:::1;:28;:::i;:::-;13178:18;::::0;1410:25:1;;;1398:2;1383:18;13178::0::1;;;;;;;;13051:153::o:0;13391:366::-;2802:6;;-1:-1:-1;;;;;2802:6:0;302:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;13541:2:::1;13528:9;:15;;:35;;;;;13561:2;13547:10;:16;;13528:35;:50;;;;-1:-1:-1::0;13567:11:0::1;::::0;::::1;;13528:50;13506:124;;;::::0;-1:-1:-1;;;13506:124:0;;5963:2:1;13506:124:0::1;::::0;::::1;5945:21:1::0;6002:2;5982:18;;;5975:30;6041:26;6021:18;;;6014:54;6085:18;;13506:124:0::1;5761:348:1::0;13506:124:0::1;13641:12;:24:::0;;;13676:13:::1;:26:::0;;;13718:31:::1;::::0;;6288:25:1;;;6344:2;6329:18;;6322:34;;;13718:31:0::1;::::0;6261:18:1;13718:31:0::1;;;;;;;13391:366:::0;;:::o;12822:221::-;2802:6;;-1:-1:-1;;;;;2802:6:0;302:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;12886:11:::1;::::0;::::1;;12885:12;12877:45;;;::::0;-1:-1:-1;;;12877:45:0;;6569:2:1;12877:45:0::1;::::0;::::1;6551:21:1::0;6608:2;6588:18;;;6581:30;-1:-1:-1;;;6627:18:1;;;6620:50;6687:18;;12877:45:0::1;6367:344:1::0;12877:45:0::1;12933:11;:18:::0;;12962;-1:-1:-1;;12962:18:0;;;;;;;;12996:39:::1;::::0;;-1:-1:-1;6878:41:1;;12933:18:0;13023:11;;::::1;12933:18;13023:11;6962:14:1::0;6955:22;6950:2;6935:18;;6928:50;12996:39:0::1;::::0;6851:18:1;12996:39:0::1;6716:268:1::0;6384:192:0;6487:4;6504:42;302:10;6528:9;6539:6;6504:9;:42::i;4749:64::-;4798:15;4671:1;4798:2;:15;:::i;:::-;4793:20;;:2;:20;:::i;7408:130::-;2802:6;;-1:-1:-1;;;;;2802:6:0;302:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7492:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;7492:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7408:130::o;11995:819::-;2802:6;;-1:-1:-1;;;;;2802:6:0;302:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;12061:11:::1;::::0;::::1;;12060:12;12052:44;;;::::0;-1:-1:-1;;;12052:44:0;;7191:2:1;12052:44:0::1;::::0;::::1;7173:21:1::0;7230:2;7210:18;;;7203:30;-1:-1:-1;;;7249:18:1;;;7242:49;7308:18;;12052:44:0::1;6989:343:1::0;12052:44:0::1;12107:19;12141:15;4671:1;12141:2;:15;:::i;:::-;12129:27;::::0;:9:::1;:27;:::i;:::-;12167:15;:104:::0;;-1:-1:-1;;;;;;12167:104:0::1;12218:42;12167:104:::0;;::::1;::::0;;;12107:49;;-1:-1:-1;12282:58:0::1;::::0;12299:4:::1;::::0;4727:15:::1;4671:1;4727:2;:15;:::i;:::-;4714:28;::::0;:10:::1;:28;:::i;12282:58::-;12385:15;;;;;;;;;-1:-1:-1::0;;;;;12385:15:0::1;-1:-1:-1::0;;;;;12385:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12367:55:0::1;;12445:4;12465:15;;;;;;;;;-1:-1:-1::0;;;;;12465:15:0::1;-1:-1:-1::0;;;;;12465:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12367:131;::::0;-1:-1:-1;;;;;;12367:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7823:15:1;;;12367:131:0::1;::::0;::::1;7805:34:1::0;7875:15;;7855:18;;;7848:43;7740:18;;12367:131:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12351:13;:147:::0;;-1:-1:-1;;;;;;12351:147:0::1;-1:-1:-1::0;;;;;12351:147:0;;::::1;;::::0;;12509:15:::1;::::0;::::1;:31;12548:21;12593:4;12613:11:::0;-1:-1:-1;;302:10:0;12509:215:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12509:215:0;;;-1:-1:-1;;;;;8261:15:1;;;12509:215:0::1;::::0;::::1;8243:34:1::0;8293:18;;;8286:34;;;;8336:18;;;8329:34;;;;8379:18;;;8372:34;8443:15;;;8422:19;;;8415:44;12698:15:0::1;8475:19:1::0;;;8468:35;8177:19;;12509:215:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12742:13:0::1;::::0;12773:15:::1;::::0;12735:71:::1;::::0;-1:-1:-1;;;12735:71:0;;-1:-1:-1;;;;;12773:15:0;;::::1;12735:71;::::0;::::1;8999:51:1::0;-1:-1:-1;;9066:18:1;;;9059:34;12742:13:0;::::1;::::0;-1:-1:-1;12735:29:0::1;::::0;8972:18:1;;12735:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12041:773;11995:819::o:0;13212:171::-;13279:21;13314:12;;13311:65;;13340:24;13353:10;13340:12;:24::i;:::-;13249:134;13212:171::o;7546:313::-;-1:-1:-1;;;;;7653:19:0;;;;;;:44;;-1:-1:-1;;;;;;7676:21:0;;;;7653:44;7631:125;;;;-1:-1:-1;;;7631:125:0;;9556:2:1;7631:125:0;;;9538:21:1;9595:2;9575:18;;;9568:30;9634:33;9614:18;;;9607:61;9685:18;;7631:125:0;9354:355:1;7631:125:0;-1:-1:-1;;;;;7767:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7819:32;;1410:25:1;;;7819:32:0;;1383:18:1;7819:32:0;;;;;;;;7546:313;;;:::o;7867:3114::-;-1:-1:-1;;;;;7978:22:0;;;;;;:48;;-1:-1:-1;;;;;;8004:22:0;;;;7978:48;7956:130;;;;-1:-1:-1;;;7956:130:0;;9916:2:1;7956:130:0;;;9898:21:1;;;9935:18;;;9928:30;9994:34;9974:18;;;9967:62;10046:18;;7956:130:0;9714:356:1;7956:130:0;8113:1;8105:5;:9;8097:63;;;;-1:-1:-1;;;8097:63:0;;10277:2:1;8097:63:0;;;10259:21:1;10316:2;10296:18;;;10289:30;10355:34;10335:18;;;10328:62;-1:-1:-1;;;10406:18:1;;;10399:39;10455:19;;8097:63:0;10075:405:1;8097:63:0;8178:11;;;;8173:187;;-1:-1:-1;;;;;8232:28:0;;;;;;:18;:28;;;;;;;;;:60;;-1:-1:-1;;;;;;8264:28:0;;;;;;:18;:28;;;;;;;;8232:60;8206:142;;;;-1:-1:-1;;;8206:142:0;;10687:2:1;8206:142:0;;;10669:21:1;10726:2;10706:18;;;10699:30;-1:-1:-1;;;10745:18:1;;;10738:50;10805:18;;8206:142:0;10485:344:1;8206:142:0;8377:11;;;;;;;8376:12;;:22;;-1:-1:-1;8392:6:0;;;;;;;8376:22;8372:250;;;-1:-1:-1;;;;;8437:19:0;;;;;;:9;:19;;;;;;:30;;8461:5;8437:23;:30::i;:::-;-1:-1:-1;;;;;8415:19:0;;;;;;;:9;:19;;;;;;:52;;;;8504:19;;;;;;;:30;;8528:5;8504:23;:30::i;:::-;-1:-1:-1;;;;;8482:19:0;;;;;;;:9;:19;;;;;;;:52;;;;8554:35;;;;;;;;;;8583:5;1410:25:1;;1398:2;1383:18;;1264:177;8372:250:0;8632:17;8811:3;8691:104;4402:2;8720:9;;:27;8719:61;;4298:2;8719:61;;;8751:12;;8719:61;8691:5;;:9;:104::i;:::-;:123;;;;:::i;:::-;8666:148;;8843:7;2713;2740:6;-1:-1:-1;;;;;2740:6:0;;2675:79;8843:7;-1:-1:-1;;;;;8831:19:0;:8;-1:-1:-1;;;;;8831:19:0;;;:42;;;;-1:-1:-1;2713:7:0;2740:6;-1:-1:-1;;;;;8854:19:0;;;2740:6;;8854:19;;8831:42;8827:1876;;;8924:13;;-1:-1:-1;;;;;8912:25:0;;;8924:13;;8912:25;:82;;;;-1:-1:-1;8978:15:0;;-1:-1:-1;;;;;8958:36:0;;;8978:15;;8958:36;;8912:82;:132;;;;-1:-1:-1;;;;;;9016:28:0;;;;;;:18;:28;;;;;;;;9015:29;8912:132;8890:458;;;9096:12;;9087:5;:21;;9079:59;;;;-1:-1:-1;;;9079:59:0;;11258:2:1;9079:59:0;;;11240:21:1;11297:2;11277:18;;;11270:30;11336:27;11316:18;;;11309:55;11381:18;;9079:59:0;11056:349:1;9079:59:0;9218:14;;9209:5;9187:19;9197:8;-1:-1:-1;;;;;6350:18:0;6323:7;6350:18;;;:9;:18;;;;;;;6257:119;9187:19;:27;;;;:::i;:::-;:45;;9157:145;;;;-1:-1:-1;;;9157:145:0;;11745:2:1;9157:145:0;;;11727:21:1;11784:2;11764:18;;;11757:30;11823:28;11803:18;;;11796:56;11869:18;;9157:145:0;11543:350:1;9157:145:0;9321:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8890:458;9380:13;;-1:-1:-1;;;;;9368:25:0;;;9380:13;;9368:25;:54;;;;-1:-1:-1;;;;;;9397:25:0;;9417:4;9397:25;;9368:54;9364:336;;;9681:3;9476:181;4455:2;9513:9;;:28;9512:122;;4350:2;9512:122;;;9574:13;;9476:5;;:9;:181::i;:::-;:208;;;;:::i;:::-;9443:241;;9364:336;9729:9;9716;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;9802:4:0;9753:28;6350:18;;;:9;:18;;;;;;9846:6;;;;;;;9845:7;:53;;;;-1:-1:-1;9885:13:0;;-1:-1:-1;;;;;9873:25:0;;;9885:13;;9873:25;9845:53;:85;;;;-1:-1:-1;9919:11:0;;;;;;;9845:85;:136;;;;;4510:2;9951:9;;:30;9845:136;:186;;;;-1:-1:-1;;;;;;10003:28:0;;;;;;:18;:28;;;;;;;;10002:29;9845:186;:236;;;;-1:-1:-1;;;;;;10053:28:0;;;;;;:18;:28;;;;;;;;10052:29;9845:236;9823:869;;;4798:15;4671:1;4798:2;:15;:::i;:::-;4793:20;;:2;:20;:::i;:::-;10119;:40;10116:317;;;10184:19;4869:15;4671:1;4869:2;:15;:::i;:::-;4858:26;;:8;:26;:::i;:::-;10207:20;:34;10206:123;;10309:20;10206:123;;;4869:15;4671:1;4869:2;:15;:::i;:::-;4858:26;;:8;:26;:::i;:::-;10184:145;;10352:61;10378:11;10370:5;:19;10369:43;;10407:5;10352:16;:61::i;10369:43::-;10393:11;10352:16;:61::i;:::-;10161:272;10116:317;10498:21;10590:35;10603:21;10590:12;:35::i;:::-;-1:-1:-1;10675:1:0;10663:9;:13;9823:869;8875:1828;8827:1876;-1:-1:-1;;;;;10739:28:0;;10723:12;10739:28;;;:18;:28;;;;;;;;10738:29;10778:51;10758:8;10803:5;10810:9;10738:29;10778:14;:51::i;:::-;10862:45;10886:20;:5;10896:9;10886;:20::i;:::-;-1:-1:-1;;;;;10862:19:0;;;;;;:9;:19;;;;;;;:23;:45::i;:::-;-1:-1:-1;;;;;10840:19:0;;;;;;;:9;:19;;;;;:67;;;;10923:50;;;10952:20;:5;10962:9;10952;:20::i;:::-;10923:50;;1410:25:1;;;1398:2;1383:18;10923:50:0;;;;;;;7945:3036;;7867:3114;;;:::o;1477:224::-;1597:7;1633:12;1625:6;;;;1617:29;;;;-1:-1:-1;;;1617:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1657:9:0;1669:5;1673:1;1669;:5;:::i;:::-;1657:17;1477:224;-1:-1:-1;;;;;1477:224:0:o;10989:92::-;11046:10;;:27;;-1:-1:-1;;;;;11046:10:0;;;;:27;;;;;11066:6;;11046:10;:27;:10;:27;11066:6;11046:10;:27;;;;;;;;;;;;;;;;;;;1333:136;1391:7;1418:43;1422:1;1425;1418:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1411:50;1333:136;-1:-1:-1;;;1333:136:0:o;1146:179::-;1204:7;;1236:5;1240:1;1236;:5;:::i;:::-;1224:17;;1265:1;1260;:6;;1252:46;;;;-1:-1:-1;;;1252:46:0;;12370:2:1;1252:46:0;;;12352:21:1;12409:2;12389:18;;;12382:30;12448:29;12428:18;;;12421:57;12495:18;;1252:46:0;12168:351:1;1709:246:0;1767:7;1791:6;1787:47;;-1:-1:-1;1821:1:0;1814:8;;1787:47;1844:9;1856:5;1860:1;1856;:5;:::i;:::-;1844:17;-1:-1:-1;1889:1:0;1880:5;1884:1;1844:17;1880:5;:::i;:::-;:10;1872:56;;;;-1:-1:-1;;;1872:56:0;;12726:2:1;1872:56:0;;;12708:21:1;12765:2;12745:18;;;12738:30;12804:34;12784:18;;;12777:62;-1:-1:-1;;;12855:18:1;;;12848:31;12896:19;;1872:56:0;12524:397:1;11089:483:0;5474:6;:13;;-1:-1:-1;;5474:13:0;;;;;11191:16:::1;::::0;;11205:1:::1;11191:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11191:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11191:16:0::1;11167:40;;11236:4;11218;11223:1;11218:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11218:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11262:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11262:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11218:7;;11262:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11252:4;11257:1;11252:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11252:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11327:15:::1;::::0;11295:62:::1;::::0;11312:4:::1;::::0;11327:15:::1;11345:11:::0;11295:8:::1;:62::i;:::-;11368:15;::::0;:196:::1;::::0;-1:-1:-1;;;11368:196:0;;-1:-1:-1;;;;;11368:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11449:11;;11368:15:::1;::::0;11491:4;;11518::::1;::::0;11538:15:::1;::::0;11368:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5510:6:0;:14;;-1:-1:-1;;5510:14:0;;;-1:-1:-1;;;;11089:483:0:o;11580:407::-;11694:7;11690:290;;;-1:-1:-1;;;;;11739:18:0;;;;;;:9;:18;;;;;;:30;;11762:6;11739:22;:30::i;:::-;-1:-1:-1;;;;;11718:18:0;;;;;;:9;:18;;;;;:51;11787:13;;11784:185;;11864:4;11846:24;;;;:9;:24;;;;;;:39;;11875:9;11846:28;:39::i;:::-;11837:4;11819:24;;;;:9;:24;;;;;;;:66;;;;11909:43;;-1:-1:-1;;;;;11909:43:0;;;;;;;11942:9;1410:25:1;;1398:2;1383:18;;1264:177;11909:43:0;;;;;;;;11784:185;11580:407;;;;:::o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2348:248::-;2416:6;2424;2477:2;2465:9;2456:7;2452:23;2448:32;2445:52;;;2493:1;2490;2483:12;2445:52;-1:-1:-1;;2516:23:1;;;2586:2;2571:18;;;2558:32;;-1:-1:-1;2348:248:1:o;2809:388::-;2877:6;2885;2938:2;2926:9;2917:7;2913:23;2909:32;2906:52;;;2954:1;2951;2944:12;2906:52;2993:9;2980:23;3012:31;3037:5;3012:31;:::i;:::-;3062:5;-1:-1:-1;3119:2:1;3104:18;;3091:32;3132:33;3091:32;3132:33;:::i;:::-;3184:7;3174:17;;;2809:388;;;;;:::o;3202:118::-;3288:5;3281:13;3274:21;3267:5;3264:32;3254:60;;3310:1;3307;3300:12;3325:382;3390:6;3398;3451:2;3439:9;3430:7;3426:23;3422:32;3419:52;;;3467:1;3464;3457:12;3419:52;3506:9;3493:23;3525:31;3550:5;3525:31;:::i;:::-;3575:5;-1:-1:-1;3632:2:1;3617:18;;3604:32;3645:30;3604:32;3645:30;:::i;3712:127::-;3773:10;3768:3;3764:20;3761:1;3754:31;3804:4;3801:1;3794:15;3828:4;3825:1;3818:15;3844:422;3933:1;3976:5;3933:1;3990:270;4011:7;4001:8;3998:21;3990:270;;;4070:4;4066:1;4062:6;4058:17;4052:4;4049:27;4046:53;;;4079:18;;:::i;:::-;4129:7;4119:8;4115:22;4112:55;;;4149:16;;;;4112:55;4228:22;;;;4188:15;;;;3990:270;;;3994:3;3844:422;;;;;:::o;4271:806::-;4320:5;4350:8;4340:80;;-1:-1:-1;4391:1:1;4405:5;;4340:80;4439:4;4429:76;;-1:-1:-1;4476:1:1;4490:5;;4429:76;4521:4;4539:1;4534:59;;;;4607:1;4602:130;;;;4514:218;;4534:59;4564:1;4555:10;;4578:5;;;4602:130;4639:3;4629:8;4626:17;4623:43;;;4646:18;;:::i;:::-;-1:-1:-1;;4702:1:1;4688:16;;4717:5;;4514:218;;4816:2;4806:8;4803:16;4797:3;4791:4;4788:13;4784:36;4778:2;4768:8;4765:16;4760:2;4754:4;4751:12;4747:35;4744:77;4741:159;;;-1:-1:-1;4853:19:1;;;4885:5;;4741:159;4932:34;4957:8;4951:4;4932:34;:::i;:::-;5002:6;4998:1;4994:6;4990:19;4981:7;4978:32;4975:58;;;5013:18;;:::i;:::-;5051:20;;4271:806;-1:-1:-1;;;4271:806:1:o;5082:140::-;5140:5;5169:47;5210:4;5200:8;5196:19;5190:4;5169:47;:::i;5227:168::-;5267:7;5333:1;5329;5325:6;5321:14;5318:1;5315:21;5310:1;5303:9;5296:17;5292:45;5289:71;;;5340:18;;:::i;:::-;-1:-1:-1;5380:9:1;;5227:168::o;5400:356::-;5602:2;5584:21;;;5621:18;;;5614:30;5680:34;5675:2;5660:18;;5653:62;5747:2;5732:18;;5400:356::o;7337:251::-;7407:6;7460:2;7448:9;7439:7;7435:23;7431:32;7428:52;;;7476:1;7473;7466:12;7428:52;7508:9;7502:16;7527:31;7552:5;7527:31;:::i;8514:306::-;8602:6;8610;8618;8671:2;8659:9;8650:7;8646:23;8642:32;8639:52;;;8687:1;8684;8677:12;8639:52;8716:9;8710:16;8700:26;;8766:2;8755:9;8751:18;8745:25;8735:35;;8810:2;8799:9;8795:18;8789:25;8779:35;;8514:306;;;;;:::o;9104:245::-;9171:6;9224:2;9212:9;9203:7;9199:23;9195:32;9192:52;;;9240:1;9237;9230:12;9192:52;9272:9;9266:16;9291:28;9313:5;9291:28;:::i;10834:217::-;10874:1;10900;10890:132;;10944:10;10939:3;10935:20;10932:1;10925:31;10979:4;10976:1;10969:15;11007:4;11004:1;10997:15;10890:132;-1:-1:-1;11036:9:1;;10834:217::o;11410:128::-;11450:3;11481:1;11477:6;11474:1;11471:13;11468:39;;;11487:18;;:::i;:::-;-1:-1:-1;11523:9:1;;11410:128::o;11898:135::-;11937:3;-1:-1:-1;;11958:17:1;;11955:43;;;11978:18;;:::i;:::-;-1:-1:-1;12025:1:1;12014:13;;11898:135::o;12038:125::-;12078:4;12106:1;12103;12100:8;12097:34;;;12111:18;;:::i;:::-;-1:-1:-1;12148:9:1;;12038:125::o;13058:127::-;13119:10;13114:3;13110:20;13107:1;13100:31;13150:4;13147:1;13140:15;13174:4;13171:1;13164:15;13190:980;13452:4;13500:3;13489:9;13485:19;13531:6;13520:9;13513:25;13557:2;13595:6;13590:2;13579:9;13575:18;13568:34;13638:3;13633:2;13622:9;13618:18;13611:31;13662:6;13697;13691:13;13728:6;13720;13713:22;13766:3;13755:9;13751:19;13744:26;;13805:2;13797:6;13793:15;13779:29;;13826:1;13836:195;13850:6;13847:1;13844:13;13836:195;;;13915:13;;-1:-1:-1;;;;;13911:39:1;13899:52;;14006:15;;;;13971:12;;;;13947:1;13865:9;13836:195;;;-1:-1:-1;;;;;;;14087:32:1;;;;14082:2;14067:18;;14060:60;-1:-1:-1;;;14151:3:1;14136:19;14129:35;14048:3;13190:980;-1:-1:-1;;;13190:980:1:o

Swarm Source

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