ETH Price: $2,923.87 (-2.69%)
Gas: 1 Gwei

Token

Xanny Bars (Xans)
 

Overview

Max Total Supply

1,000,000,000 Xans

Holders

464

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: Xans
Balance
686,329,283.692885412 Xans

Value
$0.00
0x9e2bbcf8463233ca8dd38fdf1c5cd8e69939dc40
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:
Xans

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 300 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-25
*/

/**

Telegram Portal: https://t.me/XansPortal
Twitter: Https://Twitter.com/XansErc
Web: https://XannyBars.com


▀▄░▄▀ ─█▀▀█ ░█▄─░█ ░█▀▀▀█   █───█ ─▀─ █── █──   █▀▄▀█ █▀▀█ █─█ █▀▀   █──█ █▀▀█ █──█   █▀▀▄ █▀▀█ █▀▀▄ █▀▀▄ █▀▀ 
─░█── ░█▄▄█ ░█░█░█ ─▀▀▀▄▄   █▄█▄█ ▀█▀ █── █──   █─▀─█ █▄▄█ █▀▄ █▀▀   █▄▄█ █──█ █──█   █▀▀▄ █▄▄█ █──█ █──█ ▀▀█ 
▄▀░▀▄ ░█─░█ ░█──▀█ ░█▄▄▄█   ─▀─▀─ ▀▀▀ ▀▀▀ ▀▀▀   ▀───▀ ▀──▀ ▀─▀ ▀▀▀   ▄▄▄█ ▀▀▀▀ ─▀▀▀   ▀▀▀─ ▀──▀ ▀──▀ ▀▀▀─ ▀▀▀

──────────────────██████────────────────
─────────────────████████─█─────────────
─────────────██████████████─────────────
─────────────█████████████──────────────
──────────────███████████───────────────
───────────────██████████───────────────
────────────────████████────────────────
────────────────▐██████─────────────────
────────────────▐██████─────────────────
──────────────── ▌─────▌────────────────
────────────────███─█████───────────────
────────────████████████████────────────
──────────████████████████████──────────
────────████████████─────███████────────
──────███████████─────────███████───────
─────████████████───██─███████████──────
────██████████████──────────████████────
───████████████████─────█───█████████───
──█████████████████████─██───█████████──
──█████████████████████──██──██████████─
─███████████████████████─██───██████████
████████████████████████──────██████████
███████████████████──────────███████████
─██████████████████───────██████████████
─███████████████████████──█████████████─
──█████████████████████████████████████─
───██████████████████████████████████───
───────██████████████████████████████───
───────██████████████████████████───────
─────────────███████████████────────────



*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.14;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract Xans is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Xanny Bars";
    string private constant _symbol = "Xans";
    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;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9; // - 100%
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 25;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 45;

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

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

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    mapping (address => bool) public preTrader;
    address payable private _developmentAddress = payable(0x2A4C69DcbD08a14D2Efa5B114A7cA7f9D3c2efD3);
    address payable private _marketingAddress = payable(0x2A4C69DcbD08a14D2Efa5B114A7cA7f9D3c2efD3);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 2000000 * 10**9; // - 2%
    uint256 public _maxWalletSize = 2500000 * 10**9; // - 2%
    uint256 public _swapTokensAtAmount = 50000 * 10**9;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = 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 _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() && !preTrader[from] && !preTrader[to]) {

            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

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

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

            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;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _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 {
        _marketingAddress.transfer(amount);
    }

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

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

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

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = 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 {
        _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 setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

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

    function allowPreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 preTrader[accounts[i]] = true;
        }
    }

    function removePreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 delete preTrader[accounts[i]];
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"allowPreTrading","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":"bots_","type":"address[]"}],"name":"blockBots","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":"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":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"removePreTrading","outputs":[],"stateMutability":"nonpayable","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":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","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":[],"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 IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a764000060001962000365565b620000289060001962000388565b6006556000600881905560196009819055600a829055602d600b819055600c839055600d819055600e92909255600f9190915560138054732a4c69dcbd08a14d2efa5b114a7ca7f9d3c2efd36001600160a01b031991821681179092556014805490911690911790556016805461ffff60a81b1916905566071afd498d00006017556608e1bc9bf04000601855652d79883d20009055348015620000cb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000189573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001af9190620003ae565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002239190620003ae565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000271573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002979190620003ae565b601680546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601354851684528284208054821683179055601454909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035691815260200190565b60405180910390a350620003e0565b6000826200038357634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003a957634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003c157600080fd5b81516001600160a01b0381168114620003d957600080fd5b9392505050565b61207880620003f06000396000f3fe6080604052600436106101f15760003560e01c80637d1db4a51161010d578063a9059cbb116100a0578063c3c8cd801161006f578063c3c8cd80146105d1578063c492f046146105e6578063dd62ed3e14610606578063ea1644d51461064c578063f2fde38b1461066c57600080fd5b8063a9059cbb14610531578063b5a6522314610551578063bdd795ef14610571578063bfd79284146105a157600080fd5b80638f9a55c0116100dc5780638f9a55c0146104ae57806395d89b41146104c457806398a5c315146104f1578063a2a957bb1461051157600080fd5b80637d1db4a51461042d5780637f2feddc146104435780638da5cb5b146104705780638f70ccf71461048e57600080fd5b806349bd5a5e116101855780636fc3eaec116101545780636fc3eaec146103c357806370a08231146103d8578063715018a6146103f857806374010ece1461040d57600080fd5b806349bd5a5e1461034357806367aadb7e146103635780636b999053146103835780636d8aa8f8146103a357600080fd5b806318160ddd116101c157806318160ddd146102cc57806323b872dd146102f15780632fd689e314610311578063313ce5671461032757600080fd5b8062b8cf2a146101fd57806306fdde031461021f578063095ea7b3146102645780631694505e1461029457600080fd5b366101f857005b600080fd5b34801561020957600080fd5b5061021d610218366004611b6d565b61068c565b005b34801561022b57600080fd5b5060408051808201909152600a81526958616e6e79204261727360b01b60208201525b60405161025b9190611c32565b60405180910390f35b34801561027057600080fd5b5061028461027f366004611c87565b61072b565b604051901515815260200161025b565b3480156102a057600080fd5b506015546102b4906001600160a01b031681565b6040516001600160a01b03909116815260200161025b565b3480156102d857600080fd5b50670de0b6b3a76400005b60405190815260200161025b565b3480156102fd57600080fd5b5061028461030c366004611cb3565b610742565b34801561031d57600080fd5b506102e360195481565b34801561033357600080fd5b506040516009815260200161025b565b34801561034f57600080fd5b506016546102b4906001600160a01b031681565b34801561036f57600080fd5b5061021d61037e366004611d40565b6107ab565b34801561038f57600080fd5b5061021d61039e366004611d82565b610843565b3480156103af57600080fd5b5061021d6103be366004611daf565b61088e565b3480156103cf57600080fd5b5061021d6108d6565b3480156103e457600080fd5b506102e36103f3366004611d82565b610921565b34801561040457600080fd5b5061021d610943565b34801561041957600080fd5b5061021d610428366004611dca565b6109b7565b34801561043957600080fd5b506102e360175481565b34801561044f57600080fd5b506102e361045e366004611d82565b60116020526000908152604090205481565b34801561047c57600080fd5b506000546001600160a01b03166102b4565b34801561049a57600080fd5b5061021d6104a9366004611daf565b6109e6565b3480156104ba57600080fd5b506102e360185481565b3480156104d057600080fd5b5060408051808201909152600481526358616e7360e01b602082015261024e565b3480156104fd57600080fd5b5061021d61050c366004611dca565b610a2e565b34801561051d57600080fd5b5061021d61052c366004611de3565b610a5d565b34801561053d57600080fd5b5061028461054c366004611c87565b610a9b565b34801561055d57600080fd5b5061021d61056c366004611d40565b610aa8565b34801561057d57600080fd5b5061028461058c366004611d82565b60126020526000908152604090205460ff1681565b3480156105ad57600080fd5b506102846105bc366004611d82565b60106020526000908152604090205460ff1681565b3480156105dd57600080fd5b5061021d610b44565b3480156105f257600080fd5b5061021d610601366004611e15565b610b98565b34801561061257600080fd5b506102e3610621366004611e69565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561065857600080fd5b5061021d610667366004611dca565b610c39565b34801561067857600080fd5b5061021d610687366004611d82565b610c68565b6000546001600160a01b031633146106bf5760405162461bcd60e51b81526004016106b690611ea2565b60405180910390fd5b60005b8151811015610727576001601060008484815181106106e3576106e3611ed7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061071f81611f03565b9150506106c2565b5050565b6000610738338484610d52565b5060015b92915050565b600061074f848484610e76565b6107a1843361079c8560405180606001604052806028815260200161201b602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611407565b610d52565b5060019392505050565b6000546001600160a01b031633146107d55760405162461bcd60e51b81526004016106b690611ea2565b60005b8181101561083e57601260008484848181106107f6576107f6611ed7565b905060200201602081019061080b9190611d82565b6001600160a01b031681526020810191909152604001600020805460ff191690558061083681611f03565b9150506107d8565b505050565b6000546001600160a01b0316331461086d5760405162461bcd60e51b81526004016106b690611ea2565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108b85760405162461bcd60e51b81526004016106b690611ea2565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061090b57506014546001600160a01b0316336001600160a01b0316145b61091457600080fd5b4761091e81611441565b50565b6001600160a01b03811660009081526002602052604081205461073c9061147b565b6000546001600160a01b0316331461096d5760405162461bcd60e51b81526004016106b690611ea2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109e15760405162461bcd60e51b81526004016106b690611ea2565b601755565b6000546001600160a01b03163314610a105760405162461bcd60e51b81526004016106b690611ea2565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a585760405162461bcd60e51b81526004016106b690611ea2565b601955565b6000546001600160a01b03163314610a875760405162461bcd60e51b81526004016106b690611ea2565b600893909355600a91909155600955600b55565b6000610738338484610e76565b6000546001600160a01b03163314610ad25760405162461bcd60e51b81526004016106b690611ea2565b60005b8181101561083e57600160126000858585818110610af557610af5611ed7565b9050602002016020810190610b0a9190611d82565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b3c81611f03565b915050610ad5565b6013546001600160a01b0316336001600160a01b03161480610b7957506014546001600160a01b0316336001600160a01b0316145b610b8257600080fd5b6000610b8d30610921565b905061091e816114ff565b6000546001600160a01b03163314610bc25760405162461bcd60e51b81526004016106b690611ea2565b60005b82811015610c33578160056000868685818110610be457610be4611ed7565b9050602002016020810190610bf99190611d82565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c2b81611f03565b915050610bc5565b50505050565b6000546001600160a01b03163314610c635760405162461bcd60e51b81526004016106b690611ea2565b601855565b6000546001600160a01b03163314610c925760405162461bcd60e51b81526004016106b690611ea2565b6001600160a01b038116610cf75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610db45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b6565b6001600160a01b038216610e155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b6565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610eda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b6565b6001600160a01b038216610f3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b6565b60008111610f9e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b6565b6000546001600160a01b03848116911614801590610fca57506000546001600160a01b03838116911614155b8015610fef57506001600160a01b03831660009081526012602052604090205460ff16155b801561101457506001600160a01b03821660009081526012602052604090205460ff16155b1561130057601654600160a01b900460ff166110b8576001600160a01b03831660009081526012602052604090205460ff166110b85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106b6565b60175481111561110a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106b6565b6001600160a01b03831660009081526010602052604090205460ff1615801561114c57506001600160a01b03821660009081526010602052604090205460ff16155b6111a45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106b6565b6016546001600160a01b0383811691161461122957601854816111c684610921565b6111d09190611f1c565b106112295760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106b6565b600061123430610921565b60195460175491925082101590821061124d5760175491505b8080156112645750601654600160a81b900460ff16155b801561127e57506016546001600160a01b03868116911614155b80156112935750601654600160b01b900460ff165b80156112b857506001600160a01b03851660009081526005602052604090205460ff16155b80156112dd57506001600160a01b03841660009081526005602052604090205460ff16155b156112fd576112eb826114ff565b4780156112fb576112fb47611441565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061134257506001600160a01b03831660009081526005602052604090205460ff165b8061137457506016546001600160a01b0385811691161480159061137457506016546001600160a01b03848116911614155b15611381575060006113fb565b6016546001600160a01b0385811691161480156113ac57506015546001600160a01b03848116911614155b156113be57600854600c55600954600d555b6016546001600160a01b0384811691161480156113e957506015546001600160a01b03858116911614155b156113fb57600a54600c55600b54600d555b610c3384848484611679565b6000818484111561142b5760405162461bcd60e51b81526004016106b69190611c32565b5060006114388486611f34565b95945050505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610727573d6000803e3d6000fd5b60006006548211156114e25760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106b6565b60006114ec6116a7565b90506114f883826116ca565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061154757611547611ed7565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c49190611f4b565b816001815181106115d7576115d7611ed7565b6001600160a01b0392831660209182029290920101526015546115fd9130911684610d52565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac94790611636908590600090869030904290600401611f68565b600060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b806116865761168661170c565b61169184848461173a565b80610c3357610c33600e54600c55600f54600d55565b60008060006116b4611831565b90925090506116c382826116ca565b9250505090565b60006114f883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611871565b600c5415801561171c5750600d54155b1561172357565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061174c8761189f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061177e90876118fc565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117ad908661193e565b6001600160a01b0389166000908152600260205260409020556117cf8161199d565b6117d984836119e7565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161181e91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061184c82826116ca565b82101561186857505060065492670de0b6b3a764000092509050565b90939092509050565b600081836118925760405162461bcd60e51b81526004016106b69190611c32565b5060006114388486611fd9565b60008060008060008060008060006118bc8a600c54600d54611a0b565b92509250925060006118cc6116a7565b905060008060006118df8e878787611a60565b919e509c509a509598509396509194505050505091939550919395565b60006114f883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611407565b60008061194b8385611f1c565b9050838110156114f85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106b6565b60006119a76116a7565b905060006119b58383611ab0565b306000908152600260205260409020549091506119d2908261193e565b30600090815260026020526040902055505050565b6006546119f490836118fc565b600655600754611a04908261193e565b6007555050565b6000808080611a256064611a1f8989611ab0565b906116ca565b90506000611a386064611a1f8a89611ab0565b90506000611a5082611a4a8b866118fc565b906118fc565b9992985090965090945050505050565b6000808080611a6f8886611ab0565b90506000611a7d8887611ab0565b90506000611a8b8888611ab0565b90506000611a9d82611a4a86866118fc565b939b939a50919850919650505050505050565b600082600003611ac25750600061073c565b6000611ace8385611ffb565b905082611adb8583611fd9565b146114f85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106b6565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461091e57600080fd5b8035611b6881611b48565b919050565b60006020808385031215611b8057600080fd5b823567ffffffffffffffff80821115611b9857600080fd5b818501915085601f830112611bac57600080fd5b813581811115611bbe57611bbe611b32565b8060051b604051601f19603f83011681018181108582111715611be357611be3611b32565b604052918252848201925083810185019188831115611c0157600080fd5b938501935b82851015611c2657611c1785611b5d565b84529385019392850192611c06565b98975050505050505050565b600060208083528351808285015260005b81811015611c5f57858101830151858201604001528201611c43565b81811115611c71576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611c9a57600080fd5b8235611ca581611b48565b946020939093013593505050565b600080600060608486031215611cc857600080fd5b8335611cd381611b48565b92506020840135611ce381611b48565b929592945050506040919091013590565b60008083601f840112611d0657600080fd5b50813567ffffffffffffffff811115611d1e57600080fd5b6020830191508360208260051b8501011115611d3957600080fd5b9250929050565b60008060208385031215611d5357600080fd5b823567ffffffffffffffff811115611d6a57600080fd5b611d7685828601611cf4565b90969095509350505050565b600060208284031215611d9457600080fd5b81356114f881611b48565b80358015158114611b6857600080fd5b600060208284031215611dc157600080fd5b6114f882611d9f565b600060208284031215611ddc57600080fd5b5035919050565b60008060008060808587031215611df957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611e2a57600080fd5b833567ffffffffffffffff811115611e4157600080fd5b611e4d86828701611cf4565b9094509250611e60905060208501611d9f565b90509250925092565b60008060408385031215611e7c57600080fd5b8235611e8781611b48565b91506020830135611e9781611b48565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611f1557611f15611eed565b5060010190565b60008219821115611f2f57611f2f611eed565b500190565b600082821015611f4657611f46611eed565b500390565b600060208284031215611f5d57600080fd5b81516114f881611b48565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fb85784516001600160a01b031683529383019391830191600101611f93565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ff657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561201557612015611eed565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a67ded91705c38316f38cd2ca8dcb1c614631234bd11423938b13e909aa76d0a64736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106101f15760003560e01c80637d1db4a51161010d578063a9059cbb116100a0578063c3c8cd801161006f578063c3c8cd80146105d1578063c492f046146105e6578063dd62ed3e14610606578063ea1644d51461064c578063f2fde38b1461066c57600080fd5b8063a9059cbb14610531578063b5a6522314610551578063bdd795ef14610571578063bfd79284146105a157600080fd5b80638f9a55c0116100dc5780638f9a55c0146104ae57806395d89b41146104c457806398a5c315146104f1578063a2a957bb1461051157600080fd5b80637d1db4a51461042d5780637f2feddc146104435780638da5cb5b146104705780638f70ccf71461048e57600080fd5b806349bd5a5e116101855780636fc3eaec116101545780636fc3eaec146103c357806370a08231146103d8578063715018a6146103f857806374010ece1461040d57600080fd5b806349bd5a5e1461034357806367aadb7e146103635780636b999053146103835780636d8aa8f8146103a357600080fd5b806318160ddd116101c157806318160ddd146102cc57806323b872dd146102f15780632fd689e314610311578063313ce5671461032757600080fd5b8062b8cf2a146101fd57806306fdde031461021f578063095ea7b3146102645780631694505e1461029457600080fd5b366101f857005b600080fd5b34801561020957600080fd5b5061021d610218366004611b6d565b61068c565b005b34801561022b57600080fd5b5060408051808201909152600a81526958616e6e79204261727360b01b60208201525b60405161025b9190611c32565b60405180910390f35b34801561027057600080fd5b5061028461027f366004611c87565b61072b565b604051901515815260200161025b565b3480156102a057600080fd5b506015546102b4906001600160a01b031681565b6040516001600160a01b03909116815260200161025b565b3480156102d857600080fd5b50670de0b6b3a76400005b60405190815260200161025b565b3480156102fd57600080fd5b5061028461030c366004611cb3565b610742565b34801561031d57600080fd5b506102e360195481565b34801561033357600080fd5b506040516009815260200161025b565b34801561034f57600080fd5b506016546102b4906001600160a01b031681565b34801561036f57600080fd5b5061021d61037e366004611d40565b6107ab565b34801561038f57600080fd5b5061021d61039e366004611d82565b610843565b3480156103af57600080fd5b5061021d6103be366004611daf565b61088e565b3480156103cf57600080fd5b5061021d6108d6565b3480156103e457600080fd5b506102e36103f3366004611d82565b610921565b34801561040457600080fd5b5061021d610943565b34801561041957600080fd5b5061021d610428366004611dca565b6109b7565b34801561043957600080fd5b506102e360175481565b34801561044f57600080fd5b506102e361045e366004611d82565b60116020526000908152604090205481565b34801561047c57600080fd5b506000546001600160a01b03166102b4565b34801561049a57600080fd5b5061021d6104a9366004611daf565b6109e6565b3480156104ba57600080fd5b506102e360185481565b3480156104d057600080fd5b5060408051808201909152600481526358616e7360e01b602082015261024e565b3480156104fd57600080fd5b5061021d61050c366004611dca565b610a2e565b34801561051d57600080fd5b5061021d61052c366004611de3565b610a5d565b34801561053d57600080fd5b5061028461054c366004611c87565b610a9b565b34801561055d57600080fd5b5061021d61056c366004611d40565b610aa8565b34801561057d57600080fd5b5061028461058c366004611d82565b60126020526000908152604090205460ff1681565b3480156105ad57600080fd5b506102846105bc366004611d82565b60106020526000908152604090205460ff1681565b3480156105dd57600080fd5b5061021d610b44565b3480156105f257600080fd5b5061021d610601366004611e15565b610b98565b34801561061257600080fd5b506102e3610621366004611e69565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561065857600080fd5b5061021d610667366004611dca565b610c39565b34801561067857600080fd5b5061021d610687366004611d82565b610c68565b6000546001600160a01b031633146106bf5760405162461bcd60e51b81526004016106b690611ea2565b60405180910390fd5b60005b8151811015610727576001601060008484815181106106e3576106e3611ed7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061071f81611f03565b9150506106c2565b5050565b6000610738338484610d52565b5060015b92915050565b600061074f848484610e76565b6107a1843361079c8560405180606001604052806028815260200161201b602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611407565b610d52565b5060019392505050565b6000546001600160a01b031633146107d55760405162461bcd60e51b81526004016106b690611ea2565b60005b8181101561083e57601260008484848181106107f6576107f6611ed7565b905060200201602081019061080b9190611d82565b6001600160a01b031681526020810191909152604001600020805460ff191690558061083681611f03565b9150506107d8565b505050565b6000546001600160a01b0316331461086d5760405162461bcd60e51b81526004016106b690611ea2565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108b85760405162461bcd60e51b81526004016106b690611ea2565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061090b57506014546001600160a01b0316336001600160a01b0316145b61091457600080fd5b4761091e81611441565b50565b6001600160a01b03811660009081526002602052604081205461073c9061147b565b6000546001600160a01b0316331461096d5760405162461bcd60e51b81526004016106b690611ea2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109e15760405162461bcd60e51b81526004016106b690611ea2565b601755565b6000546001600160a01b03163314610a105760405162461bcd60e51b81526004016106b690611ea2565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a585760405162461bcd60e51b81526004016106b690611ea2565b601955565b6000546001600160a01b03163314610a875760405162461bcd60e51b81526004016106b690611ea2565b600893909355600a91909155600955600b55565b6000610738338484610e76565b6000546001600160a01b03163314610ad25760405162461bcd60e51b81526004016106b690611ea2565b60005b8181101561083e57600160126000858585818110610af557610af5611ed7565b9050602002016020810190610b0a9190611d82565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b3c81611f03565b915050610ad5565b6013546001600160a01b0316336001600160a01b03161480610b7957506014546001600160a01b0316336001600160a01b0316145b610b8257600080fd5b6000610b8d30610921565b905061091e816114ff565b6000546001600160a01b03163314610bc25760405162461bcd60e51b81526004016106b690611ea2565b60005b82811015610c33578160056000868685818110610be457610be4611ed7565b9050602002016020810190610bf99190611d82565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c2b81611f03565b915050610bc5565b50505050565b6000546001600160a01b03163314610c635760405162461bcd60e51b81526004016106b690611ea2565b601855565b6000546001600160a01b03163314610c925760405162461bcd60e51b81526004016106b690611ea2565b6001600160a01b038116610cf75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610db45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b6565b6001600160a01b038216610e155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b6565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610eda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b6565b6001600160a01b038216610f3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b6565b60008111610f9e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b6565b6000546001600160a01b03848116911614801590610fca57506000546001600160a01b03838116911614155b8015610fef57506001600160a01b03831660009081526012602052604090205460ff16155b801561101457506001600160a01b03821660009081526012602052604090205460ff16155b1561130057601654600160a01b900460ff166110b8576001600160a01b03831660009081526012602052604090205460ff166110b85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106b6565b60175481111561110a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106b6565b6001600160a01b03831660009081526010602052604090205460ff1615801561114c57506001600160a01b03821660009081526010602052604090205460ff16155b6111a45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106b6565b6016546001600160a01b0383811691161461122957601854816111c684610921565b6111d09190611f1c565b106112295760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106b6565b600061123430610921565b60195460175491925082101590821061124d5760175491505b8080156112645750601654600160a81b900460ff16155b801561127e57506016546001600160a01b03868116911614155b80156112935750601654600160b01b900460ff165b80156112b857506001600160a01b03851660009081526005602052604090205460ff16155b80156112dd57506001600160a01b03841660009081526005602052604090205460ff16155b156112fd576112eb826114ff565b4780156112fb576112fb47611441565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061134257506001600160a01b03831660009081526005602052604090205460ff165b8061137457506016546001600160a01b0385811691161480159061137457506016546001600160a01b03848116911614155b15611381575060006113fb565b6016546001600160a01b0385811691161480156113ac57506015546001600160a01b03848116911614155b156113be57600854600c55600954600d555b6016546001600160a01b0384811691161480156113e957506015546001600160a01b03858116911614155b156113fb57600a54600c55600b54600d555b610c3384848484611679565b6000818484111561142b5760405162461bcd60e51b81526004016106b69190611c32565b5060006114388486611f34565b95945050505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610727573d6000803e3d6000fd5b60006006548211156114e25760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106b6565b60006114ec6116a7565b90506114f883826116ca565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061154757611547611ed7565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c49190611f4b565b816001815181106115d7576115d7611ed7565b6001600160a01b0392831660209182029290920101526015546115fd9130911684610d52565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac94790611636908590600090869030904290600401611f68565b600060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b806116865761168661170c565b61169184848461173a565b80610c3357610c33600e54600c55600f54600d55565b60008060006116b4611831565b90925090506116c382826116ca565b9250505090565b60006114f883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611871565b600c5415801561171c5750600d54155b1561172357565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061174c8761189f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061177e90876118fc565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117ad908661193e565b6001600160a01b0389166000908152600260205260409020556117cf8161199d565b6117d984836119e7565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161181e91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061184c82826116ca565b82101561186857505060065492670de0b6b3a764000092509050565b90939092509050565b600081836118925760405162461bcd60e51b81526004016106b69190611c32565b5060006114388486611fd9565b60008060008060008060008060006118bc8a600c54600d54611a0b565b92509250925060006118cc6116a7565b905060008060006118df8e878787611a60565b919e509c509a509598509396509194505050505091939550919395565b60006114f883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611407565b60008061194b8385611f1c565b9050838110156114f85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106b6565b60006119a76116a7565b905060006119b58383611ab0565b306000908152600260205260409020549091506119d2908261193e565b30600090815260026020526040902055505050565b6006546119f490836118fc565b600655600754611a04908261193e565b6007555050565b6000808080611a256064611a1f8989611ab0565b906116ca565b90506000611a386064611a1f8a89611ab0565b90506000611a5082611a4a8b866118fc565b906118fc565b9992985090965090945050505050565b6000808080611a6f8886611ab0565b90506000611a7d8887611ab0565b90506000611a8b8888611ab0565b90506000611a9d82611a4a86866118fc565b939b939a50919850919650505050505050565b600082600003611ac25750600061073c565b6000611ace8385611ffb565b905082611adb8583611fd9565b146114f85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106b6565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461091e57600080fd5b8035611b6881611b48565b919050565b60006020808385031215611b8057600080fd5b823567ffffffffffffffff80821115611b9857600080fd5b818501915085601f830112611bac57600080fd5b813581811115611bbe57611bbe611b32565b8060051b604051601f19603f83011681018181108582111715611be357611be3611b32565b604052918252848201925083810185019188831115611c0157600080fd5b938501935b82851015611c2657611c1785611b5d565b84529385019392850192611c06565b98975050505050505050565b600060208083528351808285015260005b81811015611c5f57858101830151858201604001528201611c43565b81811115611c71576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611c9a57600080fd5b8235611ca581611b48565b946020939093013593505050565b600080600060608486031215611cc857600080fd5b8335611cd381611b48565b92506020840135611ce381611b48565b929592945050506040919091013590565b60008083601f840112611d0657600080fd5b50813567ffffffffffffffff811115611d1e57600080fd5b6020830191508360208260051b8501011115611d3957600080fd5b9250929050565b60008060208385031215611d5357600080fd5b823567ffffffffffffffff811115611d6a57600080fd5b611d7685828601611cf4565b90969095509350505050565b600060208284031215611d9457600080fd5b81356114f881611b48565b80358015158114611b6857600080fd5b600060208284031215611dc157600080fd5b6114f882611d9f565b600060208284031215611ddc57600080fd5b5035919050565b60008060008060808587031215611df957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611e2a57600080fd5b833567ffffffffffffffff811115611e4157600080fd5b611e4d86828701611cf4565b9094509250611e60905060208501611d9f565b90509250925092565b60008060408385031215611e7c57600080fd5b8235611e8781611b48565b91506020830135611e9781611b48565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611f1557611f15611eed565b5060010190565b60008219821115611f2f57611f2f611eed565b500190565b600082821015611f4657611f46611eed565b500390565b600060208284031215611f5d57600080fd5b81516114f881611b48565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fb85784516001600160a01b031683529383019391830191600101611f93565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ff657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561201557612015611eed565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a67ded91705c38316f38cd2ca8dcb1c614631234bd11423938b13e909aa76d0a64736f6c634300080e0033

Deployed Bytecode Sourcemap

8709:14008:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17485:169;;;;;;;;;;-1:-1:-1;17485:169:0;;;;;:::i;:::-;;:::i;:::-;;11274:83;;;;;;;;;;-1:-1:-1;11344:5:0;;;;;;;;;;;;-1:-1:-1;;;11344:5:0;;;;11274:83;;;;;;;:::i;:::-;;;;;;;;12199:193;;;;;;;;;;-1:-1:-1;12199:193:0;;;;;:::i;:::-;;:::i;:::-;;;2657:14:1;;2650:22;2632:41;;2620:2;2605:18;12199:193:0;2492:187:1;10109:41:0;;;;;;;;;;-1:-1:-1;10109:41:0;;;;-1:-1:-1;;;;;10109:41:0;;;;;;-1:-1:-1;;;;;2874:55:1;;;2856:74;;2844:2;2829:18;10109:41:0;2684:252:1;11551:95:0;;;;;;;;;;-1:-1:-1;9254:18:0;11551:95;;;3087:25:1;;;3075:2;3060:18;11551:95:0;2941:177:1;12400:446:0;;;;;;;;;;-1:-1:-1;12400:446:0;;;;;:::i;:::-;;:::i;10422:50::-;;;;;;;;;;;;;;;;11460:83;;;;;;;;;;-1:-1:-1;11460:83:0;;8928:1;3726:36:1;;3714:2;3699:18;11460:83:0;3584:184:1;10157:28:0;;;;;;;;;;-1:-1:-1;10157:28:0;;;;-1:-1:-1;;;;;10157:28:0;;;22518:196;;;;;;;;;;-1:-1:-1;22518:196:0;;;;;:::i;:::-;;:::i;17662:92::-;;;;;;;;;;-1:-1:-1;17662:92:0;;;;;:::i;:::-;;:::i;21694:101::-;;;;;;;;;;-1:-1:-1;21694:101:0;;;;;:::i;:::-;;:::i;17242:235::-;;;;;;;;;;;;;:::i;11654:138::-;;;;;;;;;;-1:-1:-1;11654:138:0;;;;;:::i;:::-;;:::i;6196:148::-;;;;;;;;;;;;;:::i;21834:108::-;;;;;;;;;;-1:-1:-1;21834:108:0;;;;;:::i;:::-;;:::i;10300:45::-;;;;;;;;;;;;;;;;9802:43;;;;;;;;;;-1:-1:-1;9802:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;5982:79;;;;;;;;;;-1:-1:-1;6020:7:0;6047:6;-1:-1:-1;;;;;6047:6:0;5982:79;;16889:101;;;;;;;;;;-1:-1:-1;16889:101:0;;;;;:::i;:::-;;:::i;10360:47::-;;;;;;;;;;;;;;;;11365:87;;;;;;;;;;-1:-1:-1;11437:7:0;;;;;;;;;;;;-1:-1:-1;;;11437:7:0;;;;11365:87;;21503:139;;;;;;;;;;-1:-1:-1;21503:139:0;;;;;:::i;:::-;;:::i;21160:291::-;;;;;;;;;;-1:-1:-1;21160:291:0;;;;;:::i;:::-;;:::i;11800:199::-;;;;;;;;;;-1:-1:-1;11800:199:0;;;;;:::i;:::-;;:::i;22315:195::-;;;;;;;;;;-1:-1:-1;22315:195:0;;;;;:::i;:::-;;:::i;9852:42::-;;;;;;;;;;-1:-1:-1;9852:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9764:36;;;;;;;;;;-1:-1:-1;9764:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16998:236;;;;;;;;;;;;;:::i;22073:234::-;;;;;;;;;;-1:-1:-1;22073:234:0;;;;;:::i;:::-;;:::i;12007:184::-;;;;;;;;;;-1:-1:-1;12007:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;12156:18:0;;;12124:7;12156:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12007:184;21950:115;;;;;;;;;;-1:-1:-1;21950:115:0;;;;;:::i;:::-;;:::i;6352:244::-;;;;;;;;;;-1:-1:-1;6352:244:0;;;;;:::i;:::-;;:::i;17485:169::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;;;;;;;;;17561:9:::1;17556:91;17580:5;:12;17576:1;:16;17556:91;;;17631:4;17614;:14;17619:5;17625:1;17619:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;17614:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;17614:14:0;:21;;-1:-1:-1;;17614:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17594:3;::::1;::::0;::::1;:::i;:::-;;;;17556:91;;;;17485:169:::0;:::o;12199:193::-;12301:4;12323:39;4821:10;12346:7;12355:6;12323:8;:39::i;:::-;-1:-1:-1;12380:4:0;12199:193;;;;;:::o;12400:446::-;12532:4;12549:36;12559:6;12567:9;12578:6;12549:9;:36::i;:::-;12596:220;12619:6;4821:10;12667:138;12723:6;12667:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12667:19:0;;;;;;:11;:19;;;;;;;;4821:10;12667:33;;;;;;;;;;:37;:138::i;:::-;12596:8;:220::i;:::-;-1:-1:-1;12834:4:0;12400:446;;;;;:::o;22518:196::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;22605:9:::1;22601:106;22620:19:::0;;::::1;22601:106;;;22673:9;:22;22683:8;;22692:1;22683:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22673:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;22673:22:0;22666:29;;-1:-1:-1;;22666:29:0::1;::::0;;22641:3;::::1;::::0;::::1;:::i;:::-;;;;22601:106;;;;22518:196:::0;;:::o;17662:92::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17726:12:0::1;17741:5;17726:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;17726:20:0::1;::::0;;17662:92::o;21694:101::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;21761:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21761:26:0::1;-1:-1:-1::0;;;;21761:26:0;;::::1;::::0;;;::::1;::::0;;21694:101::o;17242:235::-;17308:19;;-1:-1:-1;;;;;17308:19:0;4821:10;-1:-1:-1;;;;;17292:35:0;;:72;;;-1:-1:-1;17347:17:0;;-1:-1:-1;;;;;17347:17:0;4821:10;-1:-1:-1;;;;;17331:33:0;;17292:72;17284:81;;;;;;17405:21;17437:32;17405:21;17437:12;:32::i;:::-;17273:204;17242:235::o;11654:138::-;-1:-1:-1;;;;;11767:16:0;;11720:7;11767:16;;;:7;:16;;;;;;11747:37;;:19;:37::i;6196:148::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;6303:1:::1;6287:6:::0;;6266:40:::1;::::0;-1:-1:-1;;;;;6287:6:0;;::::1;::::0;6266:40:::1;::::0;6303:1;;6266:40:::1;6334:1;6317:19:::0;;-1:-1:-1;;;;;;6317:19:0::1;::::0;;6196:148::o;21834:108::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;21908:12:::1;:26:::0;21834:108::o;16889:101::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;16956:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;16956:26:0::1;-1:-1:-1::0;;;;16956:26:0;;::::1;::::0;;;::::1;::::0;;16889:101::o;21503:139::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;21594:19:::1;:40:::0;21503:139::o;21160:291::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;21294:14:::1;:30:::0;;;;21335:15:::1;:32:::0;;;;21378:12:::1;:26:::0;21415:13:::1;:28:::0;21160:291::o;11800:199::-;11905:4;11927:42;4821:10;11951:9;11962:6;11927:9;:42::i;22315:195::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;22401:9:::1;22397:106;22416:19:::0;;::::1;22397:106;;;22487:4;22462:9;:22;22472:8;;22481:1;22472:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22462:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;22462:22:0;:29;;-1:-1:-1;;22462:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22437:3;::::1;::::0;::::1;:::i;:::-;;;;22397:106;;16998:236:::0;17064:19;;-1:-1:-1;;;;;17064:19:0;4821:10;-1:-1:-1;;;;;17048:35:0;;:72;;;-1:-1:-1;17103:17:0;;-1:-1:-1;;;;;17103:17:0;4821:10;-1:-1:-1;;;;;17087:33:0;;17048:72;17040:81;;;;;;17132:23;17158:24;17176:4;17158:9;:24::i;:::-;17132:50;;17193:33;17210:15;17193:16;:33::i;22073:234::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;22190:9:::1;22186:114;22205:19:::0;;::::1;22186:114;;;22280:8;22246:18;:31;22265:8;;22274:1;22265:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22246:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;22246:31:0;:42;;-1:-1:-1;;22246:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22226:3;::::1;::::0;::::1;:::i;:::-;;;;22186:114;;;;22073:234:::0;;;:::o;21950:115::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;22027:14:::1;:30:::0;21950:115::o;6352:244::-;6109:6;;-1:-1:-1;;;;;6109:6:0;4821:10;6109:22;6101:67;;;;-1:-1:-1;;;6101:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6441:22:0;::::1;6433:73;;;::::0;-1:-1:-1;;;6433:73:0;;7865:2:1;6433:73:0::1;::::0;::::1;7847:21:1::0;7904:2;7884:18;;;7877:30;7943:34;7923:18;;;7916:62;-1:-1:-1;;;7994:18:1;;;7987:36;8040:19;;6433:73:0::1;7663:402:1::0;6433:73:0::1;6543:6;::::0;;6522:38:::1;::::0;-1:-1:-1;;;;;6522:38:0;;::::1;::::0;6543:6;::::1;::::0;6522:38:::1;::::0;::::1;6571:6;:17:::0;;-1:-1:-1;;;;;;6571:17:0::1;-1:-1:-1::0;;;;;6571:17:0;;;::::1;::::0;;;::::1;::::0;;6352:244::o;13537:369::-;-1:-1:-1;;;;;13664:19:0;;13656:68;;;;-1:-1:-1;;;13656:68:0;;8272:2:1;13656:68:0;;;8254:21:1;8311:2;8291:18;;;8284:30;8350:34;8330:18;;;8323:62;-1:-1:-1;;;8401:18:1;;;8394:34;8445:19;;13656:68:0;8070:400:1;13656:68:0;-1:-1:-1;;;;;13743:21:0;;13735:68;;;;-1:-1:-1;;;13735:68:0;;8677:2:1;13735:68:0;;;8659:21:1;8716:2;8696:18;;;8689:30;8755:34;8735:18;;;8728:62;-1:-1:-1;;;8806:18:1;;;8799:32;8848:19;;13735:68:0;8475:398:1;13735:68:0;-1:-1:-1;;;;;13814:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13866:32;;3087:25:1;;;13866:32:0;;3060:18:1;13866:32:0;;;;;;;13537:369;;;:::o;13914:2369::-;-1:-1:-1;;;;;14036:18:0;;14028:68;;;;-1:-1:-1;;;14028:68:0;;9080:2:1;14028:68:0;;;9062:21:1;9119:2;9099:18;;;9092:30;9158:34;9138:18;;;9131:62;-1:-1:-1;;;9209:18:1;;;9202:35;9254:19;;14028:68:0;8878:401:1;14028:68:0;-1:-1:-1;;;;;14115:16:0;;14107:64;;;;-1:-1:-1;;;14107:64:0;;9486:2:1;14107:64:0;;;9468:21:1;9525:2;9505:18;;;9498:30;9564:34;9544:18;;;9537:62;-1:-1:-1;;;9615:18:1;;;9608:33;9658:19;;14107:64:0;9284:399:1;14107:64:0;14199:1;14190:6;:10;14182:64;;;;-1:-1:-1;;;14182:64:0;;9890:2:1;14182:64:0;;;9872:21:1;9929:2;9909:18;;;9902:30;9968:34;9948:18;;;9941:62;-1:-1:-1;;;10019:18:1;;;10012:39;10068:19;;14182:64:0;9688:405:1;14182:64:0;6020:7;6047:6;-1:-1:-1;;;;;14264:15:0;;;6047:6;;14264:15;;;;:32;;-1:-1:-1;6020:7:0;6047:6;-1:-1:-1;;;;;14283:13:0;;;6047:6;;14283:13;;14264:32;:52;;;;-1:-1:-1;;;;;;14301:15:0;;;;;;:9;:15;;;;;;;;14300:16;14264:52;:70;;;;-1:-1:-1;;;;;;14321:13:0;;;;;;:9;:13;;;;;;;;14320:14;14264:70;14260:1297;;;14391:11;;-1:-1:-1;;;14391:11:0;;;;14386:144;;-1:-1:-1;;;;;14431:15:0;;;;;;:9;:15;;;;;;;;14423:91;;;;-1:-1:-1;;;14423:91:0;;10300:2:1;14423:91:0;;;10282:21:1;10339:2;10319:18;;;10312:30;10378:34;10358:18;;;10351:62;10449:33;10429:18;;;10422:61;10500:19;;14423:91:0;10098:427:1;14423:91:0;14564:12;;14554:6;:22;;14546:63;;;;-1:-1:-1;;;14546:63:0;;10732:2:1;14546:63:0;;;10714:21:1;10771:2;10751:18;;;10744:30;10810;10790:18;;;10783:58;10858:18;;14546:63:0;10530:352:1;14546:63:0;-1:-1:-1;;;;;14633:10:0;;;;;;:4;:10;;;;;;;;14632:11;:24;;;;-1:-1:-1;;;;;;14648:8:0;;;;;;:4;:8;;;;;;;;14647:9;14632:24;14624:72;;;;-1:-1:-1;;;14624:72:0;;11089:2:1;14624:72:0;;;11071:21:1;11128:2;11108:18;;;11101:30;11167:34;11147:18;;;11140:62;-1:-1:-1;;;11218:18:1;;;11211:33;11261:19;;14624:72:0;10887:399:1;14624:72:0;14722:13;;-1:-1:-1;;;;;14716:19:0;;;14722:13;;14716:19;14713:146;;14789:14;;14780:6;14764:13;14774:2;14764:9;:13::i;:::-;:22;;;;:::i;:::-;:39;14756:87;;;;-1:-1:-1;;;14756:87:0;;11626:2:1;14756:87:0;;;11608:21:1;11665:2;11645:18;;;11638:30;11704:34;11684:18;;;11677:62;-1:-1:-1;;;11755:18:1;;;11748:33;11798:19;;14756:87:0;11424:399:1;14756:87:0;14875:28;14906:24;14924:4;14906:9;:24::i;:::-;14984:19;;15047:12;;14875:55;;-1:-1:-1;14960:43:0;;;;15023:36;;15020:124;;15116:12;;15093:35;;15020:124;15164:7;:18;;;;-1:-1:-1;15176:6:0;;-1:-1:-1;;;15176:6:0;;;;15175:7;15164:18;:43;;;;-1:-1:-1;15194:13:0;;-1:-1:-1;;;;;15186:21:0;;;15194:13;;15186:21;;15164:43;:58;;;;-1:-1:-1;15211:11:0;;-1:-1:-1;;;15211:11:0;;;;15164:58;:87;;;;-1:-1:-1;;;;;;15227:24:0;;;;;;:18;:24;;;;;;;;15226:25;15164:87;:114;;;;-1:-1:-1;;;;;;15256:22:0;;;;;;:18;:22;;;;;;;;15255:23;15164:114;15160:386;;;15299:38;15316:20;15299:16;:38::i;:::-;15385:21;15429:22;;15425:106;;15476:35;15489:21;15476:12;:35::i;:::-;15280:266;15160:386;14336:1221;;14260:1297;-1:-1:-1;;;;;15633:24:0;;15569:12;15633:24;;;:18;:24;;;;;;15584:4;;15633:24;;;:50;;-1:-1:-1;;;;;;15661:22:0;;;;;;:18;:22;;;;;;;;15633:50;15632:102;;;-1:-1:-1;15697:13:0;;-1:-1:-1;;;;;15689:21:0;;;15697:13;;15689:21;;;;:44;;-1:-1:-1;15720:13:0;;-1:-1:-1;;;;;15714:19:0;;;15720:13;;15714:19;;15689:44;15628:594;;;-1:-1:-1;15761:5:0;15628:594;;;15844:13;;-1:-1:-1;;;;;15836:21:0;;;15844:13;;15836:21;:55;;;;-1:-1:-1;15875:15:0;;-1:-1:-1;;;;;15861:30:0;;;15875:15;;15861:30;;15836:55;15833:162;;;15924:14;;15912:9;:26;15967:12;;15957:7;:22;15833:162;16054:13;;-1:-1:-1;;;;;16048:19:0;;;16054:13;;16048:19;:55;;;;-1:-1:-1;16087:15:0;;-1:-1:-1;;;;;16071:32:0;;;16087:15;;16071:32;;16048:55;16044:165;;;16136:15;;16124:9;:27;16180:13;;16170:7;:23;16044:165;16234:41;16249:4;16255:2;16259:6;16267:7;16234:14;:41::i;6960:224::-;7080:7;7116:12;7108:6;;;;7100:29;;;;-1:-1:-1;;;7100:29:0;;;;;;;;:::i;:::-;-1:-1:-1;7140:9:0;7152:5;7156:1;7152;:5;:::i;:::-;7140:17;6960:224;-1:-1:-1;;;;;6960:224:0:o;16782:99::-;16839:17;;:34;;-1:-1:-1;;;;;16839:17:0;;;;:34;;;;;16866:6;;16839:17;:34;:17;:34;16866:6;16839:17;:34;;;;;;;;;;;;;;;;;;;12854:323;12949:7;13007;;12996;:18;;12974:110;;;;-1:-1:-1;;;12974:110:0;;12160:2:1;12974:110:0;;;12142:21:1;12199:2;12179:18;;;12172:30;12238:34;12218:18;;;12211:62;-1:-1:-1;;;12289:18:1;;;12282:40;12339:19;;12974:110:0;11958:406:1;12974:110:0;13095:19;13117:10;:8;:10::i;:::-;13095:32;-1:-1:-1;13145:24:0;:7;13095:32;13145:11;:24::i;:::-;13138:31;12854:323;-1:-1:-1;;;12854:323:0:o;16291:483::-;10566:6;:13;;-1:-1:-1;;;;10566:13:0;-1:-1:-1;;;10566:13:0;;;16393:16:::1;::::0;;16407:1:::1;16393:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16393:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16393:16:0::1;16369:40;;16438:4;16420;16425:1;16420:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16420:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16464:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16464:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16420:7;;16464:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16454:4;16459:1;16454:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16454:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16529:15:::1;::::0;16497:62:::1;::::0;16514:4:::1;::::0;16529:15:::1;16547:11:::0;16497:8:::1;:62::i;:::-;16570:15;::::0;:196:::1;::::0;-1:-1:-1;;;16570:196:0;;-1:-1:-1;;;;;16570:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16651:11;;16570:15:::1;::::0;16693:4;;16720::::1;::::0;16740:15:::1;::::0;16570:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10602:6:0;:14;;-1:-1:-1;;;;10602:14:0;;;-1:-1:-1;;;;16291:483:0:o;17762:282::-;17918:7;17913:28;;17927:14;:12;:14::i;:::-;17952:44;17970:6;17978:9;17989:6;17952:17;:44::i;:::-;18012:7;18007:29;;18021:15;13468:17;;13456:9;:29;13506:15;;13496:7;:25;13412:117;20723:164;20765:7;20786:15;20803;20822:19;:17;:19::i;:::-;20785:56;;-1:-1:-1;20785:56:0;-1:-1:-1;20859:20:0;20785:56;;20859:11;:20::i;:::-;20852:27;;;;20723:164;:::o;7446:132::-;7504:7;7531:39;7535:1;7538;7531:39;;;;;;;;;;;;;;;;;:3;:39::i;13185:219::-;13232:9;;:14;:30;;;;-1:-1:-1;13250:7:0;;:12;13232:30;13228:43;;;13185:219::o;13228:43::-;13303:9;;;13283:17;:29;13341:7;;;13323:15;:25;-1:-1:-1;13361:13:0;;;;13385:11;13185:219::o;18052:610::-;18199:15;18229:23;18267:12;18294:23;18332:12;18359:13;18386:19;18397:7;18386:10;:19::i;:::-;-1:-1:-1;;;;;18434:15:0;;;;;;:7;:15;;;;;;18184:221;;-1:-1:-1;18184:221:0;;-1:-1:-1;18184:221:0;;-1:-1:-1;18184:221:0;-1:-1:-1;18184:221:0;-1:-1:-1;18184:221:0;-1:-1:-1;18434:28:0;;18184:221;18434:19;:28::i;:::-;-1:-1:-1;;;;;18416:15:0;;;;;;;:7;:15;;;;;;:46;;;;18494:18;;;;;;;:39;;18517:15;18494:22;:39::i;:::-;-1:-1:-1;;;;;18473:18:0;;;;;;:7;:18;;;;;:60;18544:16;18554:5;18544:9;:16::i;:::-;18571:23;18583:4;18589;18571:11;:23::i;:::-;18627:9;-1:-1:-1;;;;;18610:44:0;18619:6;-1:-1:-1;;;;;18610:44:0;;18638:15;18610:44;;;;3087:25:1;;3075:2;3060:18;;2941:177;18610:44:0;;;;;;;;18173:489;;;;;;18052:610;;;:::o;20895:257::-;20993:7;;20946;;;;9254:18;21061:20;20993:7;9254:18;21061:11;:20::i;:::-;21051:7;:30;21047:61;;;-1:-1:-1;;21091:7:0;;;9254:18;;-1:-1:-1;20895:257:0;-1:-1:-1;20895:257:0:o;21047:61::-;21127:7;;21136;;-1:-1:-1;20895:257:0;-1:-1:-1;20895:257:0:o;7586:223::-;7706:7;7741:12;7734:5;7726:28;;;;-1:-1:-1;;;7726:28:0;;;;;;;;:::i;:::-;-1:-1:-1;7765:9:0;7777:5;7781:1;7777;:5;:::i;19081:615::-;19181:7;19203;19225;19247;19269;19291;19327:23;19352:12;19366:13;19396:40;19408:7;19417:9;;19428:7;;19396:11;:40::i;:::-;19326:110;;;;;;19447:19;19469:10;:8;:10::i;:::-;19447:32;;19491:15;19508:23;19533:12;19562:46;19574:7;19583:4;19589:5;19596:11;19562;:46::i;:::-;19490:118;;-1:-1:-1;19490:118:0;-1:-1:-1;19490:118:0;-1:-1:-1;19659:15:0;;-1:-1:-1;19676:4:0;;-1:-1:-1;19682:5:0;;-1:-1:-1;;;;;19081:615:0;;;;;;;:::o;6816:136::-;6874:7;6901:43;6905:1;6908;6901:43;;;;;;;;;;;;;;;;;:3;:43::i;6629:179::-;6687:7;;6719:5;6723:1;6719;:5;:::i;:::-;6707:17;;6748:1;6743;:6;;6735:46;;;;-1:-1:-1;;;6735:46:0;;14080:2:1;6735:46:0;;;14062:21:1;14119:2;14099:18;;;14092:30;14158:29;14138:18;;;14131:57;14205:18;;6735:46:0;13878:351:1;18670:211:0;18723:19;18745:10;:8;:10::i;:::-;18723:32;-1:-1:-1;18766:13:0;18782:22;:5;18723:32;18782:9;:22::i;:::-;18856:4;18840:22;;;;:7;:22;;;;;;18766:38;;-1:-1:-1;18840:33:0;;18766:38;18840:26;:33::i;:::-;18831:4;18815:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;18670:211:0:o;18889:147::-;18967:7;;:17;;18979:4;18967:11;:17::i;:::-;18957:7;:27;19008:10;;:20;;19023:4;19008:14;:20::i;:::-;18995:10;:33;-1:-1:-1;;18889:147:0:o;19704:469::-;19873:7;;;;19967:30;19993:3;19967:21;:7;19979:8;19967:11;:21::i;:::-;:25;;:30::i;:::-;19952:45;-1:-1:-1;20008:13:0;20024:28;20048:3;20024:19;:7;20036:6;20024:11;:19::i;:28::-;20008:44;-1:-1:-1;20063:23:0;20089:28;20008:44;20089:17;:7;20101:4;20089:11;:17::i;:::-;:21;;:28::i;:::-;20063:54;20153:4;;-1:-1:-1;20159:5:0;;-1:-1:-1;19704:469:0;;-1:-1:-1;;;;;19704:469:0:o;20181:534::-;20375:7;;;;20472:24;:7;20484:11;20472;:24::i;:::-;20454:42;-1:-1:-1;20507:12:0;20522:21;:4;20531:11;20522:8;:21::i;:::-;20507:36;-1:-1:-1;20554:13:0;20570:22;:5;20580:11;20570:9;:22::i;:::-;20554:38;-1:-1:-1;20603:23:0;20629:28;20554:38;20629:17;:7;20641:4;20629:11;:17::i;:28::-;20676:7;;;;-1:-1:-1;20702:4:0;;-1:-1:-1;20181:534:0;;-1:-1:-1;;;;;;;20181:534:0:o;7192:246::-;7250:7;7274:1;7279;7274:6;7270:47;;-1:-1:-1;7304:1:0;7297:8;;7270:47;7327:9;7339:5;7343:1;7339;:5;:::i;:::-;7327:17;-1:-1:-1;7372:1:0;7363:5;7367:1;7327:17;7363:5;:::i;:::-;:10;7355:56;;;;-1:-1:-1;;;7355:56:0;;14609:2:1;7355:56:0;;;14591:21:1;14648:2;14628:18;;;14621:30;14687:34;14667:18;;;14660:62;-1:-1:-1;;;14738:18:1;;;14731:31;14779:19;;7355:56:0;14407:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:154;-1:-1:-1;;;;;225:5:1;221:54;214:5;211:65;201:93;;290:1;287;280:12;305:134;373:20;;402:31;373:20;402:31;:::i;:::-;305:134;;;:::o;444:1121::-;528:6;559:2;602;590:9;581:7;577:23;573:32;570:52;;;618:1;615;608:12;570:52;658:9;645:23;687:18;728:2;720:6;717:14;714:34;;;744:1;741;734:12;714:34;782:6;771:9;767:22;757:32;;827:7;820:4;816:2;812:13;808:27;798:55;;849:1;846;839:12;798:55;885:2;872:16;907:2;903;900:10;897:36;;;913:18;;:::i;:::-;959:2;956:1;952:10;991:2;985:9;1054:2;1050:7;1045:2;1041;1037:11;1033:25;1025:6;1021:38;1109:6;1097:10;1094:22;1089:2;1077:10;1074:18;1071:46;1068:72;;;1120:18;;:::i;:::-;1156:2;1149:22;1206:18;;;1240:15;;;;-1:-1:-1;1282:11:1;;;1278:20;;;1310:19;;;1307:39;;;1342:1;1339;1332:12;1307:39;1366:11;;;;1386:148;1402:6;1397:3;1394:15;1386:148;;;1468:23;1487:3;1468:23;:::i;:::-;1456:36;;1419:12;;;;1512;;;;1386:148;;;1553:6;444:1121;-1:-1:-1;;;;;;;;444:1121:1:o;1570:597::-;1682:4;1711:2;1740;1729:9;1722:21;1772:6;1766:13;1815:6;1810:2;1799:9;1795:18;1788:34;1840:1;1850:140;1864:6;1861:1;1858:13;1850:140;;;1959:14;;;1955:23;;1949:30;1925:17;;;1944:2;1921:26;1914:66;1879:10;;1850:140;;;2008:6;2005:1;2002:13;1999:91;;;2078:1;2073:2;2064:6;2053:9;2049:22;2045:31;2038:42;1999:91;-1:-1:-1;2151:2:1;2130:15;-1:-1:-1;;2126:29:1;2111:45;;;;2158:2;2107:54;;1570:597;-1:-1:-1;;;1570:597:1:o;2172:315::-;2240:6;2248;2301:2;2289:9;2280:7;2276:23;2272:32;2269:52;;;2317:1;2314;2307:12;2269:52;2356:9;2343:23;2375:31;2400:5;2375:31;:::i;:::-;2425:5;2477:2;2462:18;;;;2449:32;;-1:-1:-1;;;2172:315:1:o;3123:456::-;3200:6;3208;3216;3269:2;3257:9;3248:7;3244:23;3240:32;3237:52;;;3285:1;3282;3275:12;3237:52;3324:9;3311:23;3343:31;3368:5;3343:31;:::i;:::-;3393:5;-1:-1:-1;3450:2:1;3435:18;;3422:32;3463:33;3422:32;3463:33;:::i;:::-;3123:456;;3515:7;;-1:-1:-1;;;3569:2:1;3554:18;;;;3541:32;;3123:456::o;4004:367::-;4067:8;4077:6;4131:3;4124:4;4116:6;4112:17;4108:27;4098:55;;4149:1;4146;4139:12;4098:55;-1:-1:-1;4172:20:1;;4215:18;4204:30;;4201:50;;;4247:1;4244;4237:12;4201:50;4284:4;4276:6;4272:17;4260:29;;4344:3;4337:4;4327:6;4324:1;4320:14;4312:6;4308:27;4304:38;4301:47;4298:67;;;4361:1;4358;4351:12;4298:67;4004:367;;;;;:::o;4376:437::-;4462:6;4470;4523:2;4511:9;4502:7;4498:23;4494:32;4491:52;;;4539:1;4536;4529:12;4491:52;4579:9;4566:23;4612:18;4604:6;4601:30;4598:50;;;4644:1;4641;4634:12;4598:50;4683:70;4745:7;4736:6;4725:9;4721:22;4683:70;:::i;:::-;4772:8;;4657:96;;-1:-1:-1;4376:437:1;-1:-1:-1;;;;4376:437:1:o;4818:247::-;4877:6;4930:2;4918:9;4909:7;4905:23;4901:32;4898:52;;;4946:1;4943;4936:12;4898:52;4985:9;4972:23;5004:31;5029:5;5004:31;:::i;5070:160::-;5135:20;;5191:13;;5184:21;5174:32;;5164:60;;5220:1;5217;5210:12;5235:180;5291:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:52;;;5360:1;5357;5350:12;5312:52;5383:26;5399:9;5383:26;:::i;5420:180::-;5479:6;5532:2;5520:9;5511:7;5507:23;5503:32;5500:52;;;5548:1;5545;5538:12;5500:52;-1:-1:-1;5571:23:1;;5420:180;-1:-1:-1;5420:180:1:o;5605:385::-;5691:6;5699;5707;5715;5768:3;5756:9;5747:7;5743:23;5739:33;5736:53;;;5785:1;5782;5775:12;5736:53;-1:-1:-1;;5808:23:1;;;5878:2;5863:18;;5850:32;;-1:-1:-1;5929:2:1;5914:18;;5901:32;;5980:2;5965:18;5952:32;;-1:-1:-1;5605:385:1;-1:-1:-1;5605:385:1:o;5995:505::-;6087:6;6095;6103;6156:2;6144:9;6135:7;6131:23;6127:32;6124:52;;;6172:1;6169;6162:12;6124:52;6212:9;6199:23;6245:18;6237:6;6234:30;6231:50;;;6277:1;6274;6267:12;6231:50;6316:70;6378:7;6369:6;6358:9;6354:22;6316:70;:::i;:::-;6405:8;;-1:-1:-1;6290:96:1;-1:-1:-1;6459:35:1;;-1:-1:-1;6490:2:1;6475:18;;6459:35;:::i;:::-;6449:45;;5995:505;;;;;:::o;6505:388::-;6573:6;6581;6634:2;6622:9;6613:7;6609:23;6605:32;6602:52;;;6650:1;6647;6640:12;6602:52;6689:9;6676:23;6708:31;6733:5;6708:31;:::i;:::-;6758:5;-1:-1:-1;6815:2:1;6800:18;;6787:32;6828:33;6787:32;6828:33;:::i;:::-;6880:7;6870:17;;;6505:388;;;;;:::o;6898:356::-;7100:2;7082:21;;;7119:18;;;7112:30;7178:34;7173:2;7158:18;;7151:62;7245:2;7230:18;;6898:356::o;7259:127::-;7320:10;7315:3;7311:20;7308:1;7301:31;7351:4;7348:1;7341:15;7375:4;7372:1;7365:15;7391:127;7452:10;7447:3;7443:20;7440:1;7433:31;7483:4;7480:1;7473:15;7507:4;7504:1;7497:15;7523:135;7562:3;7583:17;;;7580:43;;7603:18;;:::i;:::-;-1:-1:-1;7650:1:1;7639:13;;7523:135::o;11291:128::-;11331:3;11362:1;11358:6;11355:1;11352:13;11349:39;;;11368:18;;:::i;:::-;-1:-1:-1;11404:9:1;;11291:128::o;11828:125::-;11868:4;11896:1;11893;11890:8;11887:34;;;11901:18;;:::i;:::-;-1:-1:-1;11938:9:1;;11828:125::o;12369:251::-;12439:6;12492:2;12480:9;12471:7;12467:23;12463:32;12460:52;;;12508:1;12505;12498:12;12460:52;12540:9;12534:16;12559:31;12584:5;12559:31;:::i;12625:1026::-;12887:4;12935:3;12924:9;12920:19;12966:6;12955:9;12948:25;12992:2;13030:6;13025:2;13014:9;13010:18;13003:34;13073:3;13068:2;13057:9;13053:18;13046:31;13097:6;13132;13126:13;13163:6;13155;13148:22;13201:3;13190:9;13186:19;13179:26;;13240:2;13232:6;13228:15;13214:29;;13261:1;13271:218;13285:6;13282:1;13279:13;13271:218;;;13350:13;;-1:-1:-1;;;;;13346:62:1;13334:75;;13464:15;;;;13429:12;;;;13307:1;13300:9;13271:218;;;-1:-1:-1;;;;;;;13545:55:1;;;;13540:2;13525:18;;13518:83;-1:-1:-1;;;13632:3:1;13617:19;13610:35;13506:3;12625:1026;-1:-1:-1;;;12625:1026:1:o;13656:217::-;13696:1;13722;13712:132;;13766:10;13761:3;13757:20;13754:1;13747:31;13801:4;13798:1;13791:15;13829:4;13826:1;13819:15;13712:132;-1:-1:-1;13858:9:1;;13656:217::o;14234:168::-;14274:7;14340:1;14336;14332:6;14328:14;14325:1;14322:21;14317:1;14310:9;14303:17;14299:45;14296:71;;;14347:18;;:::i;:::-;-1:-1:-1;14387:9:1;;14234:168::o

Swarm Source

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