ETH Price: $3,328.64 (-4.43%)
Gas: 3 Gwei

Token

Kong Alpha (KONG)
 

Overview

Max Total Supply

1,000,000,000 KONG

Holders

53

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
988,336.098560061 KONG

Value
$0.00
0x989562f8fbe09bbca411c7d3a5680d248725f922
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:
KONG

Compiler Version
v0.8.11+commit.d7f03943

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-08
*/

/*

Website:  https://www.kongalpha.vip

Telegram: https://t.me/kongalpha_eth

Twitter:  https://x.com/kongalpha_eth

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.11;

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

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

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

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

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

contract KONG is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Kong Alpha";
    string private constant _symbol = unicode"KONG";
    uint256 public _maxTxAmount = 20_000_000 * 10 ** _decimals;
    uint256 public _bidKONGAmount = 900_000_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 50 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10 ** _decimals;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 11;
    uint256 private _reduceSellTaxAt = 11;
    uint256 private _preventSwapBefore = 11;
    uint256 private _buyCount = 0;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

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

    function initKONGPair() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _approve(address(this), address(uniswapV2Router), _tTotal);

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

    function _tokenTaxTransfer(
        address from,
        address to,
        uint256 amount
    ) internal returns(uint256) {
        uint256 feeAmount = amount
            .mul(
                (_buyCount > _reduceBuyTaxAt)
                    ? _finalBuyTax
                    : _initialBuyTax
            )
            .div(100);

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

        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(
                feeAmount
            );
            emit Transfer(from, address(this), feeAmount);
        }

        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(feeAmount));
        emit Transfer(from, to, amount.sub(feeAmount));

        return feeAmount;
    }

    function _tokenBasicTransfer(
        address from,
        address to,
        uint256 amount
    ) internal {
        uint256 feeAmount = 0;
        if (_isExcludedFromFees[from]) {
            _tokenExcludeTransfer(from, to, amount, feeAmount);
        } else {
            feeAmount = _tokenTaxTransfer(from, to, amount);
        }
    }

    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 _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 _basicTransfer(address from, address to, uint256 amount) internal {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _basicTransfer(from, to, amount);
            return;
        }

        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFees[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );

                if (firstBlock + 3 > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && !_isExcludedFromFees[to]) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool doSwap = contractTokenBalance > _taxSwapThreshold;
            if (
                !inSwap &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                to == uniswapV2Pair &&
                !_isExcludedFromFees[from] &&
                !_isExcludedFromFees[to]
            ) {
                if(doSwap){
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _tokenBasicTransfer(from, to, amount);
    }

    function _tokenExcludeTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 feeAmount
    ) internal {
        _balances[from] = _balances[from].sub(feeAmount);
        _balances[to] = _balances[to].add(amount.sub(feeAmount));
        emit Transfer(from, to, amount.sub(feeAmount));
    }

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

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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 removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            _bidKONGAmount,
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_bidKONGAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initKONGPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000364565b62000022906301312d006200037c565b600755620000336009600a62000364565b62000043906335a4e9006200037c565b600855620000546009600a62000364565b620000619060326200037c565b6009556009600a62000074919062000364565b6200008390629896806200037c565b600a556009600a62000096919062000364565b620000a6906301312d006200037c565b600b9081556014600c819055600d556000600e819055600f819055601082905560118290556012919091556013556015805461ffff60a81b19169055348015620000ef57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916735dd08fac566ad03615f840b9d2acb65ba33b945f179055600160036000620001706000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001d56009600a62000364565b620001e590633b9aca006200037c565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002286009600a62000364565b6200023890633b9aca006200037c565b60405190815260200160405180910390a36200039e565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a65781600019048211156200028a576200028a6200024f565b808516156200029857918102915b93841c93908002906200026a565b509250929050565b600082620002bf575060016200035e565b81620002ce575060006200035e565b8160018114620002e75760028114620002f25762000312565b60019150506200035e565b60ff8411156200030657620003066200024f565b50506001821b6200035e565b5060208310610133831016604e8410600b841016171562000337575081810a6200035e565b62000343838362000265565b80600019048211156200035a576200035a6200024f565b0290505b92915050565b60006200037560ff841683620002ae565b9392505050565b60008160001904831182151516156200039957620003996200024f565b500290565b611d9780620003ae6000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610380578063b184570b146103a0578063bf474bed146103b5578063d34628cc146103cb578063dd62ed3e146103eb578063f064f0811461043157600080fd5b80637d1db4a5146102ea5780638a8c523c146103005780638da5cb5b146103155780638f9a55c01461033d57806395d89b411461035357600080fd5b8063313ce567116100fd578063313ce5671461021357806331c2d8471461022f5780633bbac5791461025157806370a082311461028a578063715018a6146102c0578063751039fc146102d557600080fd5b806306fdde0314610145578063095ea7b31461018a5780630faee56f146101ba57806318160ddd146101de57806323b872dd146101f357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a8152694b6f6e6720416c70686160b01b60208201525b6040516101819190611841565b60405180910390f35b34801561019657600080fd5b506101aa6101a53660046118be565b610447565b6040519015158152602001610181565b3480156101c657600080fd5b506101d0600a5481565b604051908152602001610181565b3480156101ea57600080fd5b506101d061045e565b3480156101ff57600080fd5b506101aa61020e3660046118ea565b61047f565b34801561021f57600080fd5b5060405160098152602001610181565b34801561023b57600080fd5b5061024f61024a366004611941565b6104e8565b005b34801561025d57600080fd5b506101aa61026c366004611a06565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029657600080fd5b506101d06102a5366004611a06565b6001600160a01b031660009081526001602052604090205490565b3480156102cc57600080fd5b5061024f610587565b3480156102e157600080fd5b5061024f6105fb565b3480156102f657600080fd5b506101d060075481565b34801561030c57600080fd5b5061024f6106ad565b34801561032157600080fd5b506000546040516001600160a01b039091168152602001610181565b34801561034957600080fd5b506101d0600b5481565b34801561035f57600080fd5b506040805180820190915260048152634b4f4e4760e01b6020820152610174565b34801561038c57600080fd5b506101aa61039b3660046118be565b610884565b3480156103ac57600080fd5b5061024f610891565b3480156103c157600080fd5b506101d060095481565b3480156103d757600080fd5b5061024f6103e6366004611941565b610ae8565b3480156103f757600080fd5b506101d0610406366004611a23565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043d57600080fd5b506101d060085481565b6000610454338484610b7a565b5060015b92915050565b600061046c6009600a611b56565b61047a90633b9aca00611b65565b905090565b600061048c848484610c9f565b6104de84336104d985604051806060016040528060288152602001611d1a602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611179565b610b7a565b5060019392505050565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260040161051290611b84565b60405180910390fd5b60005b81518110156105835760006004600084848151811061053f5761053f611bb9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061057b81611bcf565b91505061051e565b5050565b6000546001600160a01b031633146105b15760405162461bcd60e51b815260040161051290611b84565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106255760405162461bcd60e51b815260040161051290611b84565b6106316009600a611b56565b61063f90633b9aca00611b65565b60075561064e6009600a611b56565b61065c90633b9aca00611b65565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068c6009600a611b56565b61069a90633b9aca00611b65565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106d75760405162461bcd60e51b815260040161051290611b84565b601554600160a01b900460ff161561072b5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b6014546008546001600160a01b039091169063f305d719904790309060008061075c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e99190611bea565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190611c18565b506015805462ff00ff60a01b19166201000160a01b17905543600655565b6000610454338484610c9f565b6000546001600160a01b031633146108bb5760405162461bcd60e51b815260040161051290611b84565b601554600160a01b900460ff161561090f5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561095890309061094a6009600a611b56565b6104d990633b9aca00611b65565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190611c3a565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a559190611c3a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190611c3a565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b125760405162461bcd60e51b815260040161051290611b84565b60005b815181101561058357600160046000848481518110610b3657610b36611bb9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b7281611bcf565b915050610b15565b6001600160a01b038316610bdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b038216610c3d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610512565b6001600160a01b038216610d655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610512565b60008111610dc75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610512565b601554600160b01b900460ff161580610de95750601554600160a81b900460ff165b15610dfe57610df98383836111b3565b505050565b6000546001600160a01b03848116911614801590610e2a57506000546001600160a01b03838116911614155b1561116e576001600160a01b03831660009081526004602052604090205460ff16158015610e7157506001600160a01b03821660009081526004602052604090205460ff16155b610e7a57600080fd5b6015546001600160a01b038481169116148015610ea557506014546001600160a01b03838116911614155b8015610eca57506001600160a01b03821660009081526003602052604090205460ff16155b15610fd457600754811115610f215760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610512565b600b5481610f44846001600160a01b031660009081526001602052604090205490565b610f4e9190611c57565b1115610f9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610512565b436006546003610fac9190611c57565b1115610fbe57813b15610fbe57600080fd5b60138054906000610fce83611bcf565b91905055505b6015546001600160a01b0383811691161480159061100b57506001600160a01b03821660009081526003602052604090205460ff16155b1561108b57600b5481611033846001600160a01b031660009081526001602052604090205490565b61103d9190611c57565b111561108b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610512565b3060009081526001602052604090205460095460155490821190600160a81b900460ff161580156110c55750601554600160b01b900460ff165b80156110d45750601254601354115b80156110ed57506015546001600160a01b038581169116145b801561111257506001600160a01b03851660009081526003602052604090205460ff16155b801561113757506001600160a01b03841660009081526003602052604090205460ff16155b1561116b57801561115f5761115f61115a8461115585600a54611247565b611247565b61125f565b47611169476113d9565b505b50505b610df9838383611413565b6000818484111561119d5760405162461bcd60e51b81526004016105129190611841565b5060006111aa8486611c6f565b95945050505050565b6001600160a01b0383166000908152600160205260409020546111d69082611459565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611205908261149b565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611d4283398151915290610c929085815260200190565b60008183116112565782611258565b815b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112a7576112a7611bb9565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611300573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113249190611c3a565b8160018151811061133757611337611bb9565b6001600160a01b03928316602091820292909201015260145461135d9130911684610b7a565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611396908590600090869030904290600401611c86565b600060405180830381600087803b1580156113b057600080fd5b505af11580156113c4573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610583573d6000803e3d6000fd5b6001600160a01b03831660009081526003602052604081205460ff161561144557611440848484846114fa565b611453565b6114508484846115b1565b90505b50505050565b600061125883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611179565b6000806114a88385611c57565b9050838110156112585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610512565b6001600160a01b03841660009081526001602052604090205461151d9082611459565b6001600160a01b0385166000908152600160205260409020556115626115438383611459565b6001600160a01b0385166000908152600160205260409020549061149b565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611d4283398151915261159a8585611459565b60405190815260200160405180910390a350505050565b6000806115e060646115da601054601354116115cf57600c546115d3565b600e545b8690611757565b906117d6565b6015549091506001600160a01b03858116911614801561160957506001600160a01b0385163014155b156116365761163360646115da6011546013541161162957600d546115d3565b600f548690611757565b90505b801561169e5730600090815260016020526040902054611656908261149b565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611d42833981519152906116959085815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546116c19084611459565b6001600160a01b0386166000908152600160205260409020556117066116e78483611459565b6001600160a01b0386166000908152600160205260409020549061149b565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611d4283398151915261173e8685611459565b60405190815260200160405180910390a3949350505050565b60008261176657506000610458565b60006117728385611b65565b90508261177f8583611cf7565b146112585760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610512565b600061125883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118345760405162461bcd60e51b81526004016105129190611841565b5060006111aa8486611cf7565b600060208083528351808285015260005b8181101561186e57858101830151858201604001528201611852565b81811115611880576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146118ab57600080fd5b50565b80356118b981611896565b919050565b600080604083850312156118d157600080fd5b82356118dc81611896565b946020939093013593505050565b6000806000606084860312156118ff57600080fd5b833561190a81611896565b9250602084013561191a81611896565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561195457600080fd5b823567ffffffffffffffff8082111561196c57600080fd5b818501915085601f83011261198057600080fd5b8135818111156119925761199261192b565b8060051b604051601f19603f830116810181811085821117156119b7576119b761192b565b6040529182528482019250838101850191888311156119d557600080fd5b938501935b828510156119fa576119eb856118ae565b845293850193928501926119da565b98975050505050505050565b600060208284031215611a1857600080fd5b813561125881611896565b60008060408385031215611a3657600080fd5b8235611a4181611896565b91506020830135611a5181611896565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611aad578160001904821115611a9357611a93611a5c565b80851615611aa057918102915b93841c9390800290611a77565b509250929050565b600082611ac457506001610458565b81611ad157506000610458565b8160018114611ae75760028114611af157611b0d565b6001915050610458565b60ff841115611b0257611b02611a5c565b50506001821b610458565b5060208310610133831016604e8410600b8410161715611b30575081810a610458565b611b3a8383611a72565b8060001904821115611b4e57611b4e611a5c565b029392505050565b600061125860ff841683611ab5565b6000816000190483118215151615611b7f57611b7f611a5c565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611be357611be3611a5c565b5060010190565b600080600060608486031215611bff57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611c2a57600080fd5b8151801515811461125857600080fd5b600060208284031215611c4c57600080fd5b815161125881611896565b60008219821115611c6a57611c6a611a5c565b500190565b600082821015611c8157611c81611a5c565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cd65784516001600160a01b031683529383019391830191600101611cb1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d1457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220199ac0aaa309b13700e2caf1328f2e5ab58979645e263633c5bb05c4ec16345f64736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610380578063b184570b146103a0578063bf474bed146103b5578063d34628cc146103cb578063dd62ed3e146103eb578063f064f0811461043157600080fd5b80637d1db4a5146102ea5780638a8c523c146103005780638da5cb5b146103155780638f9a55c01461033d57806395d89b411461035357600080fd5b8063313ce567116100fd578063313ce5671461021357806331c2d8471461022f5780633bbac5791461025157806370a082311461028a578063715018a6146102c0578063751039fc146102d557600080fd5b806306fdde0314610145578063095ea7b31461018a5780630faee56f146101ba57806318160ddd146101de57806323b872dd146101f357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a8152694b6f6e6720416c70686160b01b60208201525b6040516101819190611841565b60405180910390f35b34801561019657600080fd5b506101aa6101a53660046118be565b610447565b6040519015158152602001610181565b3480156101c657600080fd5b506101d0600a5481565b604051908152602001610181565b3480156101ea57600080fd5b506101d061045e565b3480156101ff57600080fd5b506101aa61020e3660046118ea565b61047f565b34801561021f57600080fd5b5060405160098152602001610181565b34801561023b57600080fd5b5061024f61024a366004611941565b6104e8565b005b34801561025d57600080fd5b506101aa61026c366004611a06565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029657600080fd5b506101d06102a5366004611a06565b6001600160a01b031660009081526001602052604090205490565b3480156102cc57600080fd5b5061024f610587565b3480156102e157600080fd5b5061024f6105fb565b3480156102f657600080fd5b506101d060075481565b34801561030c57600080fd5b5061024f6106ad565b34801561032157600080fd5b506000546040516001600160a01b039091168152602001610181565b34801561034957600080fd5b506101d0600b5481565b34801561035f57600080fd5b506040805180820190915260048152634b4f4e4760e01b6020820152610174565b34801561038c57600080fd5b506101aa61039b3660046118be565b610884565b3480156103ac57600080fd5b5061024f610891565b3480156103c157600080fd5b506101d060095481565b3480156103d757600080fd5b5061024f6103e6366004611941565b610ae8565b3480156103f757600080fd5b506101d0610406366004611a23565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043d57600080fd5b506101d060085481565b6000610454338484610b7a565b5060015b92915050565b600061046c6009600a611b56565b61047a90633b9aca00611b65565b905090565b600061048c848484610c9f565b6104de84336104d985604051806060016040528060288152602001611d1a602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611179565b610b7a565b5060019392505050565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260040161051290611b84565b60405180910390fd5b60005b81518110156105835760006004600084848151811061053f5761053f611bb9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061057b81611bcf565b91505061051e565b5050565b6000546001600160a01b031633146105b15760405162461bcd60e51b815260040161051290611b84565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106255760405162461bcd60e51b815260040161051290611b84565b6106316009600a611b56565b61063f90633b9aca00611b65565b60075561064e6009600a611b56565b61065c90633b9aca00611b65565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068c6009600a611b56565b61069a90633b9aca00611b65565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106d75760405162461bcd60e51b815260040161051290611b84565b601554600160a01b900460ff161561072b5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b6014546008546001600160a01b039091169063f305d719904790309060008061075c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e99190611bea565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108669190611c18565b506015805462ff00ff60a01b19166201000160a01b17905543600655565b6000610454338484610c9f565b6000546001600160a01b031633146108bb5760405162461bcd60e51b815260040161051290611b84565b601554600160a01b900460ff161561090f5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610512565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561095890309061094a6009600a611b56565b6104d990633b9aca00611b65565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf9190611c3a565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a559190611c3a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190611c3a565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b125760405162461bcd60e51b815260040161051290611b84565b60005b815181101561058357600160046000848481518110610b3657610b36611bb9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b7281611bcf565b915050610b15565b6001600160a01b038316610bdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b038216610c3d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610512565b6001600160a01b038216610d655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610512565b60008111610dc75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610512565b601554600160b01b900460ff161580610de95750601554600160a81b900460ff165b15610dfe57610df98383836111b3565b505050565b6000546001600160a01b03848116911614801590610e2a57506000546001600160a01b03838116911614155b1561116e576001600160a01b03831660009081526004602052604090205460ff16158015610e7157506001600160a01b03821660009081526004602052604090205460ff16155b610e7a57600080fd5b6015546001600160a01b038481169116148015610ea557506014546001600160a01b03838116911614155b8015610eca57506001600160a01b03821660009081526003602052604090205460ff16155b15610fd457600754811115610f215760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610512565b600b5481610f44846001600160a01b031660009081526001602052604090205490565b610f4e9190611c57565b1115610f9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610512565b436006546003610fac9190611c57565b1115610fbe57813b15610fbe57600080fd5b60138054906000610fce83611bcf565b91905055505b6015546001600160a01b0383811691161480159061100b57506001600160a01b03821660009081526003602052604090205460ff16155b1561108b57600b5481611033846001600160a01b031660009081526001602052604090205490565b61103d9190611c57565b111561108b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610512565b3060009081526001602052604090205460095460155490821190600160a81b900460ff161580156110c55750601554600160b01b900460ff165b80156110d45750601254601354115b80156110ed57506015546001600160a01b038581169116145b801561111257506001600160a01b03851660009081526003602052604090205460ff16155b801561113757506001600160a01b03841660009081526003602052604090205460ff16155b1561116b57801561115f5761115f61115a8461115585600a54611247565b611247565b61125f565b47611169476113d9565b505b50505b610df9838383611413565b6000818484111561119d5760405162461bcd60e51b81526004016105129190611841565b5060006111aa8486611c6f565b95945050505050565b6001600160a01b0383166000908152600160205260409020546111d69082611459565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611205908261149b565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611d4283398151915290610c929085815260200190565b60008183116112565782611258565b815b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112a7576112a7611bb9565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611300573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113249190611c3a565b8160018151811061133757611337611bb9565b6001600160a01b03928316602091820292909201015260145461135d9130911684610b7a565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611396908590600090869030904290600401611c86565b600060405180830381600087803b1580156113b057600080fd5b505af11580156113c4573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610583573d6000803e3d6000fd5b6001600160a01b03831660009081526003602052604081205460ff161561144557611440848484846114fa565b611453565b6114508484846115b1565b90505b50505050565b600061125883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611179565b6000806114a88385611c57565b9050838110156112585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610512565b6001600160a01b03841660009081526001602052604090205461151d9082611459565b6001600160a01b0385166000908152600160205260409020556115626115438383611459565b6001600160a01b0385166000908152600160205260409020549061149b565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611d4283398151915261159a8585611459565b60405190815260200160405180910390a350505050565b6000806115e060646115da601054601354116115cf57600c546115d3565b600e545b8690611757565b906117d6565b6015549091506001600160a01b03858116911614801561160957506001600160a01b0385163014155b156116365761163360646115da6011546013541161162957600d546115d3565b600f548690611757565b90505b801561169e5730600090815260016020526040902054611656908261149b565b30600081815260016020526040908190209290925590516001600160a01b03871690600080516020611d42833981519152906116959085815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546116c19084611459565b6001600160a01b0386166000908152600160205260409020556117066116e78483611459565b6001600160a01b0386166000908152600160205260409020549061149b565b6001600160a01b038086166000818152600160205260409020929092558616600080516020611d4283398151915261173e8685611459565b60405190815260200160405180910390a3949350505050565b60008261176657506000610458565b60006117728385611b65565b90508261177f8583611cf7565b146112585760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610512565b600061125883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836118345760405162461bcd60e51b81526004016105129190611841565b5060006111aa8486611cf7565b600060208083528351808285015260005b8181101561186e57858101830151858201604001528201611852565b81811115611880576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146118ab57600080fd5b50565b80356118b981611896565b919050565b600080604083850312156118d157600080fd5b82356118dc81611896565b946020939093013593505050565b6000806000606084860312156118ff57600080fd5b833561190a81611896565b9250602084013561191a81611896565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561195457600080fd5b823567ffffffffffffffff8082111561196c57600080fd5b818501915085601f83011261198057600080fd5b8135818111156119925761199261192b565b8060051b604051601f19603f830116810181811085821117156119b7576119b761192b565b6040529182528482019250838101850191888311156119d557600080fd5b938501935b828510156119fa576119eb856118ae565b845293850193928501926119da565b98975050505050505050565b600060208284031215611a1857600080fd5b813561125881611896565b60008060408385031215611a3657600080fd5b8235611a4181611896565b91506020830135611a5181611896565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611aad578160001904821115611a9357611a93611a5c565b80851615611aa057918102915b93841c9390800290611a77565b509250929050565b600082611ac457506001610458565b81611ad157506000610458565b8160018114611ae75760028114611af157611b0d565b6001915050610458565b60ff841115611b0257611b02611a5c565b50506001821b610458565b5060208310610133831016604e8410600b8410161715611b30575081810a610458565b611b3a8383611a72565b8060001904821115611b4e57611b4e611a5c565b029392505050565b600061125860ff841683611ab5565b6000816000190483118215151615611b7f57611b7f611a5c565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611be357611be3611a5c565b5060010190565b600080600060608486031215611bff57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611c2a57600080fd5b8151801515811461125857600080fd5b600060208284031215611c4c57600080fd5b815161125881611896565b60008219821115611c6a57611c6a611a5c565b500190565b600082821015611c8157611c81611a5c565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cd65784516001600160a01b031683529383019391830191600101611cb1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d1457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220199ac0aaa309b13700e2caf1328f2e5ab58979645e263633c5bb05c4ec16345f64736f6c634300080b0033

Deployed Bytecode Sourcemap

3863:10655:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7758:83;;;;;;;;;;-1:-1:-1;7828:5:0;;;;;;;;;;;;-1:-1:-1;;;7828:5:0;;;;7758:83;;;;;;;:::i;:::-;;;;;;;;8641:186;;;;;;;;;;-1:-1:-1;8641:186:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;8641:186:0;1211:187:1;4665:57:0;;;;;;;;;;;;;;;;;;;1549:25:1;;;1537:2;1522:18;4665:57:0;1403:177:1;8035:95:0;;;;;;;;;;;;;:::i;8835:446::-;;;;;;;;;;-1:-1:-1;8835:446:0;;;;;:::i;:::-;;:::i;7944:83::-;;;;;;;;;;-1:-1:-1;7944:83:0;;4277:1;2188:36:1;;2176:2;2161:18;7944:83:0;2046:184:1;13693:168:0;;;;;;;;;;-1:-1:-1;13693:168:0;;;;;:::i;:::-;;:::i;:::-;;13869:86;;;;;;;;;;-1:-1:-1;13869:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;13940:7:0;13916:4;13940:7;;;:4;:7;;;;;;;;;13869:86;8138:119;;;;;;;;;;-1:-1:-1;8138:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8231:18:0;8204:7;8231:18;;;:9;:18;;;;;;;8138:119;3708:148;;;;;;;;;;;;;:::i;13251:162::-;;;;;;;;;;;;;:::i;4470:58::-;;;;;;;;;;;;;;;;13963:515;;;;;;;;;;;;;:::i;3494:79::-;;;;;;;;;;-1:-1:-1;3532:7:0;3559:6;3494:79;;-1:-1:-1;;;;;3559:6:0;;;3891:51:1;;3879:2;3864:18;3494:79:0;3745:203:1;4729:60:0;;;;;;;;;;;;;;;;7849:87;;;;;;;;;;-1:-1:-1;7921:7:0;;;;;;;;;;;;-1:-1:-1;;;7921:7:0;;;;7849:87;;8265:192;;;;;;;;;;-1:-1:-1;8265:192:0;;;;;:::i;:::-;;:::i;5833:458::-;;;;;;;;;;;;;:::i;4603:55::-;;;;;;;;;;;;;;;;13521:164;;;;;;;;;;-1:-1:-1;13521:164:0;;;;;:::i;:::-;;:::i;8465:168::-;;;;;;;;;;-1:-1:-1;8465:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8598:18:0;;;8571:7;8598:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8465:168;4535:61;;;;;;;;;;;;;;;;8641:186;8741:4;8758:39;307:10;8781:7;8790:6;8758:8;:39::i;:::-;-1:-1:-1;8815:4:0;8641:186;;;;;:::o;8035:95::-;8088:7;4336:15;4277:1;4336:2;:15;:::i;:::-;4320:31;;:13;:31;:::i;:::-;8108:14;;8035:95;:::o;8835:446::-;8967:4;8984:36;8994:6;9002:9;9013:6;8984:9;:36::i;:::-;9031:220;9054:6;307:10;9102:138;9158:6;9102:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9102:19:0;;;;;;:11;:19;;;;;;;;307:10;9102:33;;;;;;;;;;:37;:138::i;:::-;9031:8;:220::i;:::-;-1:-1:-1;9269:4:0;8835:446;;;;;:::o;13693:168::-;3621:6;;-1:-1:-1;;;;;3621:6:0;307:10;3621:22;3613:67;;;;-1:-1:-1;;;3613:67:0;;;;;;;:::i;:::-;;;;;;;;;13768:6:::1;13763:91;13784:6;:13;13780:1;:17;13763:91;;;13837:5;13819:4;:15;13824:6;13831:1;13824:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13819:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13819:15:0;:23;;-1:-1:-1;;13819:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13799:3;::::1;::::0;::::1;:::i;:::-;;;;13763:91;;;;13693:168:::0;:::o;3708:148::-;3621:6;;-1:-1:-1;;;;;3621:6:0;307:10;3621:22;3613:67;;;;-1:-1:-1;;;3613:67:0;;;;;;;:::i;:::-;3815:1:::1;3799:6:::0;;3778:40:::1;::::0;-1:-1:-1;;;;;3799:6:0;;::::1;::::0;3778:40:::1;::::0;3815:1;;3778:40:::1;3846:1;3829:19:::0;;-1:-1:-1;;;;;;3829:19:0::1;::::0;;3708:148::o;13251:162::-;3621:6;;-1:-1:-1;;;;;3621:6:0;307:10;3621:22;3613:67;;;;-1:-1:-1;;;3613:67:0;;;;;;;:::i;:::-;4336:15:::1;4277:1;4336:2;:15;:::i;:::-;4320:31;::::0;:13:::1;:31;:::i;:::-;13305:12;:22:::0;4336:15:::1;4277:1;4336:2;:15;:::i;:::-;4320:31;::::0;:13:::1;:31;:::i;:::-;13338:14;:24:::0;13378:27:::1;4336:15;4277:1;4336:2;:15;:::i;:::-;4320:31;::::0;:13:::1;:31;:::i;:::-;13378:27;::::0;1549:25:1;;;1537:2;1522:18;13378:27:0::1;;;;;;;13251:162::o:0;13963:515::-;3621:6;;-1:-1:-1;;;;;3621:6:0;307:10;3621:22;3613:67;;;;-1:-1:-1;;;3613:67:0;;;;;;;:::i;:::-;14027:11:::1;::::0;-1:-1:-1;;;14027:11:0;::::1;;;14026:12;14018:48;;;::::0;-1:-1:-1;;;14018:48:0;;6869:2:1;14018:48:0::1;::::0;::::1;6851:21:1::0;6908:2;6888:18;;;6881:30;-1:-1:-1;;;6927:18:1;;;6920:53;6990:18;;14018:48:0::1;6667:347:1::0;14018:48:0::1;14077:15;::::0;14181:14:::1;::::0;-1:-1:-1;;;;;14077:15:0;;::::1;::::0;:31:::1;::::0;14116:21:::1;::::0;14161:4:::1;::::0;14077:15:::1;::::0;14242:7:::1;3532::::0;3559:6;-1:-1:-1;;;;;3559:6:0;;3494:79;14242:7:::1;14077:213;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14077:213:0;;;-1:-1:-1;;;;;7378:15:1;;;14077:213:0::1;::::0;::::1;7360:34:1::0;7410:18;;;7403:34;;;;7453:18;;;7446:34;;;;7496:18;;;7489:34;7560:15;;;7539:19;;;7532:44;14264:15:0::1;7592:19:1::0;;;7585:35;7294:19;;14077:213:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14310:13:0::1;::::0;14341:15:::1;::::0;14303:71:::1;::::0;-1:-1:-1;;;14303:71:0;;-1:-1:-1;;;;;14341:15:0;;::::1;14303:71;::::0;::::1;8116:51:1::0;-1:-1:-1;;8183:18:1;;;8176:34;14310:13:0;::::1;::::0;-1:-1:-1;14303:29:0::1;::::0;8089:18:1;;14303:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;14387:11:0::1;:18:::0;;-1:-1:-1;;;;14416:18:0;-1:-1:-1;;;14416:18:0;;;14458:12:::1;14445:10;:25:::0;13963:515::o;8265:192::-;8368:4;8385:42;307:10;8409:9;8420:6;8385:9;:42::i;5833:458::-;3621:6;;-1:-1:-1;;;;;3621:6:0;307:10;3621:22;3613:67;;;;-1:-1:-1;;;3613:67:0;;;;;;;:::i;:::-;5896:11:::1;::::0;-1:-1:-1;;;5896:11:0;::::1;;;5895:12;5887:48;;;::::0;-1:-1:-1;;;5887:48:0;;6869:2:1;5887:48:0::1;::::0;::::1;6851:21:1::0;6908:2;6888:18;;;6881:30;-1:-1:-1;;;6927:18:1;;;6920:53;6990:18;;5887:48:0::1;6667:347:1::0;5887:48:0::1;5948:15;:104:::0;;-1:-1:-1;;;;;;5948:104:0::1;5999:42;5948:104:::0;;::::1;::::0;;;6065:58:::1;::::0;6082:4:::1;::::0;4336:15:::1;4277:1;4336:2;:15;:::i;:::-;4320:31;::::0;:13:::1;:31;:::i;6065:58::-;6170:15;;;;;;;;;-1:-1:-1::0;;;;;6170:15:0::1;-1:-1:-1::0;;;;;6170:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6152:55:0::1;;6230:4;6250:15;;;;;;;;;-1:-1:-1::0;;;;;6250:15:0::1;-1:-1:-1::0;;;;;6250:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6152:131;::::0;-1:-1:-1;;;;;;6152:131:0::1;::::0;;;;;;-1:-1:-1;;;;;8989:15:1;;;6152:131:0::1;::::0;::::1;8971:34:1::0;9041:15;;9021:18;;;9014:43;8906:18;;6152:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6136:13;:147:::0;;-1:-1:-1;;;;;;6136:147:0::1;-1:-1:-1::0;;;;;6136:147:0;;;::::1;::::0;;;::::1;::::0;;5833:458::o;13521:164::-;3621:6;;-1:-1:-1;;;;;3621:6:0;307:10;3621:22;3613:67;;;;-1:-1:-1;;;3613:67:0;;;;;;;:::i;:::-;13595:6:::1;13590:88;13611:5;:12;13607:1;:16;13590:88;;;13662:4;13645;:14;13650:5;13656:1;13650:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13645:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13645:14:0;:21;;-1:-1:-1;;13645:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13625:3;::::1;::::0;::::1;:::i;:::-;;;;13590:88;;9289:335:::0;-1:-1:-1;;;;;9382:19:0;;9374:68;;;;-1:-1:-1;;;9374:68:0;;9270:2:1;9374:68:0;;;9252:21:1;9309:2;9289:18;;;9282:30;9348:34;9328:18;;;9321:62;-1:-1:-1;;;9399:18:1;;;9392:34;9443:19;;9374:68:0;9068:400:1;9374:68:0;-1:-1:-1;;;;;9461:21:0;;9453:68;;;;-1:-1:-1;;;9453:68:0;;9675:2:1;9453:68:0;;;9657:21:1;9714:2;9694:18;;;9687:30;9753:34;9733:18;;;9726:62;-1:-1:-1;;;9804:18:1;;;9797:32;9846:19;;9453:68:0;9473:398:1;9453:68:0;-1:-1:-1;;;;;9532:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9584:32;;1549:25:1;;;9584:32:0;;1522:18:1;9584:32:0;;;;;;;;9289:335;;;:::o;9873:2218::-;-1:-1:-1;;;;;9961:18:0;;9953:68;;;;-1:-1:-1;;;9953:68:0;;10078:2:1;9953:68:0;;;10060:21:1;10117:2;10097:18;;;10090:30;10156:34;10136:18;;;10129:62;-1:-1:-1;;;10207:18:1;;;10200:35;10252:19;;9953:68:0;9876:401:1;9953:68:0;-1:-1:-1;;;;;10040:16:0;;10032:64;;;;-1:-1:-1;;;10032:64:0;;10484:2:1;10032:64:0;;;10466:21:1;10523:2;10503:18;;;10496:30;10562:34;10542:18;;;10535:62;-1:-1:-1;;;10613:18:1;;;10606:33;10656:19;;10032:64:0;10282:399:1;10032:64:0;10124:1;10115:6;:10;10107:64;;;;-1:-1:-1;;;10107:64:0;;10888:2:1;10107:64:0;;;10870:21:1;10927:2;10907:18;;;10900:30;10966:34;10946:18;;;10939:62;-1:-1:-1;;;11017:18:1;;;11010:39;11066:19;;10107:64:0;10686:405:1;10107:64:0;10187:11;;-1:-1:-1;;;10187:11:0;;;;10186:12;;:22;;-1:-1:-1;10202:6:0;;-1:-1:-1;;;10202:6:0;;;;10186:22;10182:108;;;10225:32;10240:4;10246:2;10250:6;10225:14;:32::i;:::-;9873:2218;;;:::o;10182:108::-;3532:7;3559:6;-1:-1:-1;;;;;10306:15:0;;;3559:6;;10306:15;;;;:32;;-1:-1:-1;3532:7:0;3559:6;-1:-1:-1;;;;;10325:13:0;;;3559:6;;10325:13;;10306:32;10302:1732;;;-1:-1:-1;;;;;10364:10:0;;;;;;:4;:10;;;;;;;;10363:11;:24;;;;-1:-1:-1;;;;;;10379:8:0;;;;;;:4;:8;;;;;;;;10378:9;10363:24;10355:33;;;;;;10435:13;;-1:-1:-1;;;;;10427:21:0;;;10435:13;;10427:21;:72;;;;-1:-1:-1;10483:15:0;;-1:-1:-1;;;;;10469:30:0;;;10483:15;;10469:30;;10427:72;:117;;;;-1:-1:-1;;;;;;10521:23:0;;;;;;:19;:23;;;;;;;;10520:24;10427:117;10405:561;;;10597:12;;10587:6;:22;;10579:60;;;;-1:-1:-1;;;10579:60:0;;11298:2:1;10579:60:0;;;11280:21:1;11337:2;11317:18;;;11310:30;11376:27;11356:18;;;11349:55;11421:18;;10579:60:0;11096:349:1;10579:60:0;10714:14;;10704:6;10688:13;10698:2;-1:-1:-1;;;;;8231:18:0;8204:7;8231:18;;;:9;:18;;;;;;;8138:119;10688:13;:22;;;;:::i;:::-;:40;;10658:140;;;;-1:-1:-1;;;10658:140:0;;11785:2:1;10658:140:0;;;11767:21:1;11824:2;11804:18;;;11797:30;11863:28;11843:18;;;11836:56;11909:18;;10658:140:0;11583:350:1;10658:140:0;10840:12;10823:10;;10836:1;10823:14;;;;:::i;:::-;:29;10819:102;;;12688:20;;12736:8;10877:24;;;;;;10939:9;:11;;;:9;:11;;;:::i;:::-;;;;;;10405:561;10992:13;;-1:-1:-1;;;;;10986:19:0;;;10992:13;;10986:19;;;;:47;;-1:-1:-1;;;;;;11010:23:0;;;;;;:19;:23;;;;;;;;11009:24;10986:47;10982:228;;;11110:14;;11100:6;11084:13;11094:2;-1:-1:-1;;;;;8231:18:0;8204:7;8231:18;;;:9;:18;;;;;;;8138:119;11084:13;:22;;;;:::i;:::-;:40;;11054:140;;;;-1:-1:-1;;;11054:140:0;;11785:2:1;11054:140:0;;;11767:21:1;11824:2;11804:18;;;11797:30;11863:28;11843:18;;;11836:56;11909:18;;11054:140:0;11583:350:1;11054:140:0;11275:4;11226:28;8231:18;;;:9;:18;;;;;;11333:17;;11388:6;;11310:40;;;;-1:-1:-1;;;11388:6:0;;;;11387:7;:39;;;;-1:-1:-1;11415:11:0;;-1:-1:-1;;;11415:11:0;;;;11387:39;:90;;;;;11459:18;;11447:9;;:30;11387:90;:130;;;;-1:-1:-1;11504:13:0;;-1:-1:-1;;;;;11498:19:0;;;11504:13;;11498:19;11387:130;:177;;;;-1:-1:-1;;;;;;11539:25:0;;;;;;:19;:25;;;;;;;;11538:26;11387:177;:222;;;;-1:-1:-1;;;;;;11586:23:0;;;;;;:19;:23;;;;;;;;11585:24;11387:222;11365:658;;;11647:6;11644:170;;;11677:117;11720:51;11724:6;11732:38;11736:20;11758:11;;11732:3;:38::i;:::-;11720:3;:51::i;:::-;11677:16;:117::i;:::-;11861:21;11953:35;11966:21;11953:12;:35::i;:::-;11625:398;11365:658;10340:1694;;10302:1732;12046:37;12066:4;12072:2;12076:6;12046:19;:37::i;2145:224::-;2265:7;2301:12;2293:6;;;;2285:29;;;;-1:-1:-1;;;2285:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2325:9:0;2337:5;2341:1;2337;:5;:::i;:::-;2325:17;2145:224;-1:-1:-1;;;;;2145:224:0:o;9632:233::-;-1:-1:-1;;;;;9736:15:0;;;;;;:9;:15;;;;;;:27;;9756:6;9736:19;:27::i;:::-;-1:-1:-1;;;;;9718:15:0;;;;;;;:9;:15;;;;;;:45;;;;9790:13;;;;;;;:25;;9808:6;9790:17;:25::i;:::-;-1:-1:-1;;;;;9774:13:0;;;;;;;:9;:13;;;;;;;:41;;;;9831:26;;;;;;-1:-1:-1;;;;;;;;;;;9831:26:0;;;9850:6;1549:25:1;;1537:2;1522:18;;1403:177;12442:107:0;12499:7;12531:1;12527;:5;12526:15;;12540:1;12526:15;;;12536:1;12526:15;12519:22;12442:107;-1:-1:-1;;;12442:107:0:o;12760:483::-;5412:6;:13;;-1:-1:-1;;;;5412:13:0;-1:-1:-1;;;5412:13:0;;;12862:16:::1;::::0;;12876:1:::1;12862:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12862:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12862:16:0::1;12838:40;;12907:4;12889;12894:1;12889:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12889:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12933:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12933:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12889:7;;12933:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12923:4;12928:1;12923:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12923:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12998:15:::1;::::0;12966:62:::1;::::0;12983:4:::1;::::0;12998:15:::1;13016:11:::0;12966:8:::1;:62::i;:::-;13039:15;::::0;:196:::1;::::0;-1:-1:-1;;;13039:196:0;;-1:-1:-1;;;;;13039:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13120:11;;13039:15:::1;::::0;13162:4;;13189::::1;::::0;13209:15:::1;::::0;13039:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5448:6:0;:14;;-1:-1:-1;;;;5448:14:0;;;-1:-1:-1;;;;12760:483:0:o;13421:92::-;13478:10;;:27;;-1:-1:-1;;;;;13478:10:0;;;;:27;;;;;13498:6;;13478:10;:27;:10;:27;13498:6;13478:10;:27;;;;;;;;;;;;;;;;;;;7398:352;-1:-1:-1;;;;;7559:25:0;;7523:17;7559:25;;;:19;:25;;;;;;;;7555:188;;;7601:50;7623:4;7629:2;7633:6;7641:9;7601:21;:50::i;:::-;7555:188;;;7696:35;7714:4;7720:2;7724:6;7696:17;:35::i;:::-;7684:47;;7555:188;7512:238;7398:352;;;:::o;2001:136::-;2059:7;2086:43;2090:1;2093;2086:43;;;;;;;;;;;;;;;;;:3;:43::i;1814:179::-;1872:7;;1904:5;1908:1;1904;:5;:::i;:::-;1892:17;;1933:1;1928;:6;;1920:46;;;;-1:-1:-1;;;1920:46:0;;13255:2:1;1920:46:0;;;13237:21:1;13294:2;13274:18;;;13267:30;13333:29;13313:18;;;13306:57;13380:18;;1920:46:0;13053:351:1;12099:335:0;-1:-1:-1;;;;;12272:15:0;;;;;;:9;:15;;;;;;:30;;12292:9;12272:19;:30::i;:::-;-1:-1:-1;;;;;12254:15:0;;;;;;:9;:15;;;;;:48;12329:40;12347:21;:6;12358:9;12347:10;:21::i;:::-;-1:-1:-1;;;;;12329:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12313:13:0;;;;;;;:9;:13;;;;;:56;;;;12385:41;;-1:-1:-1;;;;;;;;;;;12404:21:0;:6;12415:9;12404:10;:21::i;:::-;12385:41;;1549:25:1;;;1537:2;1522:18;12385:41:0;;;;;;;12099:335;;;;:::o;6299:1091::-;6419:7;6439:17;6459:184;6639:3;6459:161;6515:15;;6503:9;;:27;6502:103;;6591:14;;6502:103;;;6555:12;;6502:103;6459:6;;:24;:161::i;:::-;:179;;:184::i;:::-;6666:13;;6439:204;;-1:-1:-1;;;;;;6660:19:0;;;6666:13;;6660:19;:44;;;;-1:-1:-1;;;;;;6683:21:0;;6699:4;6683:21;;6660:44;6656:300;;;6733:211;6940:3;6733:184;6797:16;;6785:9;;:28;6784:114;;6883:15;;6784:114;;;6842:13;;6733:6;;:28;:184::i;:211::-;6721:223;;6656:300;6972:13;;6968:204;;7047:4;7029:24;;;;:9;:24;;;;;;:71;;7076:9;7029:28;:71::i;:::-;7020:4;7002:24;;;;:9;:24;;;;;;;:98;;;;7120:40;;-1:-1:-1;;;;;7120:40:0;;;-1:-1:-1;;;;;;;;;;;7120:40:0;;;7150:9;1549:25:1;;1537:2;1522:18;;1403:177;7120:40:0;;;;;;;;6968:204;-1:-1:-1;;;;;7202:15:0;;;;;;:9;:15;;;;;;:27;;7222:6;7202:19;:27::i;:::-;-1:-1:-1;;;;;7184:15:0;;;;;;:9;:15;;;;;:45;7256:40;7274:21;:6;7285:9;7274:10;:21::i;:::-;-1:-1:-1;;;;;7256:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;7240:13:0;;;;;;;:9;:13;;;;;:56;;;;7312:41;;-1:-1:-1;;;;;;;;;;;7331:21:0;:6;7342:9;7331:10;:21::i;:::-;7312:41;;1549:25:1;;;1537:2;1522:18;7312:41:0;;;;;;;7373:9;6299:1091;-1:-1:-1;;;;6299:1091:0:o;2377:246::-;2435:7;2459:6;2455:47;;-1:-1:-1;2489:1:0;2482:8;;2455:47;2512:9;2524:5;2528:1;2524;:5;:::i;:::-;2512:17;-1:-1:-1;2557:1:0;2548:5;2552:1;2512:17;2548:5;:::i;:::-;:10;2540:56;;;;-1:-1:-1;;;2540:56:0;;13833:2:1;2540:56:0;;;13815:21:1;13872:2;13852:18;;;13845:30;13911:34;13891:18;;;13884:62;-1:-1:-1;;;13962:18:1;;;13955:31;14003:19;;2540:56:0;13631:397:1;2631:132:0;2689:7;2716:39;2720:1;2723;2716:39;;;;;;;;;;;;;;;;;2891:7;2926:12;2919:5;2911:28;;;;-1:-1:-1;;;2911:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2950:9:0;2962:5;2966:1;2962;:5;:::i;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;671:70;616:131;:::o;752:134::-;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:127::-;2296:10;2291:3;2287:20;2284:1;2277:31;2327:4;2324:1;2317:15;2351:4;2348:1;2341:15;2367:1121;2451:6;2482:2;2525;2513:9;2504:7;2500:23;2496:32;2493:52;;;2541:1;2538;2531:12;2493:52;2581:9;2568:23;2610:18;2651:2;2643:6;2640:14;2637:34;;;2667:1;2664;2657:12;2637:34;2705:6;2694:9;2690:22;2680:32;;2750:7;2743:4;2739:2;2735:13;2731:27;2721:55;;2772:1;2769;2762:12;2721:55;2808:2;2795:16;2830:2;2826;2823:10;2820:36;;;2836:18;;:::i;:::-;2882:2;2879:1;2875:10;2914:2;2908:9;2977:2;2973:7;2968:2;2964;2960:11;2956:25;2948:6;2944:38;3032:6;3020:10;3017:22;3012:2;3000:10;2997:18;2994:46;2991:72;;;3043:18;;:::i;:::-;3079:2;3072:22;3129:18;;;3163:15;;;;-1:-1:-1;3205:11:1;;;3201:20;;;3233:19;;;3230:39;;;3265:1;3262;3255:12;3230:39;3289:11;;;;3309:148;3325:6;3320:3;3317:15;3309:148;;;3391:23;3410:3;3391:23;:::i;:::-;3379:36;;3342:12;;;;3435;;;;3309:148;;;3476:6;2367:1121;-1:-1:-1;;;;;;;;2367:1121:1:o;3493:247::-;3552:6;3605:2;3593:9;3584:7;3580:23;3576:32;3573:52;;;3621:1;3618;3611:12;3573:52;3660:9;3647:23;3679:31;3704:5;3679:31;:::i;3953:388::-;4021:6;4029;4082:2;4070:9;4061:7;4057:23;4053:32;4050:52;;;4098:1;4095;4088:12;4050:52;4137:9;4124:23;4156:31;4181:5;4156:31;:::i;:::-;4206:5;-1:-1:-1;4263:2:1;4248:18;;4235:32;4276:33;4235:32;4276:33;:::i;:::-;4328:7;4318:17;;;3953:388;;;;;:::o;4346:127::-;4407:10;4402:3;4398:20;4395:1;4388:31;4438:4;4435:1;4428:15;4462:4;4459:1;4452:15;4478:422;4567:1;4610:5;4567:1;4624:270;4645:7;4635:8;4632:21;4624:270;;;4704:4;4700:1;4696:6;4692:17;4686:4;4683:27;4680:53;;;4713:18;;:::i;:::-;4763:7;4753:8;4749:22;4746:55;;;4783:16;;;;4746:55;4862:22;;;;4822:15;;;;4624:270;;;4628:3;4478:422;;;;;:::o;4905:806::-;4954:5;4984:8;4974:80;;-1:-1:-1;5025:1:1;5039:5;;4974:80;5073:4;5063:76;;-1:-1:-1;5110:1:1;5124:5;;5063:76;5155:4;5173:1;5168:59;;;;5241:1;5236:130;;;;5148:218;;5168:59;5198:1;5189:10;;5212:5;;;5236:130;5273:3;5263:8;5260:17;5257:43;;;5280:18;;:::i;:::-;-1:-1:-1;;5336:1:1;5322:16;;5351:5;;5148:218;;5450:2;5440:8;5437:16;5431:3;5425:4;5422:13;5418:36;5412:2;5402:8;5399:16;5394:2;5388:4;5385:12;5381:35;5378:77;5375:159;;;-1:-1:-1;5487:19:1;;;5519:5;;5375:159;5566:34;5591:8;5585:4;5566:34;:::i;:::-;5636:6;5632:1;5628:6;5624:19;5615:7;5612:32;5609:58;;;5647:18;;:::i;:::-;5685:20;;4905:806;-1:-1:-1;;;4905:806:1:o;5716:140::-;5774:5;5803:47;5844:4;5834:8;5830:19;5824:4;5803:47;:::i;5861:168::-;5901:7;5967:1;5963;5959:6;5955:14;5952:1;5949:21;5944:1;5937:9;5930:17;5926:45;5923:71;;;5974:18;;:::i;:::-;-1:-1:-1;6014:9:1;;5861:168::o;6034:356::-;6236:2;6218:21;;;6255:18;;;6248:30;6314:34;6309:2;6294:18;;6287:62;6381:2;6366:18;;6034:356::o;6395:127::-;6456:10;6451:3;6447:20;6444:1;6437:31;6487:4;6484:1;6477:15;6511:4;6508:1;6501:15;6527:135;6566:3;-1:-1:-1;;6587:17:1;;6584:43;;;6607:18;;:::i;:::-;-1:-1:-1;6654:1:1;6643:13;;6527:135::o;7631:306::-;7719:6;7727;7735;7788:2;7776:9;7767:7;7763:23;7759:32;7756:52;;;7804:1;7801;7794:12;7756:52;7833:9;7827:16;7817:26;;7883:2;7872:9;7868:18;7862:25;7852:35;;7927:2;7916:9;7912:18;7906:25;7896:35;;7631:306;;;;;:::o;8221:277::-;8288:6;8341:2;8329:9;8320:7;8316:23;8312:32;8309:52;;;8357:1;8354;8347:12;8309:52;8389:9;8383:16;8442:5;8435:13;8428:21;8421:5;8418:32;8408:60;;8464:1;8461;8454:12;8503:251;8573:6;8626:2;8614:9;8605:7;8601:23;8597:32;8594:52;;;8642:1;8639;8632:12;8594:52;8674:9;8668:16;8693:31;8718:5;8693:31;:::i;11450:128::-;11490:3;11521:1;11517:6;11514:1;11511:13;11508:39;;;11527:18;;:::i;:::-;-1:-1:-1;11563:9:1;;11450:128::o;11938:125::-;11978:4;12006:1;12003;12000:8;11997:34;;;12011:18;;:::i;:::-;-1:-1:-1;12048:9:1;;11938:125::o;12068:980::-;12330:4;12378:3;12367:9;12363:19;12409:6;12398:9;12391:25;12435:2;12473:6;12468:2;12457:9;12453:18;12446:34;12516:3;12511:2;12500:9;12496:18;12489:31;12540:6;12575;12569:13;12606:6;12598;12591:22;12644:3;12633:9;12629:19;12622:26;;12683:2;12675:6;12671:15;12657:29;;12704:1;12714:195;12728:6;12725:1;12722:13;12714:195;;;12793:13;;-1:-1:-1;;;;;12789:39:1;12777:52;;12884:15;;;;12849:12;;;;12825:1;12743:9;12714:195;;;-1:-1:-1;;;;;;;12965:32:1;;;;12960:2;12945:18;;12938:60;-1:-1:-1;;;13029:3:1;13014:19;13007:35;12926:3;12068:980;-1:-1:-1;;;12068:980:1:o;13409:217::-;13449:1;13475;13465:132;;13519:10;13514:3;13510:20;13507:1;13500:31;13554:4;13551:1;13544:15;13582:4;13579:1;13572:15;13465:132;-1:-1:-1;13611:9:1;;13409:217::o

Swarm Source

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