ETH Price: $3,115.34 (-0.01%)
Gas: 7.83 Gwei

Token

BabyBonk (Baby Bonk)
 

Overview

Max Total Supply

1,000,000 Baby Bonk

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
30,383.845696014282250426 Baby Bonk

Value
$0.00
0x8b7ba6640f025a6a784faedd6c5ed30c2281c77a
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
BabyBonk

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.17;

/***

TG: https://t.me/BabyBonkToken
Twitter: https://twitter.com/BabyBonkToken  

***/

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


interface IERC20 
{
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

        return c;
    }

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


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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

// pragma solidity >=0.5.0;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}


interface IUniswapV2Pair {
    function factory() external view returns (address);
}



interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}


interface IUniswapV2Router02 is IUniswapV2Router01 
{
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract BabyBonk is Context, IERC20, Ownable
{
    using SafeMath for uint256;

    address payable public marketingAddress = payable(0x449Df439d4c31E96d785c1B4f2CA0827860D4210);

    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 _isExcluded;
    mapping (address => bool) private _isExemptFromTxLimit;
    address[] private _excluded;
       
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1_000_000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    string private _name = "BabyBonk";
    string private _symbol = "Baby Bonk";
    uint8 private _decimals = 18;
    
    uint256 public _marketingFee = 20;
    uint256 private _previousmarketingFee = _marketingFee;
    
    uint256 _sellmarketingFee = 30;

    uint256 public _maxTxAmount = _tTotal.div(100).mul(2); //2% 

    uint256 private _minimumTokensBeforeSwap = 1_000 * 10**18;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public uniswapV2Pair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = false;

    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () 
    {
        _rOwned[owner()] = _rTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        emit Transfer(address(0), owner(), _tTotal);

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingAddress] = true;

        _isExemptFromTxLimit[owner()] = true;
        _isExemptFromTxLimit[address(this)] = true;
        _isExemptFromTxLimit[marketingAddress] = true;
    }



    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) 
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    
    function minimumTokensBeforeSwapAmount() public view returns (uint256) 
    {
        return _minimumTokensBeforeSwap;
    }


    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 isExcludedFromFee(address account) external view returns(bool) {
        return _isExcludedFromFee[account];
    }
    
    function excludeFromFee(address account) external onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) external onlyOwner {
        _isExcludedFromFee[account] = false;
    }


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


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

        if(!_isExemptFromTxLimit[from] && !_isExemptFromTxLimit[to]) 
        {
            require(amount <= _maxTxAmount, "Exceeds Max Tx Amount");
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool overMinimumTokenBalance = contractTokenBalance >= _minimumTokensBeforeSwap;
        
        if (!inSwapAndLiquify && swapAndLiquifyEnabled && from != uniswapV2Pair) {
            if (overMinimumTokenBalance) 
            {
                contractTokenBalance = _minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);
            }
        }

        if(to==uniswapV2Pair) {  setSellFee(); }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to])
        {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }


    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap 
    {
        swapTokensForEth(contractTokenBalance); 
        uint256 newBalance = address(this).balance;
        marketingAddress.transfer(newBalance);
    }
    
    function swapTokensForEth(uint256 tokenAmount) private 
    {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        emit SwapTokensForETH(tokenAmount, path);
    }
    

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private 
    {

        if(!takeFee) { removeAllFee(); }

        if (_isExcluded[sender] && !_isExcluded[recipient]) 
        {
            _transferFromExcluded(sender, recipient, amount);
        } 
        else if (!_isExcluded[sender] && _isExcluded[recipient]) 
        {
            _transferToExcluded(sender, recipient, amount);
        } 
        else if(_isExcluded[sender] && _isExcluded[recipient]) 
        {
            _transferBothExcluded(sender, recipient, amount);
        } 
        else 
        {
            _transferStandard(sender, recipient, amount);
        }   
        restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private 
    {
        (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takemarketingFee(tLiquidity);
        emit Transfer(sender, recipient, tTransferAmount);
        if(tLiquidity>0) { emit Transfer(sender, address(this), tLiquidity); }
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private 
    {
        (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _takemarketingFee(tLiquidity);
        emit Transfer(sender, recipient, tTransferAmount);
        if(tLiquidity>0) { emit Transfer(sender, address(this), tLiquidity); }
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private 
    {
        (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takemarketingFee(tLiquidity);
        emit Transfer(sender, recipient, tTransferAmount);
        if(tLiquidity>0) { emit Transfer(sender, address(this), tLiquidity); }
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private 
    {
        (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
        _takemarketingFee(tLiquidity);
        emit Transfer(sender, recipient, tTransferAmount);
        if(tLiquidity>0) { emit Transfer(sender, address(this), tLiquidity); }
    }


    function excludeFromTxLimit(address account, bool _value) external onlyOwner
    {
        _isExemptFromTxLimit[account] = _value;
    }


    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) 
    {
        (uint256 tTransferAmount, uint256 tLiquidity) = _getTValues(tAmount);
        (uint256 rAmount, uint256 rTransferAmount) = _getRValues(tAmount, tLiquidity, _getRate());
        return (rAmount, rTransferAmount, tTransferAmount, tLiquidity);
    }

    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) 
    {
        uint256 tLiquidity = calculateWalletsFee(tAmount);
        uint256 tTransferAmount = tAmount.sub(tLiquidity);
        return (tTransferAmount, tLiquidity);
    }

    function _getRValues(uint256 tAmount, uint256 tLiquidity, uint256 currentRate) private pure returns (uint256, uint256) 
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rLiquidity);
        return (rAmount, rTransferAmount);
    }

    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;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    

    function _takemarketingFee(uint256 tLiquidity) private 
    {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);
        if(_isExcluded[address(this)]) {
            _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity);
        }
            
    }
    
    
    function calculateWalletsFee(uint256 _amount) private view returns (uint256) 
    {
        return _amount.mul(_marketingFee).div(100);
    }
    
    function removeAllFee() private 
    {       
        _marketingFee = 0;
    }
    
    function restoreAllFee() private 
    {
        _marketingFee = _previousmarketingFee;
    }

    function setSellFee() private 
    {
        _marketingFee = _sellmarketingFee;
    }
    

    function setAllFees(uint256 buymarketingFee, uint256 sellmarketingFee) external onlyOwner
    {
        _sellmarketingFee = sellmarketingFee;
        _marketingFee = buymarketingFee;
        _previousmarketingFee = buymarketingFee;
    }

    function setMaxTxAmount(uint256 _mount) external onlyOwner() 
    {
        _maxTxAmount = _mount;
    }
    

    function setMinimumTokensBeforeSwap(uint256 __minimumTokensBeforeSwap) external onlyOwner() 
    {
        _minimumTokensBeforeSwap = __minimumTokensBeforeSwap;
    }
    

    function setMarketingAddress(address _marketingAddress) external onlyOwner() 
    {
        marketingAddress = payable(_marketingAddress);
    }



    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner 
    {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }


    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"excludeFromTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"buymarketingFee","type":"uint256"},{"internalType":"uint256","name":"sellmarketingFee","type":"uint256"}],"name":"setAllFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__minimumTokensBeforeSwap","type":"uint256"}],"name":"setMinimumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600280546001600160a01b03191673449df439d4c31e96d785c1b4f2ca0827860d421017905569d3c21bcecceda1000000600a8190556200004890600019620005bc565b6200005690600019620005e9565b600b5560408051808201909152600881526742616279426f6e6b60c01b6020820152600c90620000879082620006a4565b506040805180820190915260098152684261627920426f6e6b60b81b6020820152600d90620000b79082620006a4565b50600e8054601260ff199091161790556014600f819055601055601e601155600a546200010e90600290620000fa90606462000489602090811b62000bba17901c565b620004dc60201b62000c031790919060201c565b601255683635c9adc5dea000006013556014805460ff60a81b191690553480156200013857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b5460036000620001946000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000236919062000770565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa919062000770565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031e919062000770565b601480546001600160a01b0319166001600160a01b039283161790558116608052620003526000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200039a91815260200190565b60405180910390a3600160066000620003bb6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260069093528183208054851660019081179091556002549091168352908220805490931681179092556008906200042b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526008909352818320805485166001908117909155600254909116835291208054909216179055506200081c565b6000620004d383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200056a60201b60201c565b90505b92915050565b600082600003620004f057506000620004d6565b6000620004fe83856200079b565b9050826200050d8583620007b5565b14620004d35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b600081836200058e5760405162461bcd60e51b8152600401620005619190620007cc565b5060006200059d8486620007b5565b95945050505050565b634e487b7160e01b600052601260045260246000fd5b600082620005ce57620005ce620005a6565b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004d657620004d6620005d3565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200062a57607f821691505b6020821081036200064b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200069f57600081815260208120601f850160051c810160208610156200067a5750805b601f850160051c820191505b818110156200069b5782815560010162000686565b5050505b505050565b81516001600160401b03811115620006c057620006c0620005ff565b620006d881620006d1845462000615565b8462000651565b602080601f831160018114620007105760008415620006f75750858301515b600019600386901b1c1916600185901b1785556200069b565b600085815260208120601f198616915b82811015620007415788860151825594840194600190910190840162000720565b5085821015620007605787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200078357600080fd5b81516001600160a01b0381168114620004d357600080fd5b8082028115828204841417620004d657620004d6620005d3565b600082620007c757620007c7620005a6565b500490565b600060208083528351808285015260005b81811015620007fb57858101830151858201604001528201620007dd565b506000604082860101526040601f19601f8301168501019250505092915050565b608051611f026200084d6000396000818161024a015281816113950152818161144e015261148a0152611f026000f3fe6080604052600436106101d15760003560e01c8063715018a6116100f7578063a5ece94111610095578063dd62ed3e11610064578063dd62ed3e1461054a578063ea2f0b3714610590578063ec28438a146105b0578063f2fde38b146105d057600080fd5b8063a5ece941146104ca578063a9059cbb146104ea578063aee50b1e1461050a578063c49b9a801461052a57600080fd5b8063906e9dd0116100d1578063906e9dd01461046057806395d89b4114610480578063a073d37f14610495578063a457c2d7146104aa57600080fd5b8063715018a6146104175780637d1db4a51461042c5780638da5cb5b1461044257600080fd5b8063313ce5671161016f57806349bd5a5e1161013e57806349bd5a5e1461037d5780634a74bb021461039d5780635342acb4146103be57806370a08231146103f757600080fd5b8063313ce567146102fb578063395093511461031d578063437823ec1461033d57806349ae99671461035d57600080fd5b806318160ddd116101ab57806318160ddd1461028457806322976e0d146102a357806323b872dd146102b957806330280a71146102d957600080fd5b806306fdde03146101dd578063095ea7b3146102085780631694505e1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f26105f0565b6040516101ff9190611ae5565b60405180910390f35b34801561021457600080fd5b50610228610223366004611b4b565b610682565b60405190151581526020016101ff565b34801561024457600080fd5b5061026c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ff565b34801561029057600080fd5b50600a545b6040519081526020016101ff565b3480156102af57600080fd5b50610295600f5481565b3480156102c557600080fd5b506102286102d4366004611b77565b610699565b3480156102e557600080fd5b506102f96102f4366004611bcd565b610702565b005b34801561030757600080fd5b50600e5460405160ff90911681526020016101ff565b34801561032957600080fd5b50610228610338366004611b4b565b610760565b34801561034957600080fd5b506102f9610358366004611c02565b610796565b34801561036957600080fd5b506102f9610378366004611c1f565b6107e4565b34801561038957600080fd5b5060145461026c906001600160a01b031681565b3480156103a957600080fd5b5060145461022890600160a81b900460ff1681565b3480156103ca57600080fd5b506102286103d9366004611c02565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040357600080fd5b50610295610412366004611c02565b61081b565b34801561042357600080fd5b506102f961087a565b34801561043857600080fd5b5061029560125481565b34801561044e57600080fd5b506000546001600160a01b031661026c565b34801561046c57600080fd5b506102f961047b366004611c02565b6108ee565b34801561048c57600080fd5b506101f261093a565b3480156104a157600080fd5b50601354610295565b3480156104b657600080fd5b506102286104c5366004611b4b565b610949565b3480156104d657600080fd5b5060025461026c906001600160a01b031681565b3480156104f657600080fd5b50610228610505366004611b4b565b610998565b34801561051657600080fd5b506102f9610525366004611c41565b6109a5565b34801561053657600080fd5b506102f9610545366004611c5a565b6109d4565b34801561055657600080fd5b50610295610565366004611c75565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561059c57600080fd5b506102f96105ab366004611c02565b610a56565b3480156105bc57600080fd5b506102f96105cb366004611c41565b610aa1565b3480156105dc57600080fd5b506102f96105eb366004611c02565b610ad0565b6060600c80546105ff90611cae565b80601f016020809104026020016040519081016040528092919081815260200182805461062b90611cae565b80156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b5050505050905090565b600061068f338484610c85565b5060015b92915050565b60006106a6848484610da9565b6106f884336106f385604051806060016040528060288152602001611e80602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061104d565b610c85565b5060019392505050565b6000546001600160a01b031633146107355760405162461bcd60e51b815260040161072c90611ce8565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161068f9185906106f39086611087565b6000546001600160a01b031633146107c05760405162461bcd60e51b815260040161072c90611ce8565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161072c90611ce8565b601155600f819055601055565b6001600160a01b03811660009081526007602052604081205460ff161561085857506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610693906110e6565b6000546001600160a01b031633146108a45760405162461bcd60e51b815260040161072c90611ce8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109185760405162461bcd60e51b815260040161072c90611ce8565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600d80546105ff90611cae565b600061068f33846106f385604051806060016040528060258152602001611ea8602591393360009081526005602090815260408083206001600160a01b038d168452909152902054919061104d565b600061068f338484610da9565b6000546001600160a01b031633146109cf5760405162461bcd60e51b815260040161072c90611ce8565b601355565b6000546001600160a01b031633146109fe5760405162461bcd60e51b815260040161072c90611ce8565b60148054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610a4b90831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610a805760405162461bcd60e51b815260040161072c90611ce8565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314610acb5760405162461bcd60e51b815260040161072c90611ce8565b601255565b6000546001600160a01b03163314610afa5760405162461bcd60e51b815260040161072c90611ce8565b6001600160a01b038116610b5f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610bfc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611163565b9392505050565b600082600003610c1557506000610693565b6000610c218385611d33565b905082610c2e8583611d4a565b14610bfc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072c565b6001600160a01b038316610ce75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072c565b6001600160a01b038216610d485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072c565b6001600160a01b038216610e6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072c565b60008111610ed15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161072c565b6001600160a01b03831660009081526008602052604090205460ff16158015610f1357506001600160a01b03821660009081526008602052604090205460ff16155b15610f6257601254811115610f625760405162461bcd60e51b8152602060048201526015602482015274115e18d959591cc813585e08151e08105b5bdd5b9d605a1b604482015260640161072c565b6000610f6d3061081b565b60135460145491925082101590600160a01b900460ff16158015610f9a5750601454600160a81b900460ff165b8015610fb457506014546001600160a01b03868116911614155b15610fcd578015610fcd576013549150610fcd82611191565b6014546001600160a01b0390811690851603610fee57610fee601154600f55565b6001600160a01b03851660009081526006602052604090205460019060ff168061103057506001600160a01b03851660009081526006602052604090205460ff165b15611039575060005b611045868686846111f9565b505050505050565b600081848411156110715760405162461bcd60e51b815260040161072c9190611ae5565b50600061107e8486611d6c565b95945050505050565b6000806110948385611d7f565b905083811015610bfc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072c565b6000600b5482111561114d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161072c565b600061115761131b565b9050610bfc8382610bba565b600081836111845760405162461bcd60e51b815260040161072c9190611ae5565b50600061107e8486611d4a565b6014805460ff60a01b1916600160a01b1790556111ad8161133e565b60025460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156111e7573d6000803e3d6000fd5b50506014805460ff60a01b1916905550565b80611208576112086000600f55565b6001600160a01b03841660009081526007602052604090205460ff16801561124957506001600160a01b03831660009081526007602052604090205460ff16155b1561125e57611259848484611537565b61130a565b6001600160a01b03841660009081526007602052604090205460ff1615801561129f57506001600160a01b03831660009081526007602052604090205460ff165b156112af57611259848484611690565b6001600160a01b03841660009081526007602052604090205460ff1680156112ef57506001600160a01b03831660009081526007602052604090205460ff165b156112ff57611259848484611731565b61130a84848461179c565b611315601054600f55565b50505050565b60008060006113286117d8565b90925090506113378282610bba565b9250505090565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061137357611373611d92565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190611da8565b8160018151811061142857611428611d92565b60200260200101906001600160a01b031690816001600160a01b031681525050611473307f000000000000000000000000000000000000000000000000000000000000000084610c85565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906114c8908590600090869030904290600401611e09565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161152b929190611e45565b60405180910390a15050565b6000806000806115468561195a565b6001600160a01b038b16600090815260046020526040902054939750919550935091506115739086611998565b6001600160a01b0388166000908152600460209081526040808320939093556003905220546115a29085611998565b6001600160a01b0380891660009081526003602052604080822093909355908816815220546115d19084611087565b6001600160a01b0387166000908152600360205260409020556115f3816119da565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161163891815260200190565b60405180910390a380156116875760405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505050505050565b60008060008061169f8561195a565b6001600160a01b038b16600090815260036020526040902054939750919550935091506116cc9085611998565b6001600160a01b038089166000908152600360209081526040808320949094559189168152600490915220546117029083611087565b6001600160a01b0387166000908152600460209081526040808320939093556003905220546115d19084611087565b6000806000806117408561195a565b6001600160a01b038b166000908152600460205260409020549397509195509350915061176d9086611998565b6001600160a01b0388166000908152600460209081526040808320939093556003905220546116cc9085611998565b6000806000806117ab8561195a565b6001600160a01b038b16600090815260036020526040902054939750919550935091506115a29085611998565b600b54600a546000918291825b60095481101561192a5782600360006009848154811061180757611807611d92565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611872575081600460006009848154811061184b5761184b611d92565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561188857600b54600a54945094505050509091565b6118ce60036000600984815481106118a2576118a2611d92565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611998565b925061191660046000600984815481106118ea576118ea611d92565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611998565b91508061192281611e66565b9150506117e5565b50600a54600b5461193a91610bba565b82101561195157600b54600a549350935050509091565b90939092509050565b60008060008060008061196c87611a63565b91509150600080611985898461198061131b565b611a8a565b909a909950939750919550919350505050565b6000610bfc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061104d565b60006119e461131b565b905060006119f28383610c03565b30600090815260036020526040902054909150611a0f9082611087565b3060009081526003602090815260408083209390935560079052205460ff1615611a5e5730600090815260046020526040902054611a4d9084611087565b306000908152600460205260409020555b505050565b6000806000611a7184611ac3565b90506000611a7f8583611998565b959194509092505050565b60008080611a988685610c03565b90506000611aa68686610c03565b90506000611ab48383611998565b92989297509195505050505050565b60006106936064611adf600f5485610c0390919063ffffffff16565b90610bba565b600060208083528351808285015260005b81811015611b1257858101830151858201604001528201611af6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611b4857600080fd5b50565b60008060408385031215611b5e57600080fd5b8235611b6981611b33565b946020939093013593505050565b600080600060608486031215611b8c57600080fd5b8335611b9781611b33565b92506020840135611ba781611b33565b929592945050506040919091013590565b80358015158114611bc857600080fd5b919050565b60008060408385031215611be057600080fd5b8235611beb81611b33565b9150611bf960208401611bb8565b90509250929050565b600060208284031215611c1457600080fd5b8135610bfc81611b33565b60008060408385031215611c3257600080fd5b50508035926020909101359150565b600060208284031215611c5357600080fd5b5035919050565b600060208284031215611c6c57600080fd5b610bfc82611bb8565b60008060408385031215611c8857600080fd5b8235611c9381611b33565b91506020830135611ca381611b33565b809150509250929050565b600181811c90821680611cc257607f821691505b602082108103611ce257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761069357610693611d1d565b600082611d6757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561069357610693611d1d565b8082018082111561069357610693611d1d565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dba57600080fd5b8151610bfc81611b33565b600081518084526020808501945080840160005b83811015611dfe5781516001600160a01b031687529582019590820190600101611dd9565b509495945050505050565b85815284602082015260a060408201526000611e2860a0830186611dc5565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611e5e6040830184611dc5565b949350505050565b600060018201611e7857611e78611d1d565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c000881ba7e69054d8ef19bca71b16b04c86e9e7a4890fbccafa03f5150a5af464736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c8063715018a6116100f7578063a5ece94111610095578063dd62ed3e11610064578063dd62ed3e1461054a578063ea2f0b3714610590578063ec28438a146105b0578063f2fde38b146105d057600080fd5b8063a5ece941146104ca578063a9059cbb146104ea578063aee50b1e1461050a578063c49b9a801461052a57600080fd5b8063906e9dd0116100d1578063906e9dd01461046057806395d89b4114610480578063a073d37f14610495578063a457c2d7146104aa57600080fd5b8063715018a6146104175780637d1db4a51461042c5780638da5cb5b1461044257600080fd5b8063313ce5671161016f57806349bd5a5e1161013e57806349bd5a5e1461037d5780634a74bb021461039d5780635342acb4146103be57806370a08231146103f757600080fd5b8063313ce567146102fb578063395093511461031d578063437823ec1461033d57806349ae99671461035d57600080fd5b806318160ddd116101ab57806318160ddd1461028457806322976e0d146102a357806323b872dd146102b957806330280a71146102d957600080fd5b806306fdde03146101dd578063095ea7b3146102085780631694505e1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f26105f0565b6040516101ff9190611ae5565b60405180910390f35b34801561021457600080fd5b50610228610223366004611b4b565b610682565b60405190151581526020016101ff565b34801561024457600080fd5b5061026c7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101ff565b34801561029057600080fd5b50600a545b6040519081526020016101ff565b3480156102af57600080fd5b50610295600f5481565b3480156102c557600080fd5b506102286102d4366004611b77565b610699565b3480156102e557600080fd5b506102f96102f4366004611bcd565b610702565b005b34801561030757600080fd5b50600e5460405160ff90911681526020016101ff565b34801561032957600080fd5b50610228610338366004611b4b565b610760565b34801561034957600080fd5b506102f9610358366004611c02565b610796565b34801561036957600080fd5b506102f9610378366004611c1f565b6107e4565b34801561038957600080fd5b5060145461026c906001600160a01b031681565b3480156103a957600080fd5b5060145461022890600160a81b900460ff1681565b3480156103ca57600080fd5b506102286103d9366004611c02565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040357600080fd5b50610295610412366004611c02565b61081b565b34801561042357600080fd5b506102f961087a565b34801561043857600080fd5b5061029560125481565b34801561044e57600080fd5b506000546001600160a01b031661026c565b34801561046c57600080fd5b506102f961047b366004611c02565b6108ee565b34801561048c57600080fd5b506101f261093a565b3480156104a157600080fd5b50601354610295565b3480156104b657600080fd5b506102286104c5366004611b4b565b610949565b3480156104d657600080fd5b5060025461026c906001600160a01b031681565b3480156104f657600080fd5b50610228610505366004611b4b565b610998565b34801561051657600080fd5b506102f9610525366004611c41565b6109a5565b34801561053657600080fd5b506102f9610545366004611c5a565b6109d4565b34801561055657600080fd5b50610295610565366004611c75565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561059c57600080fd5b506102f96105ab366004611c02565b610a56565b3480156105bc57600080fd5b506102f96105cb366004611c41565b610aa1565b3480156105dc57600080fd5b506102f96105eb366004611c02565b610ad0565b6060600c80546105ff90611cae565b80601f016020809104026020016040519081016040528092919081815260200182805461062b90611cae565b80156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b5050505050905090565b600061068f338484610c85565b5060015b92915050565b60006106a6848484610da9565b6106f884336106f385604051806060016040528060288152602001611e80602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061104d565b610c85565b5060019392505050565b6000546001600160a01b031633146107355760405162461bcd60e51b815260040161072c90611ce8565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161068f9185906106f39086611087565b6000546001600160a01b031633146107c05760405162461bcd60e51b815260040161072c90611ce8565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161072c90611ce8565b601155600f819055601055565b6001600160a01b03811660009081526007602052604081205460ff161561085857506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610693906110e6565b6000546001600160a01b031633146108a45760405162461bcd60e51b815260040161072c90611ce8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109185760405162461bcd60e51b815260040161072c90611ce8565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600d80546105ff90611cae565b600061068f33846106f385604051806060016040528060258152602001611ea8602591393360009081526005602090815260408083206001600160a01b038d168452909152902054919061104d565b600061068f338484610da9565b6000546001600160a01b031633146109cf5760405162461bcd60e51b815260040161072c90611ce8565b601355565b6000546001600160a01b031633146109fe5760405162461bcd60e51b815260040161072c90611ce8565b60148054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610a4b90831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610a805760405162461bcd60e51b815260040161072c90611ce8565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314610acb5760405162461bcd60e51b815260040161072c90611ce8565b601255565b6000546001600160a01b03163314610afa5760405162461bcd60e51b815260040161072c90611ce8565b6001600160a01b038116610b5f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610bfc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611163565b9392505050565b600082600003610c1557506000610693565b6000610c218385611d33565b905082610c2e8583611d4a565b14610bfc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072c565b6001600160a01b038316610ce75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072c565b6001600160a01b038216610d485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072c565b6001600160a01b038216610e6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072c565b60008111610ed15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161072c565b6001600160a01b03831660009081526008602052604090205460ff16158015610f1357506001600160a01b03821660009081526008602052604090205460ff16155b15610f6257601254811115610f625760405162461bcd60e51b8152602060048201526015602482015274115e18d959591cc813585e08151e08105b5bdd5b9d605a1b604482015260640161072c565b6000610f6d3061081b565b60135460145491925082101590600160a01b900460ff16158015610f9a5750601454600160a81b900460ff165b8015610fb457506014546001600160a01b03868116911614155b15610fcd578015610fcd576013549150610fcd82611191565b6014546001600160a01b0390811690851603610fee57610fee601154600f55565b6001600160a01b03851660009081526006602052604090205460019060ff168061103057506001600160a01b03851660009081526006602052604090205460ff165b15611039575060005b611045868686846111f9565b505050505050565b600081848411156110715760405162461bcd60e51b815260040161072c9190611ae5565b50600061107e8486611d6c565b95945050505050565b6000806110948385611d7f565b905083811015610bfc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072c565b6000600b5482111561114d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161072c565b600061115761131b565b9050610bfc8382610bba565b600081836111845760405162461bcd60e51b815260040161072c9190611ae5565b50600061107e8486611d4a565b6014805460ff60a01b1916600160a01b1790556111ad8161133e565b60025460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156111e7573d6000803e3d6000fd5b50506014805460ff60a01b1916905550565b80611208576112086000600f55565b6001600160a01b03841660009081526007602052604090205460ff16801561124957506001600160a01b03831660009081526007602052604090205460ff16155b1561125e57611259848484611537565b61130a565b6001600160a01b03841660009081526007602052604090205460ff1615801561129f57506001600160a01b03831660009081526007602052604090205460ff165b156112af57611259848484611690565b6001600160a01b03841660009081526007602052604090205460ff1680156112ef57506001600160a01b03831660009081526007602052604090205460ff165b156112ff57611259848484611731565b61130a84848461179c565b611315601054600f55565b50505050565b60008060006113286117d8565b90925090506113378282610bba565b9250505090565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061137357611373611d92565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190611da8565b8160018151811061142857611428611d92565b60200260200101906001600160a01b031690816001600160a01b031681525050611473307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610c85565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906114c8908590600090869030904290600401611e09565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161152b929190611e45565b60405180910390a15050565b6000806000806115468561195a565b6001600160a01b038b16600090815260046020526040902054939750919550935091506115739086611998565b6001600160a01b0388166000908152600460209081526040808320939093556003905220546115a29085611998565b6001600160a01b0380891660009081526003602052604080822093909355908816815220546115d19084611087565b6001600160a01b0387166000908152600360205260409020556115f3816119da565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161163891815260200190565b60405180910390a380156116875760405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505050505050565b60008060008061169f8561195a565b6001600160a01b038b16600090815260036020526040902054939750919550935091506116cc9085611998565b6001600160a01b038089166000908152600360209081526040808320949094559189168152600490915220546117029083611087565b6001600160a01b0387166000908152600460209081526040808320939093556003905220546115d19084611087565b6000806000806117408561195a565b6001600160a01b038b166000908152600460205260409020549397509195509350915061176d9086611998565b6001600160a01b0388166000908152600460209081526040808320939093556003905220546116cc9085611998565b6000806000806117ab8561195a565b6001600160a01b038b16600090815260036020526040902054939750919550935091506115a29085611998565b600b54600a546000918291825b60095481101561192a5782600360006009848154811061180757611807611d92565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611872575081600460006009848154811061184b5761184b611d92565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561188857600b54600a54945094505050509091565b6118ce60036000600984815481106118a2576118a2611d92565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611998565b925061191660046000600984815481106118ea576118ea611d92565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611998565b91508061192281611e66565b9150506117e5565b50600a54600b5461193a91610bba565b82101561195157600b54600a549350935050509091565b90939092509050565b60008060008060008061196c87611a63565b91509150600080611985898461198061131b565b611a8a565b909a909950939750919550919350505050565b6000610bfc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061104d565b60006119e461131b565b905060006119f28383610c03565b30600090815260036020526040902054909150611a0f9082611087565b3060009081526003602090815260408083209390935560079052205460ff1615611a5e5730600090815260046020526040902054611a4d9084611087565b306000908152600460205260409020555b505050565b6000806000611a7184611ac3565b90506000611a7f8583611998565b959194509092505050565b60008080611a988685610c03565b90506000611aa68686610c03565b90506000611ab48383611998565b92989297509195505050505050565b60006106936064611adf600f5485610c0390919063ffffffff16565b90610bba565b600060208083528351808285015260005b81811015611b1257858101830151858201604001528201611af6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611b4857600080fd5b50565b60008060408385031215611b5e57600080fd5b8235611b6981611b33565b946020939093013593505050565b600080600060608486031215611b8c57600080fd5b8335611b9781611b33565b92506020840135611ba781611b33565b929592945050506040919091013590565b80358015158114611bc857600080fd5b919050565b60008060408385031215611be057600080fd5b8235611beb81611b33565b9150611bf960208401611bb8565b90509250929050565b600060208284031215611c1457600080fd5b8135610bfc81611b33565b60008060408385031215611c3257600080fd5b50508035926020909101359150565b600060208284031215611c5357600080fd5b5035919050565b600060208284031215611c6c57600080fd5b610bfc82611bb8565b60008060408385031215611c8857600080fd5b8235611c9381611b33565b91506020830135611ca381611b33565b809150509250929050565b600181811c90821680611cc257607f821691505b602082108103611ce257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761069357610693611d1d565b600082611d6757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561069357610693611d1d565b8082018082111561069357610693611d1d565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dba57600080fd5b8151610bfc81611b33565b600081518084526020808501945080840160005b83811015611dfe5781516001600160a01b031687529582019590820190600101611dd9565b509495945050505050565b85815284602082015260a060408201526000611e2860a0830186611dc5565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611e5e6040830184611dc5565b949350505050565b600060018201611e7857611e78611d1d565b506001019056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c000881ba7e69054d8ef19bca71b16b04c86e9e7a4890fbccafa03f5150a5af464736f6c63430008110033

Deployed Bytecode Sourcemap

4676:14599:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7229:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8141:161;;;;;;;;;;-1:-1:-1;8141:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8141:161:0;1023:187:1;5821:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5821:51:0;1215:229:1;7506:95:0;;;;;;;;;;-1:-1:-1;7586:7:0;;7506:95;;;1595:25:1;;;1583:2;1568:18;7506:95:0;1449:177:1;5542:33:0;;;;;;;;;;;;;;;;8310:313;;;;;;;;;;-1:-1:-1;8310:313:0;;;;;:::i;:::-;;:::i;15578:139::-;;;;;;;;;;-1:-1:-1;15578:139:0;;;;;:::i;:::-;;:::i;:::-;;7415:83;;;;;;;;;;-1:-1:-1;7481:9:0;;7415:83;;7481:9;;;;2719:36:1;;2707:2;2692:18;7415:83:0;2577:184:1;8631:218:0;;;;;;;;;;-1:-1:-1;8631:218:0;;;;;:::i;:::-;;:::i;9690:113::-;;;;;;;;;;-1:-1:-1;9690:113:0;;;;;:::i;:::-;;:::i;18341:242::-;;;;;;;;;;-1:-1:-1;18341:242:0;;;;;:::i;:::-;;:::i;5879:28::-;;;;;;;;;;-1:-1:-1;5879:28:0;;;;-1:-1:-1;;;;;5879:28:0;;;5948:41;;;;;;;;;;-1:-1:-1;5948:41:0;;;;-1:-1:-1;;;5948:41:0;;;;;;9553:125;;;;;;;;;;-1:-1:-1;9553:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;9643:27:0;9619:4;9643:27;;;:18;:27;;;;;;;;;9553:125;7609:198;;;;;;;;;;-1:-1:-1;7609:198:0;;;;;:::i;:::-;;:::i;3394:154::-;;;;;;;;;;;;;:::i;5687:53::-;;;;;;;;;;;;;;;;3157:85;;;;;;;;;;-1:-1:-1;3195:7:0;3228:6;-1:-1:-1;;;;;3228:6:0;3157:85;;18895:147;;;;;;;;;;-1:-1:-1;18895:147:0;;;;;:::i;:::-;;:::i;7320:87::-;;;;;;;;;;;;;:::i;9146:127::-;;;;;;;;;;-1:-1:-1;9241:24:0;;9146:127;;8857:275;;;;;;;;;;-1:-1:-1;8857:275:0;;;;;:::i;:::-;;:::i;4765:93::-;;;;;;;;;;-1:-1:-1;4765:93:0;;;;-1:-1:-1;;;;;4765:93:0;;;7815:167;;;;;;;;;;-1:-1:-1;7815:167:0;;;;;:::i;:::-;;:::i;18712:169::-;;;;;;;;;;-1:-1:-1;18712:169:0;;;;;:::i;:::-;;:::i;19054:177::-;;;;;;;;;;-1:-1:-1;19054:177:0;;;;;:::i;:::-;;:::i;7990:143::-;;;;;;;;;;-1:-1:-1;7990:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8098:18:0;;;8071:7;8098:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7990:143;9815:112;;;;;;;;;;-1:-1:-1;9815:112:0;;;;;:::i;:::-;;:::i;18591:107::-;;;;;;;;;;-1:-1:-1;18591:107:0;;;;;:::i;:::-;;:::i;3556:244::-;;;;;;;;;;-1:-1:-1;3556:244:0;;;;;:::i;:::-;;:::i;7229:83::-;7266:13;7299:5;7292:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7229:83;:::o;8141:161::-;8216:4;8233:39;294:10;8256:7;8265:6;8233:8;:39::i;:::-;-1:-1:-1;8290:4:0;8141:161;;;;;:::o;8310:313::-;8408:4;8425:36;8435:6;8443:9;8454:6;8425:9;:36::i;:::-;8472:121;8481:6;294:10;8503:89;8541:6;8503:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8503:19:0;;;;;;:11;:19;;;;;;;;294:10;8503:33;;;;;;;;;;:37;:89::i;:::-;8472:8;:121::i;:::-;-1:-1:-1;8611:4:0;8310:313;;;;;:::o;15578:139::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;15671:29:0;;;::::1;;::::0;;;:20:::1;:29;::::0;;;;:38;;-1:-1:-1;;15671:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15578:139::o;8631:218::-;294:10;8719:4;8768:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8768:34:0;;;;;;;;;;8719:4;;8736:83;;8759:7;;8768:50;;8807:10;8768:38;:50::i;9690:113::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9761:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;9761:34:0::1;9791:4;9761:34;::::0;;9690:113::o;18341:242::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;18447:17:::1;:36:::0;18494:13:::1;:31:::0;;;18536:21:::1;:39:::0;18341:242::o;7609:198::-;-1:-1:-1;;;;;7699:20:0;;7675:7;7699:20;;;:11;:20;;;;;;;;7695:49;;;-1:-1:-1;;;;;;7728:16:0;;;;;:7;:16;;;;;;;7609:198::o;7695:49::-;-1:-1:-1;;;;;7782:16:0;;;;;;:7;:16;;;;;;7762:37;;:19;:37::i;3394:154::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;3507:1:::1;3491:6:::0;;3470:40:::1;::::0;-1:-1:-1;;;;;3491:6:0;;::::1;::::0;3470:40:::1;::::0;3507:1;;3470:40:::1;3538:1;3521:19:::0;;-1:-1:-1;;;;;;3521:19:0::1;::::0;;3394:154::o;18895:147::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;18989:16:::1;:45:::0;;-1:-1:-1;;;;;;18989:45:0::1;-1:-1:-1::0;;;;;18989:45:0;;;::::1;::::0;;;::::1;::::0;;18895:147::o;7320:87::-;7359:13;7392:7;7385:14;;;;;:::i;8857:275::-;8950:4;8973:129;294:10;8996:7;9005:96;9044:15;9005:96;;;;;;;;;;;;;;;;;294:10;9005:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9005:34:0;;;;;;;;;;;;:38;:96::i;7815:167::-;7893:4;7910:42;294:10;7934:9;7945:6;7910:9;:42::i;18712:169::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;18821:24:::1;:52:::0;18712:169::o;19054:177::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;19137:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;19137:32:0::1;-1:-1:-1::0;;;;19137:32:0;;::::1;;::::0;;19185:38:::1;::::0;::::1;::::0;::::1;::::0;19161:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;19185:38:0::1;;;;;;;;19054:177:::0;:::o;9815:112::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9884:27:0::1;9914:5;9884:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;9884:35:0::1;::::0;;9815:112::o;18591:107::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;18669:12:::1;:21:::0;18591:107::o;3556:244::-;3303:6;;-1:-1:-1;;;;;3303:6:0;294:10;3303:22;3295:67;;;;-1:-1:-1;;;3295:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3645:22:0;::::1;3637:73;;;::::0;-1:-1:-1;;;3637:73:0;;5414:2:1;3637:73:0::1;::::0;::::1;5396:21:1::0;5453:2;5433:18;;;5426:30;5492:34;5472:18;;;5465:62;-1:-1:-1;;;5543:18:1;;;5536:36;5589:19;;3637:73:0::1;5212:402:1::0;3637:73:0::1;3747:6;::::0;;3726:38:::1;::::0;-1:-1:-1;;;;;3726:38:0;;::::1;::::0;3747:6;::::1;::::0;3726:38:::1;::::0;::::1;3775:6;:17:::0;;-1:-1:-1;;;;;;3775:17:0::1;-1:-1:-1::0;;;;;3775:17:0;;;::::1;::::0;;;::::1;::::0;;3556:244::o;2055:132::-;2113:7;2140:39;2144:1;2147;2140:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2133:46;2055:132;-1:-1:-1;;;2055:132:0:o;1799:246::-;1857:7;1881:1;1886;1881:6;1877:47;;-1:-1:-1;1911:1:0;1904:8;;1877:47;1934:9;1946:5;1950:1;1946;:5;:::i;:::-;1934:17;-1:-1:-1;1979:1:0;1970:5;1974:1;1934:17;1970:5;:::i;:::-;:10;1962:56;;;;-1:-1:-1;;;1962:56:0;;6348:2:1;1962:56:0;;;6330:21:1;6387:2;6367:18;;;6360:30;6426:34;6406:18;;;6399:62;-1:-1:-1;;;6477:18:1;;;6470:31;6518:19;;1962:56:0;6146:397:1;9937:335:0;-1:-1:-1;;;;;10030:19:0;;10022:68;;;;-1:-1:-1;;;10022:68:0;;6750:2:1;10022:68:0;;;6732:21:1;6789:2;6769:18;;;6762:30;6828:34;6808:18;;;6801:62;-1:-1:-1;;;6879:18:1;;;6872:34;6923:19;;10022:68:0;6548:400:1;10022:68:0;-1:-1:-1;;;;;10109:21:0;;10101:68;;;;-1:-1:-1;;;10101:68:0;;7155:2:1;10101:68:0;;;7137:21:1;7194:2;7174:18;;;7167:30;7233:34;7213:18;;;7206:62;-1:-1:-1;;;7284:18:1;;;7277:32;7326:19;;10101:68:0;6953:398:1;10101:68:0;-1:-1:-1;;;;;10180:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10232:32;;1595:25:1;;;10232:32:0;;1568:18:1;10232:32:0;;;;;;;9937:335;;;:::o;10282:1185::-;-1:-1:-1;;;;;10376:18:0;;10368:68;;;;-1:-1:-1;;;10368:68:0;;7558:2:1;10368:68:0;;;7540:21:1;7597:2;7577:18;;;7570:30;7636:34;7616:18;;;7609:62;-1:-1:-1;;;7687:18:1;;;7680:35;7732:19;;10368:68:0;7356:401:1;10368:68:0;-1:-1:-1;;;;;10455:16:0;;10447:64;;;;-1:-1:-1;;;10447:64:0;;7964:2:1;10447:64:0;;;7946:21:1;8003:2;7983:18;;;7976:30;8042:34;8022:18;;;8015:62;-1:-1:-1;;;8093:18:1;;;8086:33;8136:19;;10447:64:0;7762:399:1;10447:64:0;10539:1;10530:6;:10;10522:64;;;;-1:-1:-1;;;10522:64:0;;8368:2:1;10522:64:0;;;8350:21:1;8407:2;8387:18;;;8380:30;8446:34;8426:18;;;8419:62;-1:-1:-1;;;8497:18:1;;;8490:39;8546:19;;10522:64:0;8166:405:1;10522:64:0;-1:-1:-1;;;;;10603:26:0;;;;;;:20;:26;;;;;;;;10602:27;:56;;;;-1:-1:-1;;;;;;10634:24:0;;;;;;:20;:24;;;;;;;;10633:25;10602:56;10599:154;;;10703:12;;10693:6;:22;;10685:56;;;;-1:-1:-1;;;10685:56:0;;8778:2:1;10685:56:0;;;8760:21:1;8817:2;8797:18;;;8790:30;-1:-1:-1;;;8836:18:1;;;8829:51;8897:18;;10685:56:0;8576:345:1;10685:56:0;10765:28;10796:24;10814:4;10796:9;:24::i;:::-;10886;;10936:16;;10765:55;;-1:-1:-1;10862:48:0;;;;-1:-1:-1;;;10936:16:0;;;;10935:17;:42;;;;-1:-1:-1;10956:21:0;;-1:-1:-1;;;10956:21:0;;;;10935:42;:67;;;;-1:-1:-1;10989:13:0;;-1:-1:-1;;;;;10981:21:0;;;10989:13;;10981:21;;10935:67;10931:279;;;11023:23;11019:180;;;11104:24;;11081:47;;11147:36;11162:20;11147:14;:36::i;:::-;11229:13;;-1:-1:-1;;;;;11229:13:0;;;11225:17;;;;11222:40;;11247:12;18302:17;;18286:13;:33;18239:88;11247:12;-1:-1:-1;;;;;11305:24:0;;11272:12;11305:24;;;:18;:24;;;;;;11287:4;;11305:24;;;:50;;-1:-1:-1;;;;;;11333:22:0;;;;;;:18;:22;;;;;;;;11305:50;11302:106;;;-1:-1:-1;11391:5:0;11302:106;11418:41;11433:4;11439:2;11443:6;11451:7;11418:14;:41::i;:::-;10357:1110;;;10282:1185;;;:::o;1599:192::-;1685:7;1721:12;1713:6;;;;1705:29;;;;-1:-1:-1;;;1705:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1745:9:0;1757:5;1761:1;1757;:5;:::i;:::-;1745:17;1599:192;-1:-1:-1;;;;;1599:192:0:o;1268:179::-;1326:7;;1358:5;1362:1;1358;:5;:::i;:::-;1346:17;;1387:1;1382;:6;;1374:46;;;;-1:-1:-1;;;1374:46:0;;9391:2:1;1374:46:0;;;9373:21:1;9430:2;9410:18;;;9403:30;9469:29;9449:18;;;9442:57;9516:18;;1374:46:0;9189:351:1;9283:260:0;9350:7;9395;;9384;:18;;9376:73;;;;-1:-1:-1;;;9376:73:0;;9747:2:1;9376:73:0;;;9729:21:1;9786:2;9766:18;;;9759:30;9825:34;9805:18;;;9798:62;-1:-1:-1;;;9876:18:1;;;9869:40;9926:19;;9376:73:0;9545:406:1;9376:73:0;9460:19;9483:10;:8;:10::i;:::-;9460:33;-1:-1:-1;9511:24:0;:7;9460:33;9511:11;:24::i;2195:278::-;2281:7;2316:12;2309:5;2301:28;;;;-1:-1:-1;;;2301:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2340:9:0;2352:5;2356:1;2352;:5;:::i;11477:239::-;6418:16;:23;;-1:-1:-1;;;;6418:23:0;-1:-1:-1;;;6418:23:0;;;11568:38:::1;11585:20:::0;11568:16:::1;:38::i;:::-;11671:16;::::0;:37:::1;::::0;11639:21:::1;::::0;-1:-1:-1;;;;;11671:16:0::1;::::0;:37;::::1;;;::::0;11639:21;;11618:18:::1;11671:37:::0;11618:18;11671:37;11639:21;11671:16;:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6464:16:0;:24;;-1:-1:-1;;;;6464:24:0;;;-1:-1:-1;11477:239:0:o;12400:732::-;12520:7;12516:32;;12531:14;18115:1;18099:13;:17;18043:81;12531:14;-1:-1:-1;;;;;12564:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;12588:22:0;;;;;;:11;:22;;;;;;;;12587:23;12564:46;12560:536;;;12637:48;12659:6;12667:9;12678:6;12637:21;:48::i;:::-;12560:536;;;-1:-1:-1;;;;;12718:19:0;;;;;;:11;:19;;;;;;;;12717:20;:46;;;;-1:-1:-1;;;;;;12741:22:0;;;;;;:11;:22;;;;;;;;12717:46;12713:383;;;12790:46;12810:6;12818:9;12829:6;12790:19;:46::i;12713:383::-;-1:-1:-1;;;;;12867:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;12890:22:0;;;;;;:11;:22;;;;;;;;12867:45;12864:232;;;12939:48;12961:6;12969:9;12980:6;12939:21;:48::i;12864:232::-;13040:44;13058:6;13066:9;13077:6;13040:17;:44::i;:::-;13109:15;18202:21;;18186:13;:37;18136:95;13109:15;12400:732;;;;:::o;16720:169::-;16761:7;16788:15;16805;16824:19;:17;:19::i;:::-;16787:56;;-1:-1:-1;16787:56:0;-1:-1:-1;16861:20:0;16787:56;;16861:11;:20::i;:::-;16854:27;;;;16720:169;:::o;11728:658::-;11884:16;;;11898:1;11884:16;;;;;;;;11860:21;;11884:16;;;;;;;;;;-1:-1:-1;11884:16:0;11860:40;;11929:4;11911;11916:1;11911:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;11911:23:0;;;-1:-1:-1;;;;;11911:23:0;;;;;11955:15;-1:-1:-1;;;;;11955:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11945:4;11950:1;11945:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;11945:32:0;;;-1:-1:-1;;;;;11945:32:0;;;;;11988:62;12005:4;12020:15;12038:11;11988:8;:62::i;:::-;12087:240;;-1:-1:-1;;;12087:240:0;;-1:-1:-1;;;;;12087:15:0;:66;;;;:240;;12168:11;;12194:1;;12238:4;;12265;;12301:15;;12087:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12343:35;12360:11;12373:4;12343:35;;;;;;;:::i;:::-;;;;;;;;11789:597;11728:658;:::o;14298:593::-;14407:15;14424:23;14449;14474:18;14496:19;14507:7;14496:10;:19::i;:::-;-1:-1:-1;;;;;14544:15:0;;;;;;:7;:15;;;;;;14406:109;;-1:-1:-1;14406:109:0;;-1:-1:-1;14406:109:0;-1:-1:-1;14406:109:0;-1:-1:-1;14544:28:0;;14564:7;14544:19;:28::i;:::-;-1:-1:-1;;;;;14526:15:0;;;;;;:7;:15;;;;;;;;:46;;;;14601:7;:15;;;;:28;;14621:7;14601:19;:28::i;:::-;-1:-1:-1;;;;;14583:15:0;;;;;;;:7;:15;;;;;;:46;;;;14661:18;;;;;;;:39;;14684:15;14661:22;:39::i;:::-;-1:-1:-1;;;;;14640:18:0;;;;;;:7;:18;;;;;:60;14714:29;14732:10;14714:17;:29::i;:::-;14776:9;-1:-1:-1;;;;;14759:44:0;14768:6;-1:-1:-1;;;;;14759:44:0;;14787:15;14759:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;14759:44:0;;;;;;;;14817:12;;14814:70;;14838:43;;1595:25:1;;;14863:4:0;;-1:-1:-1;;;;;14838:43:0;;;;;1583:2:1;1568:18;14838:43:0;;;;;;;14814:70;14395:496;;;;14298:593;;;:::o;13677:613::-;13784:15;13801:23;13826;13851:18;13873:19;13884:7;13873:10;:19::i;:::-;-1:-1:-1;;;;;13921:15:0;;;;;;:7;:15;;;;;;13783:109;;-1:-1:-1;13783:109:0;;-1:-1:-1;13783:109:0;-1:-1:-1;13783:109:0;-1:-1:-1;13921:28:0;;13783:109;13921:19;:28::i;:::-;-1:-1:-1;;;;;13903:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;13981:18;;;;;:7;:18;;;;;:39;;14004:15;13981:22;:39::i;:::-;-1:-1:-1;;;;;13960:18:0;;;;;;:7;:18;;;;;;;;:60;;;;14052:7;:18;;;;:39;;14075:15;14052:22;:39::i;14899:669::-;15008:15;15025:23;15050;15075:18;15097:19;15108:7;15097:10;:19::i;:::-;-1:-1:-1;;;;;15145:15:0;;;;;;:7;:15;;;;;;15007:109;;-1:-1:-1;15007:109:0;;-1:-1:-1;15007:109:0;-1:-1:-1;15007:109:0;-1:-1:-1;15145:28:0;;15165:7;15145:19;:28::i;:::-;-1:-1:-1;;;;;15127:15:0;;;;;;:7;:15;;;;;;;;:46;;;;15202:7;:15;;;;:28;;15222:7;15202:19;:28::i;13140:529::-;13245:15;13262:23;13287;13312:18;13334:19;13345:7;13334:10;:19::i;:::-;-1:-1:-1;;;;;13382:15:0;;;;;;:7;:15;;;;;;13244:109;;-1:-1:-1;13244:109:0;;-1:-1:-1;13244:109:0;-1:-1:-1;13244:109:0;-1:-1:-1;13382:28:0;;13244:109;13382:19;:28::i;16897:567::-;17000:7;;17036;;16947;;;;;17060:289;17084:9;:16;17080:20;;17060:289;;;17150:7;17126;:21;17134:9;17144:1;17134:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;17134:12:0;17126:21;;;;;;;;;;;;;:31;;:66;;;17185:7;17161;:21;17169:9;17179:1;17169:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;17169:12:0;17161:21;;;;;;;;;;;;;:31;17126:66;17122:97;;;17202:7;;17211;;17194:25;;;;;;;16897:567;;:::o;17122:97::-;17244:34;17256:7;:21;17264:9;17274:1;17264:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;17264:12:0;17256:21;;;;;;;;;;;;;17244:7;;:11;:34::i;:::-;17234:44;;17303:34;17315:7;:21;17323:9;17333:1;17323:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;17323:12:0;17315:21;;;;;;;;;;;;;17303:7;;:11;:34::i;:::-;17293:44;-1:-1:-1;17102:3:0;;;;:::i;:::-;;;;17060:289;;;-1:-1:-1;17385:7:0;;17373;;:20;;:11;:20::i;:::-;17363:7;:30;17359:61;;;17403:7;;17412;;17395:25;;;;;;16897:567;;:::o;17359:61::-;17439:7;;17448;;-1:-1:-1;16897:567:0;-1:-1:-1;16897:567:0:o;15727:361::-;15786:7;15795;15804;15813;15840:23;15865:18;15887:20;15899:7;15887:11;:20::i;:::-;15839:68;;;;15919:15;15936:23;15963:44;15975:7;15984:10;15996;:8;:10::i;:::-;15963:11;:44::i;:::-;15918:89;;;;-1:-1:-1;16052:15:0;;-1:-1:-1;16069:10:0;;-1:-1:-1;15727:361:0;;-1:-1:-1;;;;15727:361:0:o;1455:136::-;1513:7;1540:43;1544:1;1547;1540:43;;;;;;;;;;;;;;;;;:3;:43::i;17478:391::-;17550:19;17573:10;:8;:10::i;:::-;17550:33;-1:-1:-1;17594:18:0;17615:27;:10;17550:33;17615:14;:27::i;:::-;17694:4;17678:22;;;;:7;:22;;;;;;17594:48;;-1:-1:-1;17678:38:0;;17594:48;17678:26;:38::i;:::-;17669:4;17653:22;;;;:7;:22;;;;;;;;:63;;;;17730:11;:26;;;;;;17727:121;;;17814:4;17798:22;;;;:7;:22;;;;;;:38;;17825:10;17798:26;:38::i;:::-;17789:4;17773:22;;;;:7;:22;;;;;:63;17727:121;17539:330;;17478:391;:::o;16096:259::-;16156:7;16165;16191:18;16212:28;16232:7;16212:19;:28::i;:::-;16191:49;-1:-1:-1;16251:23:0;16277;:7;16191:49;16277:11;:23::i;:::-;16251:49;16336:10;;-1:-1:-1;16096:259:0;;-1:-1:-1;;;16096:259:0:o;16363:349::-;16464:7;;;16517:24;:7;16529:11;16517;:24::i;:::-;16499:42;-1:-1:-1;16552:18:0;16573:27;:10;16588:11;16573:14;:27::i;:::-;16552:48;-1:-1:-1;16611:23:0;16637;:7;16552:48;16637:11;:23::i;:::-;16679:7;;;;-1:-1:-1;16363:349:0;;-1:-1:-1;;;;;;16363:349:0:o;17887:144::-;17955:7;17988:35;18019:3;17988:26;18000:13;;17988:7;:11;;:26;;;;:::i;:::-;:30;;:35::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2092:160::-;2157:20;;2213:13;;2206:21;2196:32;;2186:60;;2242:1;2239;2232:12;2186:60;2092:160;;;:::o;2257:315::-;2322:6;2330;2383:2;2371:9;2362:7;2358:23;2354:32;2351:52;;;2399:1;2396;2389:12;2351:52;2438:9;2425:23;2457:31;2482:5;2457:31;:::i;:::-;2507:5;-1:-1:-1;2531:35:1;2562:2;2547:18;;2531:35;:::i;:::-;2521:45;;2257:315;;;;;:::o;2766:247::-;2825:6;2878:2;2866:9;2857:7;2853:23;2849:32;2846:52;;;2894:1;2891;2884:12;2846:52;2933:9;2920:23;2952:31;2977:5;2952:31;:::i;3018:248::-;3086:6;3094;3147:2;3135:9;3126:7;3122:23;3118:32;3115:52;;;3163:1;3160;3153:12;3115:52;-1:-1:-1;;3186:23:1;;;3256:2;3241:18;;;3228:32;;-1:-1:-1;3018:248:1:o;3703:180::-;3762:6;3815:2;3803:9;3794:7;3790:23;3786:32;3783:52;;;3831:1;3828;3821:12;3783:52;-1:-1:-1;3854:23:1;;3703:180;-1:-1:-1;3703:180:1:o;3888:::-;3944:6;3997:2;3985:9;3976:7;3972:23;3968:32;3965:52;;;4013:1;4010;4003:12;3965:52;4036:26;4052:9;4036:26;:::i;4073:388::-;4141:6;4149;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;4257:9;4244:23;4276:31;4301:5;4276:31;:::i;:::-;4326:5;-1:-1:-1;4383:2:1;4368:18;;4355:32;4396:33;4355:32;4396:33;:::i;:::-;4448:7;4438:17;;;4073:388;;;;;:::o;4466:380::-;4545:1;4541:12;;;;4588;;;4609:61;;4663:4;4655:6;4651:17;4641:27;;4609:61;4716:2;4708:6;4705:14;4685:18;4682:38;4679:161;;4762:10;4757:3;4753:20;4750:1;4743:31;4797:4;4794:1;4787:15;4825:4;4822:1;4815:15;4679:161;;4466:380;;;:::o;4851:356::-;5053:2;5035:21;;;5072:18;;;5065:30;5131:34;5126:2;5111:18;;5104:62;5198:2;5183:18;;4851:356::o;5619:127::-;5680:10;5675:3;5671:20;5668:1;5661:31;5711:4;5708:1;5701:15;5735:4;5732:1;5725:15;5751:168;5824:9;;;5855;;5872:15;;;5866:22;;5852:37;5842:71;;5893:18;;:::i;5924:217::-;5964:1;5990;5980:132;;6034:10;6029:3;6025:20;6022:1;6015:31;6069:4;6066:1;6059:15;6097:4;6094:1;6087:15;5980:132;-1:-1:-1;6126:9:1;;5924:217::o;8926:128::-;8993:9;;;9014:11;;;9011:37;;;9028:18;;:::i;9059:125::-;9124:9;;;9145:10;;;9142:36;;;9158:18;;:::i;10088:127::-;10149:10;10144:3;10140:20;10137:1;10130:31;10180:4;10177:1;10170:15;10204:4;10201:1;10194:15;10220:251;10290:6;10343:2;10331:9;10322:7;10318:23;10314:32;10311:52;;;10359:1;10356;10349:12;10311:52;10391:9;10385:16;10410:31;10435:5;10410:31;:::i;10476:461::-;10529:3;10567:5;10561:12;10594:6;10589:3;10582:19;10620:4;10649:2;10644:3;10640:12;10633:19;;10686:2;10679:5;10675:14;10707:1;10717:195;10731:6;10728:1;10725:13;10717:195;;;10796:13;;-1:-1:-1;;;;;10792:39:1;10780:52;;10852:12;;;;10887:15;;;;10828:1;10746:9;10717:195;;;-1:-1:-1;10928:3:1;;10476:461;-1:-1:-1;;;;;10476:461:1:o;10942:582::-;11241:6;11230:9;11223:25;11284:6;11279:2;11268:9;11264:18;11257:34;11327:3;11322:2;11311:9;11307:18;11300:31;11204:4;11348:57;11400:3;11389:9;11385:19;11377:6;11348:57;:::i;:::-;-1:-1:-1;;;;;11441:32:1;;;;11436:2;11421:18;;11414:60;-1:-1:-1;11505:3:1;11490:19;11483:35;11340:65;10942:582;-1:-1:-1;;;10942:582:1:o;11529:332::-;11736:6;11725:9;11718:25;11779:2;11774;11763:9;11759:18;11752:30;11699:4;11799:56;11851:2;11840:9;11836:18;11828:6;11799:56;:::i;:::-;11791:64;11529:332;-1:-1:-1;;;;11529:332:1:o;11866:135::-;11905:3;11926:17;;;11923:43;;11946:18;;:::i;:::-;-1:-1:-1;11993:1:1;11982:13;;11866:135::o

Swarm Source

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