ETH Price: $2,241.94 (+2.42%)

Token

MEGUSTA (MEGUSTA)
 

Overview

Max Total Supply

10,000,000 MEGUSTA

Holders

154

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
55,529.666773794 MEGUSTA

Value
$0.00
0xc925fd3249ea1174e2860fbb24d7db3f89cefad9
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:
MEGUSTA

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-20
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

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

    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 MEGUSTA is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "MEGUSTA";
    string private constant _symbol = "MEGUSTA";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private isTxLimitExept;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 8;
    uint256 private _redisFeeOnSell = 0; 
    uint256 private _taxFeeOnSell = 8;
    uint256 public maxTxAmount = (_tTotal * 1) / 100; //1%
    uint256 public maxWallet = (_tTotal * 1) / 100; //1%

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; 

    address payable private _devAddress = payable(0x1371C7fea6dF5164B09dad4336770C91EA636539);
    address payable private _marketingAddress = payable(0xB2629c53306c7b67B71b97bCFCc4f1B4891F7529);
    address payable private _megustaPoolAddress = payable(0xFCeAc595864469e19c7CC8F89384d903db5D02a5);


    IUniswapV2Router public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTokenAmount = (_tTotal * 1) / 1000; // 0.1%
    uint256 public _swapTokensAtAmount = (_tTotal * 1) / 100000;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[_megustaPoolAddress] = true;
        isTxLimitExept[owner()] = true;
        isTxLimitExept[address(this)] = true;
        isTxLimitExept[_megustaPoolAddress] = true;
        isTxLimitExept[address(uniswapV2Router)] = 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }


    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    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 setMaxWallet(uint256 amount) external onlyOwner {
        require(amount >= totalSupply() / 50); //2%
        maxWallet = amount;
    }

    function setTxLimit(uint256 amount) external onlyOwner {
        require(amount >= totalSupply() / 50); //2%
        maxTxAmount = amount;
    }

    function checkWalletLimit(address recipient, uint256 amount) internal view {
        address DEAD = 0x000000000000000000000000000000000000dEaD;
        if (
            recipient != owner() &&
            recipient != address(this) &&
            recipient != address(DEAD) &&
            recipient != uniswapV2Pair &&
            recipient != _megustaPoolAddress &&
            recipient != address(uniswapV2Router)
        ) {
            uint256 heldTokens = balanceOf(recipient);
            require(
                (heldTokens + amount) <= maxWallet,
                "Total Holding is currently limited, you can not buy that much."
            );
        }
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(
            amount <= maxTxAmount || isTxLimitExept[sender],
            "TX Limit Exceeded"
        );
    }

    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 (from != owner() && to != owner()) {

            require(!bots[from] && !bots[to], "TOKEN: Bot!");

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTokenAmount)
            {
                contractTokenBalance = _maxTokenAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        checkWalletLimit(to, amount);
        checkTxLimit(from, amount);

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                //Trade start check
                if (!tradingOpen) {
                    require(from == owner(), "TOKEN: Trading disabled");
                }
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (!tradingOpen) {
                    require(from == owner(), "TOKEN: Trading disabled");
                }
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    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 sendETHToFee(uint256 amount) private {
        uint256 devAddressAmount = (amount * 25) / 100; // 25%
        uint256 marketingAddressAmount = (amount * 25) / 100; // 25%
        uint256 megustaPoolAddressAmount = (amount * 50) / 100; // 50%

        _devAddress.transfer(devAddressAmount);
        _marketingAddress.transfer(marketingAddressAmount);
        _megustaPoolAddress.transfer(megustaPoolAddressAmount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }


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

    function manualswap() external {
        require(_msgSender() == _devAddress || _msgSender() == _marketingAddress || _msgSender() == _megustaPoolAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _devAddress || _msgSender() == _marketingAddress || _msgSender() == _megustaPoolAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBot(address bot) public onlyOwner {
        bots[bot] = true;
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        require(redisFeeOnBuy + taxFeeOnBuy <= 15, "Buy tax cannot be greater than 15%");
        require(redisFeeOnSell + taxFeeOnSell <= 15, "Sell tax cannot be greater than 15%");
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTokenAmount(uint256 maxTokenAmount) public onlyOwner {
        _maxTokenAmount = maxTokenAmount;
    }

    function updateDevAddress(address payable newDevAddress) public onlyOwner{
        _devAddress = newDevAddress;
    }

    function updateMarketingAddress(address payable newMarketingAddress) public onlyOwner{
        _marketingAddress = newMarketingAddress;
    }

    function updateMegustaPoolAddress(address payable newMegustaPoolAddress) public onlyOwner{
        _megustaPoolAddress = newMegustaPoolAddress;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","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":[{"internalType":"address","name":"bot","type":"address"}],"name":"blockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTokenAmount","type":"uint256"}],"name":"setMaxTokenAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newDevAddress","type":"address"}],"name":"updateDevAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingAddress","type":"address"}],"name":"updateMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMegustaPoolAddress","type":"address"}],"name":"updateMegustaPoolAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000019662386f26fc10000600019620002da565b620000279060001962000307565b60075560006009556008600a556000600b556008600c556064662386f26fc10000600162000056919062000321565b62000062919062000343565b600d5560646200007b662386f26fc10000600162000321565b62000087919062000343565b600e55600b54600f819055600c546010819055601191909155601255601480546001600160a01b0319908116731371c7fea6df5164b09dad4336770c91ea6365391790915560158054821673b2629c53306c7b67b71b97bcfcc4f1b4891f75291790556016805490911673fceac595864469e19c7cc8f89384d903db5d02a51790556018805461ffff60a81b1916600160b01b1790556103e862000134662386f26fc10000600162000321565b62000140919062000343565b601955620186a06200015b662386f26fc10000600162000321565b62000167919062000343565b601a553480156200017757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360008181526002602090815260408083209490945581546001600160a01b039081168352600582528483208054600160ff19918216811790925530808652878620805483168417905560145484168652878620805483168417905560155484168652878620805483168417905560168054851687528887208054841685179055865485168752600686528887208054841685179055908652878620805483168417905554831685528685208054821683179055601754909216845285842080549092161790559251662386f26fc100008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200035a565b634e487b7160e01b600052601260045260246000fd5b600082620002ec57620002ec620002c4565b500690565b634e487b7160e01b600052601160045260246000fd5b6000828210156200031c576200031c620002f1565b500390565b60008160001904831182151516156200033e576200033e620002f1565b500290565b600082620003555762000355620002c4565b500490565b612577806200036a6000396000f3fe6080604052600436106102085760003560e01c8063793da93111610118578063b839a80e116100a0578063dd62ed3e1161006f578063dd62ed3e146105d0578063e70ef8a414610616578063e8078d9414610636578063f2fde38b1461064b578063f8b45b051461066b57600080fd5b8063b839a80e1461054b578063bfd792841461056b578063c3c8cd801461059b578063c492f046146105b057600080fd5b80638f70ccf7116100e75780638f70ccf7146104cb57806395d89b411461021457806398a5c315146104eb578063a2a957bb1461050b578063a9059cbb1461052b57600080fd5b8063793da9311461045757806385033762146104775780638c0b5e22146104975780638da5cb5b146104ad57600080fd5b8063313ce5671161019b5780636b9990531161016a5780636b999053146103cd5780636d8aa8f8146103ed5780636fc3eaec1461040d57806370a0823114610422578063715018a61461044257600080fd5b8063313ce5671461035157806349bd5a5e1461036d5780635c85974f1461038d5780635d0044ca146103ad57600080fd5b806318160ddd116101d757806318160ddd146102df5780632369bf83146102f957806323b872dd1461031b5780632fd689e31461033b57600080fd5b806306fdde0314610214578063095ea7b3146102535780630e9756de146102835780631694505e146102a757600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5060408051808201825260078152664d45475553544160c81b6020820152905161024a919061212b565b60405180910390f35b34801561025f57600080fd5b5061027361026e366004612195565b610681565b604051901515815260200161024a565b34801561028f57600080fd5b5061029960195481565b60405190815260200161024a565b3480156102b357600080fd5b506017546102c7906001600160a01b031681565b6040516001600160a01b03909116815260200161024a565b3480156102eb57600080fd5b50662386f26fc10000610299565b34801561030557600080fd5b506103196103143660046121c1565b610698565b005b34801561032757600080fd5b506102736103363660046121de565b6106ed565b34801561034757600080fd5b50610299601a5481565b34801561035d57600080fd5b506040516009815260200161024a565b34801561037957600080fd5b506018546102c7906001600160a01b031681565b34801561039957600080fd5b506103196103a836600461221f565b610756565b3480156103b957600080fd5b506103196103c836600461221f565b6107a3565b3480156103d957600080fd5b506103196103e83660046121c1565b6107f0565b3480156103f957600080fd5b50610319610408366004612246565b61083b565b34801561041957600080fd5b50610319610883565b34801561042e57600080fd5b5061029961043d3660046121c1565b6108ec565b34801561044e57600080fd5b5061031961090e565b34801561046357600080fd5b506103196104723660046121c1565b610982565b34801561048357600080fd5b506103196104923660046121c1565b6109ce565b3480156104a357600080fd5b50610299600d5481565b3480156104b957600080fd5b506000546001600160a01b03166102c7565b3480156104d757600080fd5b506103196104e6366004612246565b610a1a565b3480156104f757600080fd5b5061031961050636600461221f565b610a62565b34801561051757600080fd5b50610319610526366004612263565b610a91565b34801561053757600080fd5b50610273610546366004612195565b610b9a565b34801561055757600080fd5b5061031961056636600461221f565b610ba7565b34801561057757600080fd5b506102736105863660046121c1565b60136020526000908152604090205460ff1681565b3480156105a757600080fd5b50610319610bd6565b3480156105bc57600080fd5b506103196105cb366004612295565b610c48565b3480156105dc57600080fd5b506102996105eb36600461231b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062257600080fd5b506103196106313660046121c1565b610ce9565b34801561064257600080fd5b50610319610d37565b34801561065757600080fd5b506103196106663660046121c1565b6110d8565b34801561067757600080fd5b50610299600e5481565b600061068e3384846111c2565b5060015b92915050565b6000546001600160a01b031633146106cb5760405162461bcd60e51b81526004016106c290612354565b60405180910390fd5b601580546001600160a01b0319166001600160a01b0392909216919091179055565b60006106fa8484846112e6565b61074c84336107478560405180606001604052806028815260200161251a602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061177c565b6111c2565b5060019392505050565b6000546001600160a01b031633146107805760405162461bcd60e51b81526004016106c290612354565b6107926032662386f26fc1000061239f565b81101561079e57600080fd5b600d55565b6000546001600160a01b031633146107cd5760405162461bcd60e51b81526004016106c290612354565b6107df6032662386f26fc1000061239f565b8110156107eb57600080fd5b600e55565b6000546001600160a01b0316331461081a5760405162461bcd60e51b81526004016106c290612354565b6001600160a01b03166000908152601360205260409020805460ff19169055565b6000546001600160a01b031633146108655760405162461bcd60e51b81526004016106c290612354565b60188054911515600160b01b0260ff60b01b19909216919091179055565b6014546001600160a01b0316336001600160a01b031614806108b857506015546001600160a01b0316336001600160a01b0316145b806108d657506016546001600160a01b0316336001600160a01b0316145b6108df57600080fd5b476108e9816117b6565b50565b6001600160a01b038116600090815260026020526040812054610692906118bd565b6000546001600160a01b031633146109385760405162461bcd60e51b81526004016106c290612354565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ac5760405162461bcd60e51b81526004016106c290612354565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109f85760405162461bcd60e51b81526004016106c290612354565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a445760405162461bcd60e51b81526004016106c290612354565b60188054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b81526004016106c290612354565b601a55565b6000546001600160a01b03163314610abb5760405162461bcd60e51b81526004016106c290612354565b600f610ac783866123c1565b1115610b205760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742062652067726561746572207468616e2031604482015261352560f01b60648201526084016106c2565b600f610b2c82856123c1565b1115610b865760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742062652067726561746572207468616e2060448201526231352560e81b60648201526084016106c2565b600993909355600b91909155600a55600c55565b600061068e3384846112e6565b6000546001600160a01b03163314610bd15760405162461bcd60e51b81526004016106c290612354565b601955565b6014546001600160a01b0316336001600160a01b03161480610c0b57506015546001600160a01b0316336001600160a01b0316145b80610c2957506016546001600160a01b0316336001600160a01b0316145b610c3257600080fd5b6000610c3d306108ec565b90506108e981611941565b6000546001600160a01b03163314610c725760405162461bcd60e51b81526004016106c290612354565b60005b82811015610ce3578160056000868685818110610c9457610c946123d9565b9050602002016020810190610ca991906121c1565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610cdb816123ef565b915050610c75565b50505050565b6000546001600160a01b03163314610d135760405162461bcd60e51b81526004016106c290612354565b6001600160a01b03166000908152601360205260409020805460ff19166001179055565b6000546001600160a01b03163314610d615760405162461bcd60e51b81526004016106c290612354565b601854600160a01b900460ff1615610dbb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106c2565b601780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610df63082662386f26fc100006111c2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2f57600080fd5b505afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e67919061240a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610eaf57600080fd5b505afa158015610ec3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee7919061240a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f67919061240a565b601880546001600160a01b0319166001600160a01b039283161790556017541663f305d7194730610f97816108ec565b600080610fac6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110489190612427565b505060185460175460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561109c57600080fd5b505af11580156110b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d49190612455565b5050565b6000546001600160a01b031633146111025760405162461bcd60e51b81526004016106c290612354565b6001600160a01b0381166111675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166112245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106c2565b6001600160a01b0382166112855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106c2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661134a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106c2565b6001600160a01b0382166113ac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106c2565b6000811161140e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106c2565b6000546001600160a01b0384811691161480159061143a57506000546001600160a01b03838116911614155b15611592576001600160a01b03831660009081526013602052604090205460ff1615801561148157506001600160a01b03821660009081526013602052604090205460ff16155b6114bb5760405162461bcd60e51b815260206004820152600b60248201526a544f4b454e3a20426f742160a81b60448201526064016106c2565b60006114c6306108ec565b601a546019549192508210159082106114df5760195491505b8080156114f65750601854600160a81b900460ff16155b801561151057506018546001600160a01b03868116911614155b80156115255750601854600160b01b900460ff165b801561154a57506001600160a01b03851660009081526005602052604090205460ff16155b801561156f57506001600160a01b03841660009081526005602052604090205460ff16155b1561158f5761157d82611941565b47801561158d5761158d476117b6565b505b50505b600161159e8383611aca565b6115a88483611c0e565b6001600160a01b03841660009081526005602052604090205460ff16806115e757506001600160a01b03831660009081526005602052604090205460ff165b8061161957506018546001600160a01b0385811691161480159061161957506018546001600160a01b03848116911614155b1561162657506000611770565b6018546001600160a01b03858116911614801561165157506017546001600160a01b03848116911614155b156116cb57601854600160a01b900460ff166116be576000546001600160a01b038581169116146116be5760405162461bcd60e51b81526020600482015260176024820152761513d2d1538e88151c98591a5b99c8191a5cd8589b1959604a1b60448201526064016106c2565b600954600f55600a546010555b6018546001600160a01b0384811691161480156116f657506017546001600160a01b03858116911614155b1561177057601854600160a01b900460ff16611763576000546001600160a01b038581169116146117635760405162461bcd60e51b81526020600482015260176024820152761513d2d1538e88151c98591a5b99c8191a5cd8589b1959604a1b60448201526064016106c2565b600b54600f55600c546010555b610ce384848484611c77565b600081848411156117a05760405162461bcd60e51b81526004016106c2919061212b565b5060006117ad8486612472565b95945050505050565b600060646117c5836019612489565b6117cf919061239f565b9050600060646117e0846019612489565b6117ea919061239f565b9050600060646117fb856032612489565b611805919061239f565b6014546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015611840573d6000803e3d6000fd5b506015546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561187b573d6000803e3d6000fd5b506016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156118b6573d6000803e3d6000fd5b5050505050565b60006007548211156119245760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106c2565b600061192e611ca5565b905061193a8382611cc8565b9392505050565b6018805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611989576119896123d9565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156119dd57600080fd5b505afa1580156119f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a15919061240a565b81600181518110611a2857611a286123d9565b6001600160a01b039283166020918202929092010152601754611a4e91309116846111c2565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a879085906000908690309042906004016124a8565b600060405180830381600087803b158015611aa157600080fd5b505af1158015611ab5573d6000803e3d6000fd5b50506018805460ff60a81b1916905550505050565b61dead611adf6000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015611b0957506001600160a01b0383163014155b8015611b275750806001600160a01b0316836001600160a01b031614155b8015611b4157506018546001600160a01b03848116911614155b8015611b5b57506016546001600160a01b03848116911614155b8015611b7557506017546001600160a01b03848116911614155b15611c09576000611b85846108ec565b600e54909150611b9584836123c1565b1115610ce35760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106c2565b505050565b600d5481111580611c3757506001600160a01b03821660009081526006602052604090205460ff165b6110d45760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106c2565b80611c8457611c84611d0a565b611c8f848484611d38565b80610ce357610ce3601154600f55601254601055565b6000806000611cb2611e2f565b9092509050611cc18282611cc8565b9250505090565b600061193a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e6d565b600f54158015611d1a5750601054155b15611d2157565b600f80546011556010805460125560009182905555565b600080600080600080611d4a87611e9b565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611d7c9087611ef8565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611dab9086611f3a565b6001600160a01b038916600090815260026020526040902055611dcd81611f99565b611dd78483611fe3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611e1c91815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc10000611e498282611cc8565b821015611e6457505060075492662386f26fc1000092509050565b90939092509050565b60008183611e8e5760405162461bcd60e51b81526004016106c2919061212b565b5060006117ad848661239f565b6000806000806000806000806000611eb88a600f54601054612007565b9250925092506000611ec8611ca5565b90506000806000611edb8e87878761205c565b919e509c509a509598509396509194505050505091939550919395565b600061193a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061177c565b600080611f4783856123c1565b90508381101561193a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c2565b6000611fa3611ca5565b90506000611fb183836120ac565b30600090815260026020526040902054909150611fce9082611f3a565b30600090815260026020526040902055505050565b600754611ff09083611ef8565b6007556008546120009082611f3a565b6008555050565b6000808080612021606461201b89896120ac565b90611cc8565b90506000612034606461201b8a896120ac565b9050600061204c826120468b86611ef8565b90611ef8565b9992985090965090945050505050565b600080808061206b88866120ac565b9050600061207988876120ac565b9050600061208788886120ac565b90506000612099826120468686611ef8565b939b939a50919850919650505050505050565b6000826120bb57506000610692565b60006120c78385612489565b9050826120d4858361239f565b1461193a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106c2565b600060208083528351808285015260005b818110156121585785810183015185820160400152820161213c565b8181111561216a576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108e957600080fd5b600080604083850312156121a857600080fd5b82356121b381612180565b946020939093013593505050565b6000602082840312156121d357600080fd5b813561193a81612180565b6000806000606084860312156121f357600080fd5b83356121fe81612180565b9250602084013561220e81612180565b929592945050506040919091013590565b60006020828403121561223157600080fd5b5035919050565b80151581146108e957600080fd5b60006020828403121561225857600080fd5b813561193a81612238565b6000806000806080858703121561227957600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000604084860312156122aa57600080fd5b833567ffffffffffffffff808211156122c257600080fd5b818601915086601f8301126122d657600080fd5b8135818111156122e557600080fd5b8760208260051b85010111156122fa57600080fd5b6020928301955093505084013561231081612238565b809150509250925092565b6000806040838503121561232e57600080fd5b823561233981612180565b9150602083013561234981612180565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826123bc57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156123d4576123d4612389565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561240357612403612389565b5060010190565b60006020828403121561241c57600080fd5b815161193a81612180565b60008060006060848603121561243c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561246757600080fd5b815161193a81612238565b60008282101561248457612484612389565b500390565b60008160001904831182151516156124a3576124a3612389565b500290565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124f85784516001600160a01b0316835293830193918301916001016124d3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bac07162a2bc817589c50a9fc97fe1dbfb451173382a5ec9e4a3a47302fd914764736f6c63430008090033

Deployed Bytecode

0x6080604052600436106102085760003560e01c8063793da93111610118578063b839a80e116100a0578063dd62ed3e1161006f578063dd62ed3e146105d0578063e70ef8a414610616578063e8078d9414610636578063f2fde38b1461064b578063f8b45b051461066b57600080fd5b8063b839a80e1461054b578063bfd792841461056b578063c3c8cd801461059b578063c492f046146105b057600080fd5b80638f70ccf7116100e75780638f70ccf7146104cb57806395d89b411461021457806398a5c315146104eb578063a2a957bb1461050b578063a9059cbb1461052b57600080fd5b8063793da9311461045757806385033762146104775780638c0b5e22146104975780638da5cb5b146104ad57600080fd5b8063313ce5671161019b5780636b9990531161016a5780636b999053146103cd5780636d8aa8f8146103ed5780636fc3eaec1461040d57806370a0823114610422578063715018a61461044257600080fd5b8063313ce5671461035157806349bd5a5e1461036d5780635c85974f1461038d5780635d0044ca146103ad57600080fd5b806318160ddd116101d757806318160ddd146102df5780632369bf83146102f957806323b872dd1461031b5780632fd689e31461033b57600080fd5b806306fdde0314610214578063095ea7b3146102535780630e9756de146102835780631694505e146102a757600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5060408051808201825260078152664d45475553544160c81b6020820152905161024a919061212b565b60405180910390f35b34801561025f57600080fd5b5061027361026e366004612195565b610681565b604051901515815260200161024a565b34801561028f57600080fd5b5061029960195481565b60405190815260200161024a565b3480156102b357600080fd5b506017546102c7906001600160a01b031681565b6040516001600160a01b03909116815260200161024a565b3480156102eb57600080fd5b50662386f26fc10000610299565b34801561030557600080fd5b506103196103143660046121c1565b610698565b005b34801561032757600080fd5b506102736103363660046121de565b6106ed565b34801561034757600080fd5b50610299601a5481565b34801561035d57600080fd5b506040516009815260200161024a565b34801561037957600080fd5b506018546102c7906001600160a01b031681565b34801561039957600080fd5b506103196103a836600461221f565b610756565b3480156103b957600080fd5b506103196103c836600461221f565b6107a3565b3480156103d957600080fd5b506103196103e83660046121c1565b6107f0565b3480156103f957600080fd5b50610319610408366004612246565b61083b565b34801561041957600080fd5b50610319610883565b34801561042e57600080fd5b5061029961043d3660046121c1565b6108ec565b34801561044e57600080fd5b5061031961090e565b34801561046357600080fd5b506103196104723660046121c1565b610982565b34801561048357600080fd5b506103196104923660046121c1565b6109ce565b3480156104a357600080fd5b50610299600d5481565b3480156104b957600080fd5b506000546001600160a01b03166102c7565b3480156104d757600080fd5b506103196104e6366004612246565b610a1a565b3480156104f757600080fd5b5061031961050636600461221f565b610a62565b34801561051757600080fd5b50610319610526366004612263565b610a91565b34801561053757600080fd5b50610273610546366004612195565b610b9a565b34801561055757600080fd5b5061031961056636600461221f565b610ba7565b34801561057757600080fd5b506102736105863660046121c1565b60136020526000908152604090205460ff1681565b3480156105a757600080fd5b50610319610bd6565b3480156105bc57600080fd5b506103196105cb366004612295565b610c48565b3480156105dc57600080fd5b506102996105eb36600461231b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062257600080fd5b506103196106313660046121c1565b610ce9565b34801561064257600080fd5b50610319610d37565b34801561065757600080fd5b506103196106663660046121c1565b6110d8565b34801561067757600080fd5b50610299600e5481565b600061068e3384846111c2565b5060015b92915050565b6000546001600160a01b031633146106cb5760405162461bcd60e51b81526004016106c290612354565b60405180910390fd5b601580546001600160a01b0319166001600160a01b0392909216919091179055565b60006106fa8484846112e6565b61074c84336107478560405180606001604052806028815260200161251a602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061177c565b6111c2565b5060019392505050565b6000546001600160a01b031633146107805760405162461bcd60e51b81526004016106c290612354565b6107926032662386f26fc1000061239f565b81101561079e57600080fd5b600d55565b6000546001600160a01b031633146107cd5760405162461bcd60e51b81526004016106c290612354565b6107df6032662386f26fc1000061239f565b8110156107eb57600080fd5b600e55565b6000546001600160a01b0316331461081a5760405162461bcd60e51b81526004016106c290612354565b6001600160a01b03166000908152601360205260409020805460ff19169055565b6000546001600160a01b031633146108655760405162461bcd60e51b81526004016106c290612354565b60188054911515600160b01b0260ff60b01b19909216919091179055565b6014546001600160a01b0316336001600160a01b031614806108b857506015546001600160a01b0316336001600160a01b0316145b806108d657506016546001600160a01b0316336001600160a01b0316145b6108df57600080fd5b476108e9816117b6565b50565b6001600160a01b038116600090815260026020526040812054610692906118bd565b6000546001600160a01b031633146109385760405162461bcd60e51b81526004016106c290612354565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ac5760405162461bcd60e51b81526004016106c290612354565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109f85760405162461bcd60e51b81526004016106c290612354565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a445760405162461bcd60e51b81526004016106c290612354565b60188054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a8c5760405162461bcd60e51b81526004016106c290612354565b601a55565b6000546001600160a01b03163314610abb5760405162461bcd60e51b81526004016106c290612354565b600f610ac783866123c1565b1115610b205760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742062652067726561746572207468616e2031604482015261352560f01b60648201526084016106c2565b600f610b2c82856123c1565b1115610b865760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742062652067726561746572207468616e2060448201526231352560e81b60648201526084016106c2565b600993909355600b91909155600a55600c55565b600061068e3384846112e6565b6000546001600160a01b03163314610bd15760405162461bcd60e51b81526004016106c290612354565b601955565b6014546001600160a01b0316336001600160a01b03161480610c0b57506015546001600160a01b0316336001600160a01b0316145b80610c2957506016546001600160a01b0316336001600160a01b0316145b610c3257600080fd5b6000610c3d306108ec565b90506108e981611941565b6000546001600160a01b03163314610c725760405162461bcd60e51b81526004016106c290612354565b60005b82811015610ce3578160056000868685818110610c9457610c946123d9565b9050602002016020810190610ca991906121c1565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610cdb816123ef565b915050610c75565b50505050565b6000546001600160a01b03163314610d135760405162461bcd60e51b81526004016106c290612354565b6001600160a01b03166000908152601360205260409020805460ff19166001179055565b6000546001600160a01b03163314610d615760405162461bcd60e51b81526004016106c290612354565b601854600160a01b900460ff1615610dbb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106c2565b601780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610df63082662386f26fc100006111c2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2f57600080fd5b505afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e67919061240a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610eaf57600080fd5b505afa158015610ec3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee7919061240a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f67919061240a565b601880546001600160a01b0319166001600160a01b039283161790556017541663f305d7194730610f97816108ec565b600080610fac6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110489190612427565b505060185460175460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561109c57600080fd5b505af11580156110b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d49190612455565b5050565b6000546001600160a01b031633146111025760405162461bcd60e51b81526004016106c290612354565b6001600160a01b0381166111675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166112245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106c2565b6001600160a01b0382166112855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106c2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661134a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106c2565b6001600160a01b0382166113ac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106c2565b6000811161140e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106c2565b6000546001600160a01b0384811691161480159061143a57506000546001600160a01b03838116911614155b15611592576001600160a01b03831660009081526013602052604090205460ff1615801561148157506001600160a01b03821660009081526013602052604090205460ff16155b6114bb5760405162461bcd60e51b815260206004820152600b60248201526a544f4b454e3a20426f742160a81b60448201526064016106c2565b60006114c6306108ec565b601a546019549192508210159082106114df5760195491505b8080156114f65750601854600160a81b900460ff16155b801561151057506018546001600160a01b03868116911614155b80156115255750601854600160b01b900460ff165b801561154a57506001600160a01b03851660009081526005602052604090205460ff16155b801561156f57506001600160a01b03841660009081526005602052604090205460ff16155b1561158f5761157d82611941565b47801561158d5761158d476117b6565b505b50505b600161159e8383611aca565b6115a88483611c0e565b6001600160a01b03841660009081526005602052604090205460ff16806115e757506001600160a01b03831660009081526005602052604090205460ff165b8061161957506018546001600160a01b0385811691161480159061161957506018546001600160a01b03848116911614155b1561162657506000611770565b6018546001600160a01b03858116911614801561165157506017546001600160a01b03848116911614155b156116cb57601854600160a01b900460ff166116be576000546001600160a01b038581169116146116be5760405162461bcd60e51b81526020600482015260176024820152761513d2d1538e88151c98591a5b99c8191a5cd8589b1959604a1b60448201526064016106c2565b600954600f55600a546010555b6018546001600160a01b0384811691161480156116f657506017546001600160a01b03858116911614155b1561177057601854600160a01b900460ff16611763576000546001600160a01b038581169116146117635760405162461bcd60e51b81526020600482015260176024820152761513d2d1538e88151c98591a5b99c8191a5cd8589b1959604a1b60448201526064016106c2565b600b54600f55600c546010555b610ce384848484611c77565b600081848411156117a05760405162461bcd60e51b81526004016106c2919061212b565b5060006117ad8486612472565b95945050505050565b600060646117c5836019612489565b6117cf919061239f565b9050600060646117e0846019612489565b6117ea919061239f565b9050600060646117fb856032612489565b611805919061239f565b6014546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015611840573d6000803e3d6000fd5b506015546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561187b573d6000803e3d6000fd5b506016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156118b6573d6000803e3d6000fd5b5050505050565b60006007548211156119245760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106c2565b600061192e611ca5565b905061193a8382611cc8565b9392505050565b6018805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611989576119896123d9565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156119dd57600080fd5b505afa1580156119f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a15919061240a565b81600181518110611a2857611a286123d9565b6001600160a01b039283166020918202929092010152601754611a4e91309116846111c2565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a879085906000908690309042906004016124a8565b600060405180830381600087803b158015611aa157600080fd5b505af1158015611ab5573d6000803e3d6000fd5b50506018805460ff60a81b1916905550505050565b61dead611adf6000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015611b0957506001600160a01b0383163014155b8015611b275750806001600160a01b0316836001600160a01b031614155b8015611b4157506018546001600160a01b03848116911614155b8015611b5b57506016546001600160a01b03848116911614155b8015611b7557506017546001600160a01b03848116911614155b15611c09576000611b85846108ec565b600e54909150611b9584836123c1565b1115610ce35760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106c2565b505050565b600d5481111580611c3757506001600160a01b03821660009081526006602052604090205460ff165b6110d45760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106c2565b80611c8457611c84611d0a565b611c8f848484611d38565b80610ce357610ce3601154600f55601254601055565b6000806000611cb2611e2f565b9092509050611cc18282611cc8565b9250505090565b600061193a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e6d565b600f54158015611d1a5750601054155b15611d2157565b600f80546011556010805460125560009182905555565b600080600080600080611d4a87611e9b565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611d7c9087611ef8565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611dab9086611f3a565b6001600160a01b038916600090815260026020526040902055611dcd81611f99565b611dd78483611fe3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611e1c91815260200190565b60405180910390a3505050505050505050565b6007546000908190662386f26fc10000611e498282611cc8565b821015611e6457505060075492662386f26fc1000092509050565b90939092509050565b60008183611e8e5760405162461bcd60e51b81526004016106c2919061212b565b5060006117ad848661239f565b6000806000806000806000806000611eb88a600f54601054612007565b9250925092506000611ec8611ca5565b90506000806000611edb8e87878761205c565b919e509c509a509598509396509194505050505091939550919395565b600061193a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061177c565b600080611f4783856123c1565b90508381101561193a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c2565b6000611fa3611ca5565b90506000611fb183836120ac565b30600090815260026020526040902054909150611fce9082611f3a565b30600090815260026020526040902055505050565b600754611ff09083611ef8565b6007556008546120009082611f3a565b6008555050565b6000808080612021606461201b89896120ac565b90611cc8565b90506000612034606461201b8a896120ac565b9050600061204c826120468b86611ef8565b90611ef8565b9992985090965090945050505050565b600080808061206b88866120ac565b9050600061207988876120ac565b9050600061208788886120ac565b90506000612099826120468686611ef8565b939b939a50919850919650505050505050565b6000826120bb57506000610692565b60006120c78385612489565b9050826120d4858361239f565b1461193a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106c2565b600060208083528351808285015260005b818110156121585785810183015185820160400152820161213c565b8181111561216a576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108e957600080fd5b600080604083850312156121a857600080fd5b82356121b381612180565b946020939093013593505050565b6000602082840312156121d357600080fd5b813561193a81612180565b6000806000606084860312156121f357600080fd5b83356121fe81612180565b9250602084013561220e81612180565b929592945050506040919091013590565b60006020828403121561223157600080fd5b5035919050565b80151581146108e957600080fd5b60006020828403121561225857600080fd5b813561193a81612238565b6000806000806080858703121561227957600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000604084860312156122aa57600080fd5b833567ffffffffffffffff808211156122c257600080fd5b818601915086601f8301126122d657600080fd5b8135818111156122e557600080fd5b8760208260051b85010111156122fa57600080fd5b6020928301955093505084013561231081612238565b809150509250925092565b6000806040838503121561232e57600080fd5b823561233981612180565b9150602083013561234981612180565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826123bc57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156123d4576123d4612389565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561240357612403612389565b5060010190565b60006020828403121561241c57600080fd5b815161193a81612180565b60008060006060848603121561243c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561246757600080fd5b815161193a81612238565b60008282101561248457612484612389565b500390565b60008160001904831182151516156124a3576124a3612389565b500290565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124f85784516001600160a01b0316835293830193918301916001016124d3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bac07162a2bc817589c50a9fc97fe1dbfb451173382a5ec9e4a3a47302fd914764736f6c63430008090033

Deployed Bytecode Sourcemap

4066:16229:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6650:83;;;;;;;;;;-1:-1:-1;6720:5:0;;;;;;;;;;;-1:-1:-1;;;6720:5:0;;;;6650:83;;;;6720:5;6650:83;:::i;:::-;;;;;;;;7575:193;;;;;;;;;;-1:-1:-1;7575:193:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7575:193:0;1072:187:1;5823:53:0;;;;;;;;;;;;;;;;;;;1410:25:1;;;1398:2;1383:18;5823:53:0;1264:177:1;5635:39:0;;;;;;;;;;-1:-1:-1;5635:39:0;;;;-1:-1:-1;;;;;5635:39:0;;;;;;-1:-1:-1;;;;;1634:32:1;;;1616:51;;1604:2;1589:18;5635:39:0;1446:227:1;6927:95:0;;;;;;;;;;-1:-1:-1;4668:16:0;6927:95;;19746:143;;;;;;;;;;-1:-1:-1;19746:143:0;;;;;:::i;:::-;;:::i;:::-;;7776:446;;;;;;;;;;-1:-1:-1;7776:446:0;;;;;:::i;:::-;;:::i;5891:59::-;;;;;;;;;;;;;;;;6836:83;;;;;;;;;;-1:-1:-1;6836:83:0;;4288:1;2541:36:1;;2529:2;2514:18;6836:83:0;2399:184:1;5681:28:0;;;;;;;;;;-1:-1:-1;5681:28:0;;;;-1:-1:-1;;;;;5681:28:0;;;9447:147;;;;;;;;;;-1:-1:-1;9447:147:0;;;;;:::i;:::-;;:::i;9292:::-;;;;;;;;;;-1:-1:-1;9292:147:0;;;;;:::i;:::-;;:::i;15135:92::-;;;;;;;;;;-1:-1:-1;15135:92:0;;;;;:::i;:::-;;:::i;19352:101::-;;;;;;;;;;-1:-1:-1;19352:101:0;;;;;:::i;:::-;;:::i;14770:266::-;;;;;;;;;;;;;:::i;7030:138::-;;;;;;;;;;-1:-1:-1;7030:138:0;;;;;:::i;:::-;;:::i;2446:148::-;;;;;;;;;;;;;:::i;19897:151::-;;;;;;;;;;-1:-1:-1;19897:151:0;;;;;:::i;:::-;;:::i;19619:119::-;;;;;;;;;;-1:-1:-1;19619:119:0;;;;;:::i;:::-;;:::i;4943:48::-;;;;;;;;;;;;;;;;2232:79;;;;;;;;;;-1:-1:-1;2270:7:0;2297:6;-1:-1:-1;;;;;2297:6:0;2232:79;;13699:101;;;;;;;;;;-1:-1:-1;13699:101:0;;;;;:::i;:::-;;:::i;19161:139::-;;;;;;;;;;-1:-1:-1;19161:139:0;;;;;:::i;:::-;;:::i;18633:476::-;;;;;;;;;;-1:-1:-1;18633:476:0;;;;;:::i;:::-;;:::i;7176:199::-;;;;;;;;;;-1:-1:-1;7176:199:0;;;;;:::i;:::-;;:::i;19492:119::-;;;;;;;;;;-1:-1:-1;19492:119:0;;;;;:::i;:::-;;:::i;5283:36::-;;;;;;;;;;-1:-1:-1;5283:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14495:267;;;;;;;;;;;;;:::i;20056:234::-;;;;;;;;;;-1:-1:-1;20056:234:0;;;;;:::i;:::-;;:::i;7383:184::-;;;;;;;;;;-1:-1:-1;7383:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7532:18:0;;;7500:7;7532:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7383:184;15044:83;;;;;;;;;;-1:-1:-1;15044:83:0;;;;;:::i;:::-;;:::i;13810:677::-;;;;;;;;;;;;;:::i;2602:244::-;;;;;;;;;;-1:-1:-1;2602:244:0;;;;;:::i;:::-;;:::i;5003:46::-;;;;;;;;;;;;;;;;7575:193;7677:4;7699:39;1828:10;7722:7;7731:6;7699:8;:39::i;:::-;-1:-1:-1;7756:4:0;7575:193;;;;;:::o;19746:143::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;;;;;;;;;19842:17:::1;:39:::0;;-1:-1:-1;;;;;;19842:39:0::1;-1:-1:-1::0;;;;;19842:39:0;;;::::1;::::0;;;::::1;::::0;;19746:143::o;7776:446::-;7908:4;7925:36;7935:6;7943:9;7954:6;7925:9;:36::i;:::-;7972:220;7995:6;1828:10;8043:138;8099:6;8043:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8043:19:0;;;;;;:11;:19;;;;;;;;1828:10;8043:33;;;;;;;;;;:37;:138::i;:::-;7972:8;:220::i;:::-;-1:-1:-1;8210:4:0;7776:446;;;;;:::o;9447:147::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;9531:18:::1;9547:2;4668:16:::0;9531:18:::1;:::i;:::-;9521:6;:28;;9513:37;;;::::0;::::1;;9566:11;:20:::0;9447:147::o;9292:::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;9378:18:::1;9394:2;4668:16:::0;9378:18:::1;:::i;:::-;9368:6;:28;;9360:37;;;::::0;::::1;;9413:9;:18:::0;9292:147::o;15135:92::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15199:12:0::1;15214:5;15199:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;15199:20:0::1;::::0;;15135:92::o;19352:101::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;19419:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;19419:26:0::1;-1:-1:-1::0;;;;19419:26:0;;::::1;::::0;;;::::1;::::0;;19352:101::o;14770:266::-;14836:11;;-1:-1:-1;;;;;14836:11:0;1828:10;-1:-1:-1;;;;;14820:27:0;;:64;;;-1:-1:-1;14867:17:0;;-1:-1:-1;;;;;14867:17:0;1828:10;-1:-1:-1;;;;;14851:33:0;;14820:64;:103;;;-1:-1:-1;14904:19:0;;-1:-1:-1;;;;;14904:19:0;1828:10;-1:-1:-1;;;;;14888:35:0;;14820:103;14812:112;;;;;;14964:21;14996:32;14964:21;14996:12;:32::i;:::-;14801:235;14770:266::o;7030:138::-;-1:-1:-1;;;;;7143:16:0;;7096:7;7143:16;;;:7;:16;;;;;;7123:37;;:19;:37::i;2446:148::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;2553:1:::1;2537:6:::0;;2516:40:::1;::::0;-1:-1:-1;;;;;2537:6:0;;::::1;::::0;2516:40:::1;::::0;2553:1;;2516:40:::1;2584:1;2567:19:::0;;-1:-1:-1;;;;;;2567:19:0::1;::::0;;2446:148::o;19897:151::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;19997:19:::1;:43:::0;;-1:-1:-1;;;;;;19997:43:0::1;-1:-1:-1::0;;;;;19997:43:0;;;::::1;::::0;;;::::1;::::0;;19897:151::o;19619:119::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;19703:11:::1;:27:::0;;-1:-1:-1;;;;;;19703:27:0::1;-1:-1:-1::0;;;;;19703:27:0;;;::::1;::::0;;;::::1;::::0;;19619:119::o;13699:101::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;13766:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;13766:26:0::1;-1:-1:-1::0;;;;13766:26:0;;::::1;::::0;;;::::1;::::0;;13699:101::o;19161:139::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;19252:19:::1;:40:::0;19161:139::o;18633:476::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;18806:2:::1;18775:27;18791:11:::0;18775:13;:27:::1;:::i;:::-;:33;;18767:80;;;::::0;-1:-1:-1;;;18767:80:0;;6190:2:1;18767:80:0::1;::::0;::::1;6172:21:1::0;6229:2;6209:18;;;6202:30;6268:34;6248:18;;;6241:62;-1:-1:-1;;;6319:18:1;;;6312:32;6361:19;;18767:80:0::1;5988:398:1::0;18767:80:0::1;18899:2;18866:29;18883:12:::0;18866:14;:29:::1;:::i;:::-;:35;;18858:83;;;::::0;-1:-1:-1;;;18858:83:0;;6593:2:1;18858:83:0::1;::::0;::::1;6575:21:1::0;6632:2;6612:18;;;6605:30;6671:34;6651:18;;;6644:62;-1:-1:-1;;;6722:18:1;;;6715:33;6765:19;;18858:83:0::1;6391:399:1::0;18858:83:0::1;18952:14;:30:::0;;;;18993:15:::1;:32:::0;;;;19036:12:::1;:26:::0;19073:13:::1;:28:::0;18633:476::o;7176:199::-;7281:4;7303:42;1828:10;7327:9;7338:6;7303:9;:42::i;19492:119::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;19571:15:::1;:32:::0;19492:119::o;14495:267::-;14561:11;;-1:-1:-1;;;;;14561:11:0;1828:10;-1:-1:-1;;;;;14545:27:0;;:64;;;-1:-1:-1;14592:17:0;;-1:-1:-1;;;;;14592:17:0;1828:10;-1:-1:-1;;;;;14576:33:0;;14545:64;:103;;;-1:-1:-1;14629:19:0;;-1:-1:-1;;;;;14629:19:0;1828:10;-1:-1:-1;;;;;14613:35:0;;14545:103;14537:112;;;;;;14660:23;14686:24;14704:4;14686:9;:24::i;:::-;14660:50;;14721:33;14738:15;14721:16;:33::i;20056:234::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;20173:9:::1;20169:114;20188:19:::0;;::::1;20169:114;;;20263:8;20229:18;:31;20248:8;;20257:1;20248:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20229:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20229:31:0;:42;;-1:-1:-1;;20229:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20209:3;::::1;::::0;::::1;:::i;:::-;;;;20169:114;;;;20056:234:::0;;;:::o;15044:83::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15103:9:0::1;;::::0;;;:4:::1;:9;::::0;;;;:16;;-1:-1:-1;;15103:16:0::1;15115:4;15103:16;::::0;;15044:83::o;13810:677::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;13875:11:::1;::::0;-1:-1:-1;;;13875:11:0;::::1;;;13874:12;13866:47;;;::::0;-1:-1:-1;;;13866:47:0;;7269:2:1;13866:47:0::1;::::0;::::1;7251:21:1::0;7308:2;7288:18;;;7281:30;7347:25;7327:18;;;7320:53;7390:18;;13866:47:0::1;7067:347:1::0;13866:47:0::1;14031:15;:34:::0;;-1:-1:-1;;;;;;14031:34:0::1;13977:42;14031:34:::0;;::::1;::::0;;;14076:58:::1;14093:4;13977:42:::0;4668:16:::1;14076:8;:58::i;:::-;14179:16;-1:-1:-1::0;;;;;14179:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14161:56:0::1;;14226:4;14233:16;-1:-1:-1::0;;;;;14233:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14161:96;::::0;-1:-1:-1;;;;;;14161:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7905:15:1;;;14161:96:0::1;::::0;::::1;7887:34:1::0;7957:15;;7937:18;;;7930:43;7822:18;;14161:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14145:13;:112:::0;;-1:-1:-1;;;;;;14145:112:0::1;-1:-1:-1::0;;;;;14145:112:0;;::::1;;::::0;;14268:15:::1;::::0;::::1;:31;14307:21;14338:4;14344:24;14338:4:::0;14344:9:::1;:24::i;:::-;14369:1;14371::::0;14373:7:::1;2270::::0;2297:6;-1:-1:-1;;;;;2297:6:0;;2232:79;14373:7:::1;14268:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14268:129:0;;;-1:-1:-1;;;;;8343:15:1;;;14268:129:0::1;::::0;::::1;8325:34:1::0;8375:18;;;8368:34;;;;8418:18;;;8411:34;;;;8461:18;;;8454:34;8525:15;;;8504:19;;;8497:44;14381:15:0::1;8557:19:1::0;;;8550:35;8259:19;;14268:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14415:13:0::1;::::0;14446:15:::1;::::0;14408:71:::1;::::0;-1:-1:-1;;;14408:71:0;;-1:-1:-1;;;;;14446:15:0;;::::1;14408:71;::::0;::::1;9081:51:1::0;-1:-1:-1;;9148:18:1;;;9141:34;14415:13:0;::::1;::::0;-1:-1:-1;14408:29:0::1;::::0;9054:18:1;;14408:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13855:632;13810:677::o:0;2602:244::-;2359:6;;-1:-1:-1;;;;;2359:6:0;1828:10;2359:22;2351:67;;;;-1:-1:-1;;;2351:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2691:22:0;::::1;2683:73;;;::::0;-1:-1:-1;;;2683:73:0;;9638:2:1;2683:73:0::1;::::0;::::1;9620:21:1::0;9677:2;9657:18;;;9650:30;9716:34;9696:18;;;9689:62;-1:-1:-1;;;9767:18:1;;;9760:36;9813:19;;2683:73:0::1;9436:402:1::0;2683:73:0::1;2793:6;::::0;;2772:38:::1;::::0;-1:-1:-1;;;;;2772:38:0;;::::1;::::0;2793:6;::::1;::::0;2772:38:::1;::::0;::::1;2821:6;:17:::0;;-1:-1:-1;;;;;;2821:17:0::1;-1:-1:-1::0;;;;;2821:17:0;;;::::1;::::0;;;::::1;::::0;;2602:244::o;8915:369::-;-1:-1:-1;;;;;9042:19:0;;9034:68;;;;-1:-1:-1;;;9034:68:0;;10045:2:1;9034:68:0;;;10027:21:1;10084:2;10064:18;;;10057:30;10123:34;10103:18;;;10096:62;-1:-1:-1;;;10174:18:1;;;10167:34;10218:19;;9034:68:0;9843:400:1;9034:68:0;-1:-1:-1;;;;;9121:21:0;;9113:68;;;;-1:-1:-1;;;9113:68:0;;10450:2:1;9113:68:0;;;10432:21:1;10489:2;10469:18;;;10462:30;10528:34;10508:18;;;10501:62;-1:-1:-1;;;10579:18:1;;;10572:32;10621:19;;9113:68:0;10248:398:1;9113:68:0;-1:-1:-1;;;;;9192:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9244:32;;1410:25:1;;;9244:32:0;;1383:18:1;9244:32:0;;;;;;;8915:369;;;:::o;10503:2252::-;-1:-1:-1;;;;;10625:18:0;;10617:68;;;;-1:-1:-1;;;10617:68:0;;10853:2:1;10617:68:0;;;10835:21:1;10892:2;10872:18;;;10865:30;10931:34;10911:18;;;10904:62;-1:-1:-1;;;10982:18:1;;;10975:35;11027:19;;10617:68:0;10651:401:1;10617:68:0;-1:-1:-1;;;;;10704:16:0;;10696:64;;;;-1:-1:-1;;;10696:64:0;;11259:2:1;10696:64:0;;;11241:21:1;11298:2;11278:18;;;11271:30;11337:34;11317:18;;;11310:62;-1:-1:-1;;;11388:18:1;;;11381:33;11431:19;;10696:64:0;11057:399:1;10696:64:0;10788:1;10779:6;:10;10771:64;;;;-1:-1:-1;;;10771:64:0;;11663:2:1;10771:64:0;;;11645:21:1;11702:2;11682:18;;;11675:30;11741:34;11721:18;;;11714:62;-1:-1:-1;;;11792:18:1;;;11785:39;11841:19;;10771:64:0;11461:405:1;10771:64:0;2270:7;2297:6;-1:-1:-1;;;;;10852:15:0;;;2297:6;;10852:15;;;;:32;;-1:-1:-1;2270:7:0;2297:6;-1:-1:-1;;;;;10871:13:0;;;2297:6;;10871:13;;10852:32;10848:808;;;-1:-1:-1;;;;;10912:10:0;;;;;;:4;:10;;;;;;;;10911:11;:24;;;;-1:-1:-1;;;;;;10927:8:0;;;;;;:4;:8;;;;;;;;10926:9;10911:24;10903:48;;;;-1:-1:-1;;;10903:48:0;;12073:2:1;10903:48:0;;;12055:21:1;12112:2;12092:18;;;12085:30;-1:-1:-1;;;12131:18:1;;;12124:41;12182:18;;10903:48:0;11871:335:1;10903:48:0;10968:28;10999:24;11017:4;10999:9;:24::i;:::-;11077:19;;11140:15;;10968:55;;-1:-1:-1;11053:43:0;;;;11116:39;;11113:130;;11212:15;;11189:38;;11113:130;11263:7;:18;;;;-1:-1:-1;11275:6:0;;-1:-1:-1;;;11275:6:0;;;;11274:7;11263:18;:43;;;;-1:-1:-1;11293:13:0;;-1:-1:-1;;;;;11285:21:0;;;11293:13;;11285:21;;11263:43;:58;;;;-1:-1:-1;11310:11:0;;-1:-1:-1;;;11310:11:0;;;;11263:58;:87;;;;-1:-1:-1;;;;;;11326:24:0;;;;;;:18;:24;;;;;;;;11325:25;11263:87;:114;;;;-1:-1:-1;;;;;;11355:22:0;;;;;;:18;:22;;;;;;;;11354:23;11263:114;11259:386;;;11398:38;11415:20;11398:16;:38::i;:::-;11484:21;11528:22;;11524:106;;11575:35;11588:21;11575:12;:35::i;:::-;11379:266;11259:386;10886:770;;10848:808;11683:4;11700:28;11717:2;11721:6;11700:16;:28::i;:::-;11739:26;11752:4;11758:6;11739:12;:26::i;:::-;-1:-1:-1;;;;;11810:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;11838:22:0;;;;;;:18;:22;;;;;;;;11810:50;11809:102;;;-1:-1:-1;11874:13:0;;-1:-1:-1;;;;;11866:21:0;;;11874:13;;11866:21;;;;:44;;-1:-1:-1;11897:13:0;;-1:-1:-1;;;;;11891:19:0;;;11897:13;;11891:19;;11866:44;11805:889;;;-1:-1:-1;11938:5:0;11805:889;;;12019:13;;-1:-1:-1;;;;;12011:21:0;;;12019:13;;12011:21;:55;;;;-1:-1:-1;12050:15:0;;-1:-1:-1;;;;;12036:30:0;;;12050:15;;12036:30;;12011:55;12008:329;;;12129:11;;-1:-1:-1;;;12129:11:0;;;;12124:112;;2270:7;2297:6;-1:-1:-1;;;;;12173:15:0;;;2297:6;;12173:15;12165:51;;;;-1:-1:-1;;;12165:51:0;;12413:2:1;12165:51:0;;;12395:21:1;12452:2;12432:18;;;12425:30;-1:-1:-1;;;12471:18:1;;;12464:53;12534:18;;12165:51:0;12211:347:1;12165:51:0;12266:14;;12254:9;:26;12309:12;;12299:7;:22;12008:329;12396:13;;-1:-1:-1;;;;;12390:19:0;;;12396:13;;12390:19;:55;;;;-1:-1:-1;12429:15:0;;-1:-1:-1;;;;;12413:32:0;;;12429:15;;12413:32;;12390:55;12386:295;;;12471:11;;-1:-1:-1;;;12471:11:0;;;;12466:112;;2270:7;2297:6;-1:-1:-1;;;;;12515:15:0;;;2297:6;;12515:15;12507:51;;;;-1:-1:-1;;;12507:51:0;;12413:2:1;12507:51:0;;;12395:21:1;12452:2;12432:18;;;12425:30;-1:-1:-1;;;12471:18:1;;;12464:53;12534:18;;12507:51:0;12211:347:1;12507:51:0;12608:15;;12596:9;:27;12652:13;;12642:7;:23;12386:295;12706:41;12721:4;12727:2;12731:6;12739:7;12706:14;:41::i;3210:224::-;3330:7;3366:12;3358:6;;;;3350:29;;;;-1:-1:-1;;;3350:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3390:9:0;3402:5;3406:1;3402;:5;:::i;:::-;3390:17;3210:224;-1:-1:-1;;;;;3210:224:0:o;13254:437::-;13311:24;13354:3;13339:11;:6;13348:2;13339:11;:::i;:::-;13338:19;;;;:::i;:::-;13311:46;-1:-1:-1;13375:30:0;13424:3;13409:11;:6;13418:2;13409:11;:::i;:::-;13408:19;;;;:::i;:::-;13375:52;-1:-1:-1;13445:32:0;13496:3;13481:11;:6;13490:2;13481:11;:::i;:::-;13480:19;;;;:::i;:::-;13519:11;;:38;;13445:54;;-1:-1:-1;;;;;;13519:11:0;;:38;;;;;13540:16;;13519:11;:38;:11;:38;13540:16;13519:11;:38;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13568:17:0;;:50;;-1:-1:-1;;;;;13568:17:0;;;;:50;;;;;13595:22;;13568:17;:50;:17;:50;13595:22;13568:17;:50;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13629:19:0;;:54;;-1:-1:-1;;;;;13629:19:0;;;;:54;;;;;13658:24;;13629:19;:54;:19;:54;13658:24;13629:19;:54;;;;;;;;;;;;;;;;;;;;;13300:391;;;13254:437;:::o;8230:323::-;8325:7;8383;;8372;:18;;8350:110;;;;-1:-1:-1;;;8350:110:0;;13068:2:1;8350:110:0;;;13050:21:1;13107:2;13087:18;;;13080:30;13146:34;13126:18;;;13119:62;-1:-1:-1;;;13197:18:1;;;13190:40;13247:19;;8350:110:0;12866:406:1;8350:110:0;8471:19;8493:10;:8;:10::i;:::-;8471:32;-1:-1:-1;8521:24:0;:7;8471:32;8521:11;:24::i;:::-;8514:31;8230:323;-1:-1:-1;;;8230:323:0:o;12763:483::-;5991:6;:13;;-1:-1:-1;;;;5991:13:0;-1:-1:-1;;;5991:13:0;;;12865:16:::1;::::0;;12879:1:::1;12865:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12865:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12865:16:0::1;12841:40;;12910:4;12892;12897:1;12892:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12892:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12936:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12936:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12892:7;;12936:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12926:4;12931:1;12926:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12926:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13001:15:::1;::::0;12969:62:::1;::::0;12986:4:::1;::::0;13001:15:::1;13019:11:::0;12969:8:::1;:62::i;:::-;13042:15;::::0;:196:::1;::::0;-1:-1:-1;;;13042:196:0;;-1:-1:-1;;;;;13042:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13123:11;;13042:15:::1;::::0;13165:4;;13192::::1;::::0;13212:15:::1;::::0;13042:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6027:6:0;:14;;-1:-1:-1;;;;6027:14:0;;;-1:-1:-1;;;;12763:483:0:o;9602:684::-;9703:42;9787:7;2270;2297:6;-1:-1:-1;;;;;2297:6:0;;2232:79;9787:7;-1:-1:-1;;;;;9774:20:0;:9;-1:-1:-1;;;;;9774:20:0;;;:63;;;;-1:-1:-1;;;;;;9811:26:0;;9832:4;9811:26;;9774:63;:106;;;;;9875:4;-1:-1:-1;;;;;9854:26:0;:9;-1:-1:-1;;;;;9854:26:0;;;9774:106;:149;;;;-1:-1:-1;9910:13:0;;-1:-1:-1;;;;;9897:26:0;;;9910:13;;9897:26;;9774:149;:198;;;;-1:-1:-1;9953:19:0;;-1:-1:-1;;;;;9940:32:0;;;9953:19;;9940:32;;9774:198;:252;;;;-1:-1:-1;10010:15:0;;-1:-1:-1;;;;;9989:37:0;;;10010:15;;9989:37;;9774:252;9756:523;;;10053:18;10074:20;10084:9;10074;:20::i;:::-;10160:9;;10053:41;;-1:-1:-1;10136:19:0;10149:6;10053:41;10136:19;:::i;:::-;10135:34;;10109:158;;;;-1:-1:-1;;;10109:158:0;;14596:2:1;10109:158:0;;;14578:21:1;14635:2;14615:18;;;14608:30;14674:34;14654:18;;;14647:62;14745:32;14725:18;;;14718:60;14795:19;;10109:158:0;14394:426:1;9756:523:0;9677:609;9602:684;;:::o;10294:201::-;10405:11;;10395:6;:21;;:47;;;-1:-1:-1;;;;;;10420:22:0;;;;;;:14;:22;;;;;;;;10395:47;10373:114;;;;-1:-1:-1;;;10373:114:0;;15027:2:1;10373:114:0;;;15009:21:1;15066:2;15046:18;;;15039:30;-1:-1:-1;;;15085:18:1;;;15078:47;15142:18;;10373:114:0;14825:341:1;15235:282:0;15391:7;15386:28;;15400:14;:12;:14::i;:::-;15425:44;15443:6;15451:9;15462:6;15425:17;:44::i;:::-;15485:7;15480:29;;15494:15;8846:17;;8834:9;:29;8884:15;;8874:7;:25;8790:117;18196:164;18238:7;18259:15;18276;18295:19;:17;:19::i;:::-;18258:56;;-1:-1:-1;18258:56:0;-1:-1:-1;18332:20:0;18258:56;;18332:11;:20::i;:::-;18325:27;;;;18196:164;:::o;3696:132::-;3754:7;3781:39;3785:1;3788;3781:39;;;;;;;;;;;;;;;;;:3;:39::i;8563:219::-;8610:9;;:14;:30;;;;-1:-1:-1;8628:7:0;;:12;8610:30;8606:43;;;8563:219::o;8606:43::-;8681:9;;;8661:17;:29;8719:7;;;8701:15;:25;-1:-1:-1;8739:13:0;;;;8763:11;8563:219::o;15525:610::-;15672:15;15702:23;15740:12;15767:23;15805:12;15832:13;15859:19;15870:7;15859:10;:19::i;:::-;-1:-1:-1;;;;;15907:15:0;;;;;;:7;:15;;;;;;15657:221;;-1:-1:-1;15657:221:0;;-1:-1:-1;15657:221:0;;-1:-1:-1;15657:221:0;-1:-1:-1;15657:221:0;-1:-1:-1;15657:221:0;-1:-1:-1;15907:28:0;;15657:221;15907:19;:28::i;:::-;-1:-1:-1;;;;;15889:15:0;;;;;;;:7;:15;;;;;;:46;;;;15967:18;;;;;;;:39;;15990:15;15967:22;:39::i;:::-;-1:-1:-1;;;;;15946:18:0;;;;;;:7;:18;;;;;:60;16017:16;16027:5;16017:9;:16::i;:::-;16044:23;16056:4;16062;16044:11;:23::i;:::-;16100:9;-1:-1:-1;;;;;16083:44:0;16092:6;-1:-1:-1;;;;;16083:44:0;;16111:15;16083:44;;;;1410:25:1;;1398:2;1383:18;;1264:177;16083:44:0;;;;;;;;15646:489;;;;;;15525:610;;;:::o;18368:257::-;18466:7;;18419;;;;4668:16;18534:20;18466:7;4668:16;18534:11;:20::i;:::-;18524:7;:30;18520:61;;;-1:-1:-1;;18564:7:0;;;4668:16;;-1:-1:-1;18368:257:0;-1:-1:-1;18368:257:0:o;18520:61::-;18600:7;;18609;;-1:-1:-1;18368:257:0;-1:-1:-1;18368:257:0:o;3836:223::-;3956:7;3991:12;3984:5;3976:28;;;;-1:-1:-1;;;3976:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4015:9:0;4027:5;4031:1;4027;:5;:::i;16554:615::-;16654:7;16676;16698;16720;16742;16764;16800:23;16825:12;16839:13;16869:40;16881:7;16890:9;;16901:7;;16869:11;:40::i;:::-;16799:110;;;;;;16920:19;16942:10;:8;:10::i;:::-;16920:32;;16964:15;16981:23;17006:12;17035:46;17047:7;17056:4;17062:5;17069:11;17035;:46::i;:::-;16963:118;;-1:-1:-1;16963:118:0;-1:-1:-1;16963:118:0;-1:-1:-1;17132:15:0;;-1:-1:-1;17149:4:0;;-1:-1:-1;17155:5:0;;-1:-1:-1;;;;;16554:615:0;;;;;;;:::o;3066:136::-;3124:7;3151:43;3155:1;3158;3151:43;;;;;;;;;;;;;;;;;:3;:43::i;2879:179::-;2937:7;;2969:5;2973:1;2969;:5;:::i;:::-;2957:17;;2998:1;2993;:6;;2985:46;;;;-1:-1:-1;;;2985:46:0;;15373:2:1;2985:46:0;;;15355:21:1;15412:2;15392:18;;;15385:30;15451:29;15431:18;;;15424:57;15498:18;;2985:46:0;15171:351:1;16143:211:0;16196:19;16218:10;:8;:10::i;:::-;16196:32;-1:-1:-1;16239:13:0;16255:22;:5;16196:32;16255:9;:22::i;:::-;16329:4;16313:22;;;;:7;:22;;;;;;16239:38;;-1:-1:-1;16313:33:0;;16239:38;16313:26;:33::i;:::-;16304:4;16288:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;16143:211:0:o;16362:147::-;16440:7;;:17;;16452:4;16440:11;:17::i;:::-;16430:7;:27;16481:10;;:20;;16496:4;16481:14;:20::i;:::-;16468:10;:33;-1:-1:-1;;16362:147:0:o;17177:469::-;17346:7;;;;17440:30;17466:3;17440:21;:7;17452:8;17440:11;:21::i;:::-;:25;;:30::i;:::-;17425:45;-1:-1:-1;17481:13:0;17497:28;17521:3;17497:19;:7;17509:6;17497:11;:19::i;:28::-;17481:44;-1:-1:-1;17536:23:0;17562:28;17481:44;17562:17;:7;17574:4;17562:11;:17::i;:::-;:21;;:28::i;:::-;17536:54;17626:4;;-1:-1:-1;17632:5:0;;-1:-1:-1;17177:469:0;;-1:-1:-1;;;;;17177:469:0:o;17654:534::-;17848:7;;;;17945:24;:7;17957:11;17945;:24::i;:::-;17927:42;-1:-1:-1;17980:12:0;17995:21;:4;18004:11;17995:8;:21::i;:::-;17980:36;-1:-1:-1;18027:13:0;18043:22;:5;18053:11;18043:9;:22::i;:::-;18027:38;-1:-1:-1;18076:23:0;18102:28;18027:38;18102:17;:7;18114:4;18102:11;:17::i;:28::-;18149:7;;;;-1:-1:-1;18175:4:0;;-1:-1:-1;17654:534:0;;-1:-1:-1;;;;;;;17654:534:0:o;3442:246::-;3500:7;3524:6;3520:47;;-1:-1:-1;3554:1:0;3547:8;;3520:47;3577:9;3589:5;3593:1;3589;:5;:::i;:::-;3577:17;-1:-1:-1;3622:1:0;3613:5;3617:1;3577:17;3613:5;:::i;:::-;:10;3605:56;;;;-1:-1:-1;;;3605:56:0;;15729:2:1;3605:56:0;;;15711:21:1;15768:2;15748:18;;;15741:30;15807:34;15787:18;;;15780:62;-1:-1:-1;;;15858:18:1;;;15851:31;15899:19;;3605:56:0;15527:397:1;14:597;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;1678:255::-;1745:6;1798:2;1786:9;1777:7;1773:23;1769:32;1766:52;;;1814:1;1811;1804:12;1766:52;1853:9;1840:23;1872:31;1897:5;1872:31;:::i;1938:456::-;2015:6;2023;2031;2084:2;2072:9;2063:7;2059:23;2055:32;2052:52;;;2100:1;2097;2090:12;2052:52;2139:9;2126:23;2158:31;2183:5;2158:31;:::i;:::-;2208:5;-1:-1:-1;2265:2:1;2250:18;;2237:32;2278:33;2237:32;2278:33;:::i;:::-;1938:456;;2330:7;;-1:-1:-1;;;2384:2:1;2369:18;;;;2356:32;;1938:456::o;2796:180::-;2855:6;2908:2;2896:9;2887:7;2883:23;2879:32;2876:52;;;2924:1;2921;2914:12;2876:52;-1:-1:-1;2947:23:1;;2796:180;-1:-1:-1;2796:180:1:o;3233:118::-;3319:5;3312:13;3305:21;3298:5;3295:32;3285:60;;3341:1;3338;3331:12;3356:241;3412:6;3465:2;3453:9;3444:7;3440:23;3436:32;3433:52;;;3481:1;3478;3471:12;3433:52;3520:9;3507:23;3539:28;3561:5;3539:28;:::i;3602:385::-;3688:6;3696;3704;3712;3765:3;3753:9;3744:7;3740:23;3736:33;3733:53;;;3782:1;3779;3772:12;3733:53;-1:-1:-1;;3805:23:1;;;3875:2;3860:18;;3847:32;;-1:-1:-1;3926:2:1;3911:18;;3898:32;;3977:2;3962:18;3949:32;;-1:-1:-1;3602:385:1;-1:-1:-1;3602:385:1:o;3992:750::-;4084:6;4092;4100;4153:2;4141:9;4132:7;4128:23;4124:32;4121:52;;;4169:1;4166;4159:12;4121:52;4209:9;4196:23;4238:18;4279:2;4271:6;4268:14;4265:34;;;4295:1;4292;4285:12;4265:34;4333:6;4322:9;4318:22;4308:32;;4378:7;4371:4;4367:2;4363:13;4359:27;4349:55;;4400:1;4397;4390:12;4349:55;4440:2;4427:16;4466:2;4458:6;4455:14;4452:34;;;4482:1;4479;4472:12;4452:34;4537:7;4530:4;4520:6;4517:1;4513:14;4509:2;4505:23;4501:34;4498:47;4495:67;;;4558:1;4555;4548:12;4495:67;4589:4;4581:13;;;;-1:-1:-1;4613:6:1;-1:-1:-1;;4654:20:1;;4641:34;4684:28;4641:34;4684:28;:::i;:::-;4731:5;4721:15;;;3992:750;;;;;:::o;4747:388::-;4815:6;4823;4876:2;4864:9;4855:7;4851:23;4847:32;4844:52;;;4892:1;4889;4882:12;4844:52;4931:9;4918:23;4950:31;4975:5;4950:31;:::i;:::-;5000:5;-1:-1:-1;5057:2:1;5042:18;;5029:32;5070:33;5029:32;5070:33;:::i;:::-;5122:7;5112:17;;;4747:388;;;;;:::o;5140:356::-;5342:2;5324:21;;;5361:18;;;5354:30;5420:34;5415:2;5400:18;;5393:62;5487:2;5472:18;;5140:356::o;5501:127::-;5562:10;5557:3;5553:20;5550:1;5543:31;5593:4;5590:1;5583:15;5617:4;5614:1;5607:15;5633:217;5673:1;5699;5689:132;;5743:10;5738:3;5734:20;5731:1;5724:31;5778:4;5775:1;5768:15;5806:4;5803:1;5796:15;5689:132;-1:-1:-1;5835:9:1;;5633:217::o;5855:128::-;5895:3;5926:1;5922:6;5919:1;5916:13;5913:39;;;5932:18;;:::i;:::-;-1:-1:-1;5968:9:1;;5855:128::o;6795:127::-;6856:10;6851:3;6847:20;6844:1;6837:31;6887:4;6884:1;6877:15;6911:4;6908:1;6901:15;6927:135;6966:3;-1:-1:-1;;6987:17:1;;6984:43;;;7007:18;;:::i;:::-;-1:-1:-1;7054:1:1;7043:13;;6927:135::o;7419:251::-;7489:6;7542:2;7530:9;7521:7;7517:23;7513:32;7510:52;;;7558:1;7555;7548:12;7510:52;7590:9;7584:16;7609:31;7634:5;7609:31;:::i;8596:306::-;8684:6;8692;8700;8753:2;8741:9;8732:7;8728:23;8724:32;8721:52;;;8769:1;8766;8759:12;8721:52;8798:9;8792:16;8782:26;;8848:2;8837:9;8833:18;8827:25;8817:35;;8892:2;8881:9;8877:18;8871:25;8861:35;;8596:306;;;;;:::o;9186:245::-;9253:6;9306:2;9294:9;9285:7;9281:23;9277:32;9274:52;;;9322:1;9319;9312:12;9274:52;9354:9;9348:16;9373:28;9395:5;9373:28;:::i;12563:125::-;12603:4;12631:1;12628;12625:8;12622:34;;;12636:18;;:::i;:::-;-1:-1:-1;12673:9:1;;12563:125::o;12693:168::-;12733:7;12799:1;12795;12791:6;12787:14;12784:1;12781:21;12776:1;12769:9;12762:17;12758:45;12755:71;;;12806:18;;:::i;:::-;-1:-1:-1;12846:9:1;;12693:168::o;13409:980::-;13671:4;13719:3;13708:9;13704:19;13750:6;13739:9;13732:25;13776:2;13814:6;13809:2;13798:9;13794:18;13787:34;13857:3;13852:2;13841:9;13837:18;13830:31;13881:6;13916;13910:13;13947:6;13939;13932:22;13985:3;13974:9;13970:19;13963:26;;14024:2;14016:6;14012:15;13998:29;;14045:1;14055:195;14069:6;14066:1;14063:13;14055:195;;;14134:13;;-1:-1:-1;;;;;14130:39:1;14118:52;;14225:15;;;;14190:12;;;;14166:1;14084:9;14055:195;;;-1:-1:-1;;;;;;;14306:32:1;;;;14301:2;14286:18;;14279:60;-1:-1:-1;;;14370:3:1;14355:19;14348:35;14267:3;13409:980;-1:-1:-1;;;13409:980:1:o

Swarm Source

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