ETH Price: $2,444.38 (+1.64%)

Token

1776 (merica)
 

Overview

Max Total Supply

10,000,000,000 merica

Holders

84

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,959,648.51864881 merica

Value
$0.00
0xac26b79d4db0d015fed947091fec30fcf082daaf
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:
TOKEN

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

    pragma solidity ^0.8.4;

    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) {
            return a + b;
        }
        function sub(uint256 a, uint256 b) internal pure returns (uint256) {
            return a - b;
        }
        function mul(uint256 a, uint256 b) internal pure returns (uint256) {
            return a * b;
        }
        function div(uint256 a, uint256 b) internal pure returns (uint256) {
            return a / b;
        }
        function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
            unchecked {
                require(b <= a, errorMessage);
                return a - b;
            }
        }
        function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
            unchecked {
                require(b > 0, errorMessage);
                return a / b;
            }
        }
        
    }

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

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

    abstract contract Ownable is Context {
        address internal _owner;
        address private _previousOwner;

        event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
        constructor () {
            _owner = _msgSender();
            emit OwnershipTransferred(address(0), _owner);
        }
        
        function owner() public view virtual returns (address) {
            return _owner;
        }
        
        modifier onlyOwner() {
            require(owner() == _msgSender(), "Ownable: caller is not the owner");
            _;
        }
        
        function transferOwnership(address newOwner) public virtual onlyOwner {
            require(newOwner != address(0), "Ownable: new owner is the zero address");
            emit OwnershipTransferred(_owner, newOwner);
            _owner = newOwner;
        }
    }

    interface IERC20Metadata is IERC20 {
       function name() external view returns (string memory);
       function symbol() external view returns (string memory);
       function decimals() external view returns (uint8);
    }
    contract ERC20 is Context,Ownable, IERC20, IERC20Metadata {
        using SafeMath for uint256;

        mapping(address => uint256) private _balances;
        mapping(address => mapping(address => uint256)) private _allowances;

        uint256 private _totalSupply;

        string private _name;
        string private _symbol;

        constructor(string memory name_, string memory symbol_) {
            _name = name_;
            _symbol = symbol_;
        }

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

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

        function decimals() public view virtual override returns (uint8) {
            return 9;
        }

        function totalSupply() public view virtual override returns (uint256) {
            return _totalSupply;
        }
 
        function balanceOf(address account) public view virtual override returns (uint256) {
            return _balances[account];
        }

        function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
            _transfer(_msgSender(), recipient, amount);
            return true;
        }

        function allowance(address owner, address spender) public view virtual override returns (uint256) {
            return _allowances[owner][spender];
        }

        function approve(address spender, uint256 amount) public virtual override returns (bool) {
            _approve(_msgSender(), spender, amount);
            return true;
        }

        function transferFrom(
            address sender,
            address recipient,
            uint256 amount
        ) public virtual 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 _transfer(
            address sender,
            address recipient,
            uint256 amount
        ) internal virtual {
            require(sender != address(0), "ERC20: transfer from the zero address");
            require(recipient != address(0), "ERC20: transfer to the zero address");

            _beforeTokenTransfer(sender, recipient, amount);

            _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
            _balances[recipient] = _balances[recipient].add(amount);
            emit Transfer(sender, recipient, amount);
        }

        function _mint(address account, uint256 amount) internal virtual {
            require(account != address(0), "ERC20: mint to the zero address");

            _beforeTokenTransfer(address(0), account, amount);

            _totalSupply = _totalSupply.add(amount);
            _balances[account] = _balances[account].add(amount);
            emit Transfer(address(0), account, amount);
        }

        function _burn(address account, uint256 amount) internal virtual {
            require(account != address(0), "ERC20: burn from the zero address");

            _beforeTokenTransfer(account, address(0), amount);

            _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
            _totalSupply = _totalSupply.sub(amount);
            emit Transfer(account, address(0), amount);
        }

        function _approve(
            address owner,
            address spender,
            uint256 amount
        ) internal virtual {
            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 _beforeTokenTransfer(
            address from,
            address to,
            uint256 amount
        ) internal virtual {}
    }

    interface IUniswapV2Factory {
        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);
        function addLiquidityETH(
            address token,
            uint amountTokenDesired,
            uint amountTokenMin,
            uint amountETHMin,
            address to,
            uint deadline
        ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    }

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

    contract TOKEN is ERC20 {
        
        using SafeMath for uint256;

        mapping (address => bool) private _isExcludedFromFee;
        mapping(address => bool) private _isExcludedFromMaxWallet;


        address public _marketingWalletAddress;
        address public _devWalletAddress;    
        address public _donationWalletAddress;
        address public _giveawayWallet;
        address private _teamWalletOne;
        address private _teamWalletTwo;
        address constant _burnAddress = 0x000000000000000000000000000000000000dEaD;


        uint256 public _buyLiquidityFee = 15;  
        uint256 public _buyMarketingFee = 20;  
        uint256 public _buyDonationFee = 15;  
        uint256 public _buyBurnFee = 5;  

        uint256 public _sellLiquidityFee = 15; 
        uint256 public _sellMarketingFee = 20; 
        uint256 public _sellDonationFee = 15;
        uint256 public _sellBurnFee = 5;  


        IUniswapV2Router02 public uniswapV2Router;
        address public uniswapV2Pair;
        bool inSwapAndLiquify;
        bool public swapAndLiquifyEnabled = true;
        uint256 public _maxWalletBalance;
        uint256 public numTokensSellToAddToLiquidity;
        event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
        event SwapAndLiquifyEnabledUpdated(bool enabled);
        event SwapAndLiquify(
            uint256 tokensSwapped,
            uint256 ethReceived,
            uint256 tokensIntoLiqudity
        );
        
        modifier lockTheSwap {
            inSwapAndLiquify = true;
            _;
            inSwapAndLiquify = false;
        }
        
        constructor () ERC20("1776", "merica"){

            numTokensSellToAddToLiquidity = 1000000 * 10 ** decimals();
            _marketingWalletAddress = 0xd83f597Cfbec869647b89AA6E7A673E53774ba62;
            _donationWalletAddress = 0x2D226B259D93E69D5EE3b9E556b066D4cc7E327c;
            _devWalletAddress = 0x57D74a1e656DD7FB04423F91112D9524E337F6Fd;
            _giveawayWallet = 0x630E56C57Ef9FDcEA9BeB01B8c015B917F8Af73b;
            _teamWalletOne = 0x9A1baf5548E6Fa99ada6e8FbC2261eBb75556015;
            _teamWalletTwo = 0x189CaF4B993F3DA46f1Dda78FD5B522f891c6D4c;

            IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
                .createPair(address(this), _uniswapV2Router.WETH());
            uniswapV2Router = _uniswapV2Router;
            
            _isExcludedFromFee[_msgSender()] = true;
            _isExcludedFromFee[address(this)] = true;
            _isExcludedFromFee[_marketingWalletAddress] = true;
            _isExcludedFromFee[_donationWalletAddress] = true;
            _isExcludedFromFee[_devWalletAddress] = true;
            _isExcludedFromFee[_giveawayWallet] = true;
            _isExcludedFromFee[_teamWalletOne] = true;
            _isExcludedFromFee[_teamWalletTwo] = true;

            _isExcludedFromMaxWallet[owner()] = true;
            _isExcludedFromMaxWallet[address(this)] = true;
            _isExcludedFromMaxWallet[_marketingWalletAddress] = true;
            _isExcludedFromMaxWallet[_donationWalletAddress] = true;
            _isExcludedFromMaxWallet[_devWalletAddress] = true;
            _isExcludedFromMaxWallet[_giveawayWallet] = true;
            _isExcludedFromMaxWallet[_teamWalletOne] = true;
            _isExcludedFromMaxWallet[_teamWalletTwo] = true;

            _mint(owner(), 1500000000 * 10 ** decimals());
            _mint(_marketingWalletAddress,1500000000 * 10 ** decimals());
            _mint(_devWalletAddress,500000000 * 10 ** decimals());
            _mint(_giveawayWallet,2500000000 * 10 ** decimals());
            _mint(_teamWalletOne,2000000000 * 10 ** decimals());
            _mint(_teamWalletTwo,2000000000 * 10 ** decimals());

            _maxWalletBalance = (totalSupply() * 1 ) / 100;
            
        }

        function burn(uint tokens) external onlyOwner {
            _burn(msg.sender, tokens * 10 ** decimals());
        }

        function excludeFromFee(address account) public onlyOwner {
            _isExcludedFromFee[account] = true;
        }
        
        function includeInFee(address account) public onlyOwner {
            _isExcludedFromFee[account] = false;
        }

          function includeAndExcludedFromMaxWallet(address account, bool value) public onlyOwner {
            _isExcludedFromMaxWallet[account] = value;
        }

         function isExcludedFromMaxWallet(address account) public view returns(bool){
            return _isExcludedFromMaxWallet[account];
         }

        function setSellFeePercent(
            uint256 lFee,
            uint256 mFee,
            uint256 doFee,
            uint256 deFee
        ) external onlyOwner {
            _sellLiquidityFee = lFee;
            _sellMarketingFee = mFee;
            _sellDonationFee = doFee;
            _sellBurnFee = deFee;
        }

        function setBuyFeePercent(
            uint256 lFee,
            uint256 mFee,
            uint256 doFee,
            uint256 deFee
        ) external onlyOwner {
            _buyLiquidityFee = lFee;
            _buyMarketingFee = mFee;
            _buyDonationFee = doFee;
            _buyBurnFee = deFee;
        }

        function setMarketingWalletAddress(address _addr) external onlyOwner {
            _marketingWalletAddress = _addr;
        }  

        function setDonationWalletAddress(address _addr) external onlyOwner {
            _donationWalletAddress = _addr;
        }

        function setNumTokensSellToAddToLiquidity(uint256 amount) external onlyOwner {
            numTokensSellToAddToLiquidity = amount * 10 ** decimals();
        }

         function setMaxWalletBalance(uint256 maxBalancePercent) external onlyOwner {
        _maxWalletBalance = maxBalancePercent * 10** decimals();
        }


        function setRouterAddress(address newRouter) external onlyOwner {
            IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouter);
            uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
            uniswapV2Router = _uniswapV2Router;
        }

        function setSwapAndLiquifyEnabled(bool _enabled) external onlyOwner {
            swapAndLiquifyEnabled = _enabled;
            emit SwapAndLiquifyEnabledUpdated(_enabled);
        }
        
        receive() external payable {}

        function withdrawStuckedETH(uint amount) external onlyOwner{
            (bool sent,) = _owner.call{value: amount}("");
            require(sent, "Failed to send ETH");    
            }

        function isExcludedFromFee(address account) public view returns(bool) {
            return _isExcludedFromFee[account];
        }

        function _transfer(
            address from,
            address to,
            uint256 amount
        ) internal override {
            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 != address(this) &&
            to != _burnAddress &&
            to != uniswapV2Pair ) 
            {
            uint256 currentBalance = balanceOf(to);
            require(_isExcludedFromMaxWallet[to] || (currentBalance + amount <= _maxWalletBalance),
                    "ERC20: Reached max wallet holding");
            }

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

            bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            super._transfer(from, to, amount);
            takeFee = false;
        } else {

            if (from == uniswapV2Pair) {
                // Buy
                uint256 liquidityTokens = amount.mul(_buyLiquidityFee).div(1000);
                uint256 marketingTokens = amount.mul(_buyMarketingFee).div(1000);
                uint256 donationTokens = amount.mul(_buyDonationFee).div(1000);
                uint256 burnTokens = amount.mul(_buyBurnFee).div(1000);
                amount= amount.sub(liquidityTokens.add(marketingTokens).add(donationTokens).add(burnTokens));
                super._transfer(from, address(this), liquidityTokens);
                super._transfer(from, _marketingWalletAddress,marketingTokens);
                super._transfer(from, _donationWalletAddress, donationTokens);
                super._transfer(from, _burnAddress,burnTokens);
                super._transfer(from, to, amount);

            } else if (to == uniswapV2Pair) {
                // Sell
                uint256 liquidityTokens = amount.mul(_sellLiquidityFee).div(1000);
                uint256 marketingTokens = amount.mul(_sellMarketingFee).div(1000);
                uint256 donationTokens = amount.mul(_sellDonationFee).div(1000);
                uint256 burnTokens = amount.mul(_sellBurnFee).div(1000);
                amount= amount.sub(liquidityTokens.add(marketingTokens).add(donationTokens).add(burnTokens));
                super._transfer(from, address(this), liquidityTokens);
                super._transfer(from, _marketingWalletAddress,marketingTokens);
                super._transfer(from, _donationWalletAddress, donationTokens);
                super._transfer(from, _burnAddress,burnTokens);
                super._transfer(from, to, amount);
            } else {
                // Transfer
                super._transfer(from, to, amount);
            }
        
        }

        }

        function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
            uint256 half = contractTokenBalance.div(2);
            uint256 otherHalf = contractTokenBalance.sub(half);
            uint256 initialBalance = address(this).balance;
            swapTokensForEth(half); 
            uint256 newBalance = address(this).balance.sub(initialBalance);
            addLiquidity(otherHalf, newBalance);
            emit SwapAndLiquify(half, newBalance, otherHalf);
        }

        function swapTokensForEth(uint256 tokenAmount) private {
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();
            _approve(address(this), address(uniswapV2Router), tokenAmount);
            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokenAmount,
                0, // accept any amount of ETH
                path,
                address(this),
                block.timestamp
            );
        }

        function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
            _approve(address(this), address(uniswapV2Router), tokenAmount);
            uniswapV2Router.addLiquidityETH{value: ethAmount}(
                address(this),
                tokenAmount,
                0, // slippage is unavoidable
                0, // slippage is unavoidable
                owner(),
                block.timestamp
            );
        }
    }

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":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":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":"_buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDonationFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_donationWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_giveawayWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDonationFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","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":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","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":"includeAndExcludedFromMaxWallet","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lFee","type":"uint256"},{"internalType":"uint256","name":"mFee","type":"uint256"},{"internalType":"uint256","name":"doFee","type":"uint256"},{"internalType":"uint256","name":"deFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setDonationWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBalancePercent","type":"uint256"}],"name":"setMaxWalletBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setNumTokensSellToAddToLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lFee","type":"uint256"},{"internalType":"uint256","name":"mFee","type":"uint256"},{"internalType":"uint256","name":"doFee","type":"uint256"},{"internalType":"uint256","name":"deFee","type":"uint256"}],"name":"setSellFeePercent","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"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawStuckedETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600f8080556014601081905560118290556005601281905560138390559080556015919091556016556018805460ff60a81b1916600160a81b1790553480156200004d57600080fd5b5060405180604001604052806004815260200163189b9b9b60e11b815250604051806040016040528060068152602001656d657269636160d01b8152506200009a6200063360201b60201c565b600080546001600160a01b0319166001600160a01b039290921691821781556040517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36005620000ef8382620007e7565b506006620000fe8282620007e7565b506200010b915050600990565b6200011890600a620009c6565b6200012790620f4240620009d7565b601a55600980546001600160a01b031990811673d83f597cfbec869647b89aa6e7a673e53774ba6217909155600b80548216732d226b259d93e69d5ee3b9e556b066d4cc7e327c179055600a805482167357d74a1e656dd7fb04423f91112d9524e337f6fd179055600c8054821673630e56c57ef9fdcea9beb01b8c015b917f8af73b179055600d80548216739a1baf5548e6fa99ada6e8fbc2261ebb75556015179055600e805490911673189caf4b993f3da46f1dda78fd5b522f891c6d4c1790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa1580156200023e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002649190620009f1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d89190620009f1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000326573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034c9190620009f1565b601880546001600160a01b03199081166001600160a01b039384161790915560178054909116918316919091179055600160076000620003893390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007909352818320805485166001908117909155600954821684528284208054861682179055600b54821684528284208054861682179055600a54821684528284208054861682179055600c54821684528284208054861682179055600d54821684528284208054861682179055600e54909116835290822080549093168117909255600890620004536000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526008909352818320805485166001908117909155600954821684528284208054861682179055600b54821684528284208054861682179055600a54821684528284208054861682179055600c54821684528284208054861682179055600d54821684528284208054861682179055600e54909116835291208054909216179055620005416200051b6000546001600160a01b031690565b60095b6200052b90600a620009c6565b6200053b906359682f00620009d7565b62000637565b6009546200055b906001600160a01b03166200051e600990565b600a546200058b906001600160a01b031660096200057b90600a620009c6565b6200053b90631dcd6500620009d7565b600c54620005ba906001600160a01b0316620005aa6009600a620009c6565b6200053b90639502f900620009d7565b600d54620005eb906001600160a01b031660095b620005db90600a620009c6565b6200053b906377359400620009d7565b600e5462000604906001600160a01b03166009620005ce565b60646200061060045490565b6200061d906001620009d7565b62000629919062000a23565b6019555062000a5c565b3390565b6001600160a01b038216620006925760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b600454620006a190826200072c565b6004556001600160a01b038216600090815260026020526040902054620006c990826200072c565b6001600160a01b0383166000818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200071b9085815260200190565b60405180910390a35050565b505050565b60006200073a828462000a46565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200076e57607f821691505b6020821081036200078f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200072757600081815260208120601f850160051c81016020861015620007be5750805b601f850160051c820191505b81811015620007df57828155600101620007ca565b505050505050565b81516001600160401b0381111562000803576200080362000743565b6200081b8162000814845462000759565b8462000795565b602080601f8311600181146200085357600084156200083a5750858301515b600019600386901b1c1916600185901b178555620007df565b600085815260208120601f198616915b82811015620008845788860151825594840194600190910190840162000863565b5085821015620008a35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200090a578160001904821115620008ee57620008ee620008b3565b80851615620008fc57918102915b93841c9390800290620008ce565b509250929050565b60008262000923575060016200073d565b8162000932575060006200073d565b81600181146200094b5760028114620009565762000976565b60019150506200073d565b60ff8411156200096a576200096a620008b3565b50506001821b6200073d565b5060208310610133831016604e8410600b84101617156200099b575081810a6200073d565b620009a78383620008c9565b8060001904821115620009be57620009be620008b3565b029392505050565b60006200073a60ff84168362000912565b80820281158282048414176200073d576200073d620008b3565b60006020828403121562000a0457600080fd5b81516001600160a01b038116811462000a1c57600080fd5b9392505050565b60008262000a4157634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200073d576200073d620008b3565b6121248062000a6c6000396000f3fe6080604052600436106102765760003560e01c80636edb091d1161014f578063c49b9a80116100c1578063dd62ed3e1161007a578063dd62ed3e14610778578063e9233154146107be578063ea2f0b37146107de578063f0f165af146107fe578063f2fde38b1461081e578063f761920c1461083e57600080fd5b8063c49b9a80146106ea578063c5d241891461070a578063c860795214610720578063d12a768814610736578063d4a5af841461074c578063dc44b6a01461076257600080fd5b806395d89b411161011357806395d89b41146106355780639d854b631461064a578063a457c2d71461066a578063a9059cbb1461068a578063afee32a9146106aa578063b425bac3146106ca57600080fd5b80636edb091d1461059f57806370a08231146105b55780637abdc1ca146105eb57806388790a68146106015780638da5cb5b1461061757600080fd5b806342966c68116101e85780634a74bb02116101ac5780634a74bb02146104ac5780634cb80fd5146104cd578063506757c0146104ed5780635342acb41461050d578063550f66f5146105465780636dd3d39f1461056657600080fd5b806342966c681461040c578063437823ec1461042c578063456b10a51461044c57806348eb61b61461046c57806349bd5a5e1461048c57600080fd5b806323b872dd1161023a57806323b872dd1461034e578063313ce5671461036e578063395093511461038a5780633a9e00de146103aa5780634144d9e4146103cc57806341cb87fc146103ec57600080fd5b806306fdde0314610282578063095ea7b3146102ad5780631694505e146102dd57806316f2f1a81461031557806318160ddd1461033957600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610854565b6040516102a49190611b52565b60405180910390f35b3480156102b957600080fd5b506102cd6102c8366004611bb5565b6108e6565b60405190151581526020016102a4565b3480156102e957600080fd5b506017546102fd906001600160a01b031681565b6040516001600160a01b0390911681526020016102a4565b34801561032157600080fd5b5061032b60125481565b6040519081526020016102a4565b34801561034557600080fd5b5060045461032b565b34801561035a57600080fd5b506102cd610369366004611be1565b6108fd565b34801561037a57600080fd5b50604051600981526020016102a4565b34801561039657600080fd5b506102cd6103a5366004611bb5565b610966565b3480156103b657600080fd5b506103ca6103c5366004611c22565b61099c565b005b3480156103d857600080fd5b506009546102fd906001600160a01b031681565b3480156103f857600080fd5b506103ca610407366004611c3b565b6109eb565b34801561041857600080fd5b506103ca610427366004611c22565b610b90565b34801561043857600080fd5b506103ca610447366004611c3b565b610bdc565b34801561045857600080fd5b506103ca610467366004611c22565b610c2a565b34801561047857600080fd5b506103ca610487366004611c6d565b610cf0565b34801561049857600080fd5b506018546102fd906001600160a01b031681565b3480156104b857600080fd5b506018546102cd90600160a81b900460ff1681565b3480156104d957600080fd5b506103ca6104e8366004611c3b565b610d45565b3480156104f957600080fd5b50600c546102fd906001600160a01b031681565b34801561051957600080fd5b506102cd610528366004611c3b565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561055257600080fd5b50600b546102fd906001600160a01b031681565b34801561057257600080fd5b506102cd610581366004611c3b565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156105ab57600080fd5b5061032b60155481565b3480156105c157600080fd5b5061032b6105d0366004611c3b565b6001600160a01b031660009081526002602052604090205490565b3480156105f757600080fd5b5061032b60165481565b34801561060d57600080fd5b5061032b60135481565b34801561062357600080fd5b506000546001600160a01b03166102fd565b34801561064157600080fd5b50610297610d91565b34801561065657600080fd5b506103ca610665366004611ca2565b610da0565b34801561067657600080fd5b506102cd610685366004611bb5565b610dde565b34801561069657600080fd5b506102cd6106a5366004611bb5565b610e2d565b3480156106b657600080fd5b506103ca6106c5366004611ca2565b610e3a565b3480156106d657600080fd5b50600a546102fd906001600160a01b031681565b3480156106f657600080fd5b506103ca610705366004611cd4565b610e78565b34801561071657600080fd5b5061032b60105481565b34801561072c57600080fd5b5061032b60145481565b34801561074257600080fd5b5061032b601a5481565b34801561075857600080fd5b5061032b60195481565b34801561076e57600080fd5b5061032b600f5481565b34801561078457600080fd5b5061032b610793366004611cef565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107ca57600080fd5b506103ca6107d9366004611c3b565b610efa565b3480156107ea57600080fd5b506103ca6107f9366004611c3b565b610f46565b34801561080a57600080fd5b506103ca610819366004611c22565b610f91565b34801561082a57600080fd5b506103ca610839366004611c3b565b610fd7565b34801561084a57600080fd5b5061032b60115481565b60606005805461086390611d28565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611d28565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b60006108f33384846110c1565b5060015b92915050565b600061090a8484846111e6565b61095c8433610957856040518060600160405280602881526020016120a2602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061160a565b6110c1565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108f39185906109579086611636565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016109c690611d62565b60405180910390fd5b6109db6009600a611e91565b6109e59082611ea0565b60195550565b6000546001600160a01b03163314610a155760405162461bcd60e51b81526004016109c690611d62565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c9190611eb7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed9190611eb7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e9190611eb7565b601880546001600160a01b039283166001600160a01b0319918216179091556017805493909216921691909117905550565b6000546001600160a01b03163314610bba5760405162461bcd60e51b81526004016109c690611d62565b610bd933610bca6009600a611e91565b610bd49084611ea0565b611649565b50565b6000546001600160a01b03163314610c065760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610c545760405162461bcd60e51b81526004016109c690611d62565b600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114610ca1576040519150601f19603f3d011682016040523d82523d6000602084013e610ca6565b606091505b5050905080610cec5760405162461bcd60e51b815260206004820152601260248201527108cc2d2d8cac840e8de40e6cadcc8408aa8960731b60448201526064016109c6565b5050565b6000546001600160a01b03163314610d1a5760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d6f5760405162461bcd60e51b81526004016109c690611d62565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b60606006805461086390611d28565b6000546001600160a01b03163314610dca5760405162461bcd60e51b81526004016109c690611d62565b601393909355601491909155601555601655565b60006108f33384610957856040518060600160405280602581526020016120ca602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919061160a565b60006108f33384846111e6565b6000546001600160a01b03163314610e645760405162461bcd60e51b81526004016109c690611d62565b600f93909355601091909155601155601255565b6000546001600160a01b03163314610ea25760405162461bcd60e51b81526004016109c690611d62565b60188054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610eef90831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610f245760405162461bcd60e51b81526004016109c690611d62565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f705760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b03163314610fbb5760405162461bcd60e51b81526004016109c690611d62565b610fc76009600a611e91565b610fd19082611ea0565b601a5550565b6000546001600160a01b031633146110015760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b0381166110665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109c6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166111235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109c6565b6001600160a01b0382166111845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109c6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661120c5760405162461bcd60e51b81526004016109c690611ed4565b6001600160a01b0382166112325760405162461bcd60e51b81526004016109c690611f19565b600081116112945760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016109c6565b6000546001600160a01b038481169116148015906112bb57506001600160a01b0382163014155b80156112d257506001600160a01b03821661dead14155b80156112ec57506018546001600160a01b03838116911614155b15611387576001600160a01b03821660009081526002602090815260408083205460089092529091205460ff168061132f575060195461132c8383611f5c565b11155b6113855760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564206d61782077616c6c657420686f6c64696e6044820152606760f81b60648201526084016109c6565b505b30600090815260026020526040902054601a54811080159081906113b55750601854600160a01b900460ff16155b80156113cf57506018546001600160a01b03868116911614155b80156113e45750601854600160a81b900460ff165b156113f757601a5491506113f782611754565b6001600160a01b03851660009081526007602052604090205460019060ff168061143957506001600160a01b03851660009081526007602052604090205460ff165b15611451576114498686866117fb565b506000611602565b6018546001600160a01b039081169087160361156757600061148a6103e8611484600f548861190790919063ffffffff16565b90611913565b905060006114a96103e86114846010548961190790919063ffffffff16565b905060006114c86103e86114846011548a61190790919063ffffffff16565b905060006114e76103e86114846012548b61190790919063ffffffff16565b9050611509611502826114fc85818989611636565b90611636565b899061191f565b97506115168a30866117fb565b60095461152e908b906001600160a01b0316856117fb565b600b54611546908b906001600160a01b0316846117fb565b6115538a61dead836117fb565b61155e8a8a8a6117fb565b50505050611602565b6018546001600160a01b03908116908616036115f757600061159a6103e86114846013548861190790919063ffffffff16565b905060006115b96103e86114846014548961190790919063ffffffff16565b905060006115d86103e86114846015548a61190790919063ffffffff16565b905060006114e76103e86114846016548b61190790919063ffffffff16565b6116028686866117fb565b505050505050565b6000818484111561162e5760405162461bcd60e51b81526004016109c69190611b52565b505050900390565b60006116428284611f5c565b9392505050565b6001600160a01b0382166116a95760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016109c6565b6116e68160405180606001604052806022815260200161205a602291396001600160a01b038516600090815260026020526040902054919061160a565b6001600160a01b03831660009081526002602052604090205560045461170c908261191f565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6018805460ff60a01b1916600160a01b1790556000611774826002611913565b90506000611782838361191f565b90504761178e8361192b565b600061179a478361191f565b90506117a68382611a7d565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506018805460ff60a01b19169055505050565b6001600160a01b0383166118215760405162461bcd60e51b81526004016109c690611ed4565b6001600160a01b0382166118475760405162461bcd60e51b81526004016109c690611f19565b6118848160405180606001604052806026815260200161207c602691396001600160a01b038616600090815260026020526040902054919061160a565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546118b39082611636565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d99085815260200190565b60006116428284611ea0565b60006116428284611f6f565b60006116428284611f91565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061196057611960611fa4565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dd9190611eb7565b816001815181106119f0576119f0611fa4565b6001600160a01b039283166020918202929092010152601754611a1691309116846110c1565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a4f908590600090869030904290600401611fba565b600060405180830381600087803b158015611a6957600080fd5b505af1158015611602573d6000803e3d6000fd5b601754611a959030906001600160a01b0316846110c1565b6017546001600160a01b031663f305d719823085600080611abe6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611b26573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b4b919061202b565b5050505050565b600060208083528351808285015260005b81811015611b7f57858101830151858201604001528201611b63565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bd957600080fd5b60008060408385031215611bc857600080fd5b8235611bd381611ba0565b946020939093013593505050565b600080600060608486031215611bf657600080fd5b8335611c0181611ba0565b92506020840135611c1181611ba0565b929592945050506040919091013590565b600060208284031215611c3457600080fd5b5035919050565b600060208284031215611c4d57600080fd5b813561164281611ba0565b80358015158114611c6857600080fd5b919050565b60008060408385031215611c8057600080fd5b8235611c8b81611ba0565b9150611c9960208401611c58565b90509250929050565b60008060008060808587031215611cb857600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611ce657600080fd5b61164282611c58565b60008060408385031215611d0257600080fd5b8235611d0d81611ba0565b91506020830135611d1d81611ba0565b809150509250929050565b600181811c90821680611d3c57607f821691505b602082108103611d5c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611de8578160001904821115611dce57611dce611d97565b80851615611ddb57918102915b93841c9390800290611db2565b509250929050565b600082611dff575060016108f7565b81611e0c575060006108f7565b8160018114611e225760028114611e2c57611e48565b60019150506108f7565b60ff841115611e3d57611e3d611d97565b50506001821b6108f7565b5060208310610133831016604e8410600b8410161715611e6b575081810a6108f7565b611e758383611dad565b8060001904821115611e8957611e89611d97565b029392505050565b600061164260ff841683611df0565b80820281158282048414176108f7576108f7611d97565b600060208284031215611ec957600080fd5b815161164281611ba0565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b808201808211156108f7576108f7611d97565b600082611f8c57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108f7576108f7611d97565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561200a5784516001600160a01b031683529383019391830191600101611fe5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561204057600080fd5b835192506020840151915060408401519050925092509256fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a7a45634090972d0dcc8dd439493fe8177df4af1a89edae7794aaa6a17f36bb764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102765760003560e01c80636edb091d1161014f578063c49b9a80116100c1578063dd62ed3e1161007a578063dd62ed3e14610778578063e9233154146107be578063ea2f0b37146107de578063f0f165af146107fe578063f2fde38b1461081e578063f761920c1461083e57600080fd5b8063c49b9a80146106ea578063c5d241891461070a578063c860795214610720578063d12a768814610736578063d4a5af841461074c578063dc44b6a01461076257600080fd5b806395d89b411161011357806395d89b41146106355780639d854b631461064a578063a457c2d71461066a578063a9059cbb1461068a578063afee32a9146106aa578063b425bac3146106ca57600080fd5b80636edb091d1461059f57806370a08231146105b55780637abdc1ca146105eb57806388790a68146106015780638da5cb5b1461061757600080fd5b806342966c68116101e85780634a74bb02116101ac5780634a74bb02146104ac5780634cb80fd5146104cd578063506757c0146104ed5780635342acb41461050d578063550f66f5146105465780636dd3d39f1461056657600080fd5b806342966c681461040c578063437823ec1461042c578063456b10a51461044c57806348eb61b61461046c57806349bd5a5e1461048c57600080fd5b806323b872dd1161023a57806323b872dd1461034e578063313ce5671461036e578063395093511461038a5780633a9e00de146103aa5780634144d9e4146103cc57806341cb87fc146103ec57600080fd5b806306fdde0314610282578063095ea7b3146102ad5780631694505e146102dd57806316f2f1a81461031557806318160ddd1461033957600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610854565b6040516102a49190611b52565b60405180910390f35b3480156102b957600080fd5b506102cd6102c8366004611bb5565b6108e6565b60405190151581526020016102a4565b3480156102e957600080fd5b506017546102fd906001600160a01b031681565b6040516001600160a01b0390911681526020016102a4565b34801561032157600080fd5b5061032b60125481565b6040519081526020016102a4565b34801561034557600080fd5b5060045461032b565b34801561035a57600080fd5b506102cd610369366004611be1565b6108fd565b34801561037a57600080fd5b50604051600981526020016102a4565b34801561039657600080fd5b506102cd6103a5366004611bb5565b610966565b3480156103b657600080fd5b506103ca6103c5366004611c22565b61099c565b005b3480156103d857600080fd5b506009546102fd906001600160a01b031681565b3480156103f857600080fd5b506103ca610407366004611c3b565b6109eb565b34801561041857600080fd5b506103ca610427366004611c22565b610b90565b34801561043857600080fd5b506103ca610447366004611c3b565b610bdc565b34801561045857600080fd5b506103ca610467366004611c22565b610c2a565b34801561047857600080fd5b506103ca610487366004611c6d565b610cf0565b34801561049857600080fd5b506018546102fd906001600160a01b031681565b3480156104b857600080fd5b506018546102cd90600160a81b900460ff1681565b3480156104d957600080fd5b506103ca6104e8366004611c3b565b610d45565b3480156104f957600080fd5b50600c546102fd906001600160a01b031681565b34801561051957600080fd5b506102cd610528366004611c3b565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561055257600080fd5b50600b546102fd906001600160a01b031681565b34801561057257600080fd5b506102cd610581366004611c3b565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156105ab57600080fd5b5061032b60155481565b3480156105c157600080fd5b5061032b6105d0366004611c3b565b6001600160a01b031660009081526002602052604090205490565b3480156105f757600080fd5b5061032b60165481565b34801561060d57600080fd5b5061032b60135481565b34801561062357600080fd5b506000546001600160a01b03166102fd565b34801561064157600080fd5b50610297610d91565b34801561065657600080fd5b506103ca610665366004611ca2565b610da0565b34801561067657600080fd5b506102cd610685366004611bb5565b610dde565b34801561069657600080fd5b506102cd6106a5366004611bb5565b610e2d565b3480156106b657600080fd5b506103ca6106c5366004611ca2565b610e3a565b3480156106d657600080fd5b50600a546102fd906001600160a01b031681565b3480156106f657600080fd5b506103ca610705366004611cd4565b610e78565b34801561071657600080fd5b5061032b60105481565b34801561072c57600080fd5b5061032b60145481565b34801561074257600080fd5b5061032b601a5481565b34801561075857600080fd5b5061032b60195481565b34801561076e57600080fd5b5061032b600f5481565b34801561078457600080fd5b5061032b610793366004611cef565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107ca57600080fd5b506103ca6107d9366004611c3b565b610efa565b3480156107ea57600080fd5b506103ca6107f9366004611c3b565b610f46565b34801561080a57600080fd5b506103ca610819366004611c22565b610f91565b34801561082a57600080fd5b506103ca610839366004611c3b565b610fd7565b34801561084a57600080fd5b5061032b60115481565b60606005805461086390611d28565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611d28565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b60006108f33384846110c1565b5060015b92915050565b600061090a8484846111e6565b61095c8433610957856040518060600160405280602881526020016120a2602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061160a565b6110c1565b5060019392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916108f39185906109579086611636565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016109c690611d62565b60405180910390fd5b6109db6009600a611e91565b6109e59082611ea0565b60195550565b6000546001600160a01b03163314610a155760405162461bcd60e51b81526004016109c690611d62565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c9190611eb7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed9190611eb7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e9190611eb7565b601880546001600160a01b039283166001600160a01b0319918216179091556017805493909216921691909117905550565b6000546001600160a01b03163314610bba5760405162461bcd60e51b81526004016109c690611d62565b610bd933610bca6009600a611e91565b610bd49084611ea0565b611649565b50565b6000546001600160a01b03163314610c065760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610c545760405162461bcd60e51b81526004016109c690611d62565b600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114610ca1576040519150601f19603f3d011682016040523d82523d6000602084013e610ca6565b606091505b5050905080610cec5760405162461bcd60e51b815260206004820152601260248201527108cc2d2d8cac840e8de40e6cadcc8408aa8960731b60448201526064016109c6565b5050565b6000546001600160a01b03163314610d1a5760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d6f5760405162461bcd60e51b81526004016109c690611d62565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b60606006805461086390611d28565b6000546001600160a01b03163314610dca5760405162461bcd60e51b81526004016109c690611d62565b601393909355601491909155601555601655565b60006108f33384610957856040518060600160405280602581526020016120ca602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919061160a565b60006108f33384846111e6565b6000546001600160a01b03163314610e645760405162461bcd60e51b81526004016109c690611d62565b600f93909355601091909155601155601255565b6000546001600160a01b03163314610ea25760405162461bcd60e51b81526004016109c690611d62565b60188054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610eef90831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610f245760405162461bcd60e51b81526004016109c690611d62565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610f705760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b03163314610fbb5760405162461bcd60e51b81526004016109c690611d62565b610fc76009600a611e91565b610fd19082611ea0565b601a5550565b6000546001600160a01b031633146110015760405162461bcd60e51b81526004016109c690611d62565b6001600160a01b0381166110665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109c6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166111235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109c6565b6001600160a01b0382166111845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109c6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661120c5760405162461bcd60e51b81526004016109c690611ed4565b6001600160a01b0382166112325760405162461bcd60e51b81526004016109c690611f19565b600081116112945760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016109c6565b6000546001600160a01b038481169116148015906112bb57506001600160a01b0382163014155b80156112d257506001600160a01b03821661dead14155b80156112ec57506018546001600160a01b03838116911614155b15611387576001600160a01b03821660009081526002602090815260408083205460089092529091205460ff168061132f575060195461132c8383611f5c565b11155b6113855760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564206d61782077616c6c657420686f6c64696e6044820152606760f81b60648201526084016109c6565b505b30600090815260026020526040902054601a54811080159081906113b55750601854600160a01b900460ff16155b80156113cf57506018546001600160a01b03868116911614155b80156113e45750601854600160a81b900460ff165b156113f757601a5491506113f782611754565b6001600160a01b03851660009081526007602052604090205460019060ff168061143957506001600160a01b03851660009081526007602052604090205460ff165b15611451576114498686866117fb565b506000611602565b6018546001600160a01b039081169087160361156757600061148a6103e8611484600f548861190790919063ffffffff16565b90611913565b905060006114a96103e86114846010548961190790919063ffffffff16565b905060006114c86103e86114846011548a61190790919063ffffffff16565b905060006114e76103e86114846012548b61190790919063ffffffff16565b9050611509611502826114fc85818989611636565b90611636565b899061191f565b97506115168a30866117fb565b60095461152e908b906001600160a01b0316856117fb565b600b54611546908b906001600160a01b0316846117fb565b6115538a61dead836117fb565b61155e8a8a8a6117fb565b50505050611602565b6018546001600160a01b03908116908616036115f757600061159a6103e86114846013548861190790919063ffffffff16565b905060006115b96103e86114846014548961190790919063ffffffff16565b905060006115d86103e86114846015548a61190790919063ffffffff16565b905060006114e76103e86114846016548b61190790919063ffffffff16565b6116028686866117fb565b505050505050565b6000818484111561162e5760405162461bcd60e51b81526004016109c69190611b52565b505050900390565b60006116428284611f5c565b9392505050565b6001600160a01b0382166116a95760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016109c6565b6116e68160405180606001604052806022815260200161205a602291396001600160a01b038516600090815260026020526040902054919061160a565b6001600160a01b03831660009081526002602052604090205560045461170c908261191f565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6018805460ff60a01b1916600160a01b1790556000611774826002611913565b90506000611782838361191f565b90504761178e8361192b565b600061179a478361191f565b90506117a68382611a7d565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506018805460ff60a01b19169055505050565b6001600160a01b0383166118215760405162461bcd60e51b81526004016109c690611ed4565b6001600160a01b0382166118475760405162461bcd60e51b81526004016109c690611f19565b6118848160405180606001604052806026815260200161207c602691396001600160a01b038616600090815260026020526040902054919061160a565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546118b39082611636565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d99085815260200190565b60006116428284611ea0565b60006116428284611f6f565b60006116428284611f91565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061196057611960611fa4565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dd9190611eb7565b816001815181106119f0576119f0611fa4565b6001600160a01b039283166020918202929092010152601754611a1691309116846110c1565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a4f908590600090869030904290600401611fba565b600060405180830381600087803b158015611a6957600080fd5b505af1158015611602573d6000803e3d6000fd5b601754611a959030906001600160a01b0316846110c1565b6017546001600160a01b031663f305d719823085600080611abe6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611b26573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b4b919061202b565b5050505050565b600060208083528351808285015260005b81811015611b7f57858101830151858201604001528201611b63565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bd957600080fd5b60008060408385031215611bc857600080fd5b8235611bd381611ba0565b946020939093013593505050565b600080600060608486031215611bf657600080fd5b8335611c0181611ba0565b92506020840135611c1181611ba0565b929592945050506040919091013590565b600060208284031215611c3457600080fd5b5035919050565b600060208284031215611c4d57600080fd5b813561164281611ba0565b80358015158114611c6857600080fd5b919050565b60008060408385031215611c8057600080fd5b8235611c8b81611ba0565b9150611c9960208401611c58565b90509250929050565b60008060008060808587031215611cb857600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611ce657600080fd5b61164282611c58565b60008060408385031215611d0257600080fd5b8235611d0d81611ba0565b91506020830135611d1d81611ba0565b809150509250929050565b600181811c90821680611d3c57607f821691505b602082108103611d5c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611de8578160001904821115611dce57611dce611d97565b80851615611ddb57918102915b93841c9390800290611db2565b509250929050565b600082611dff575060016108f7565b81611e0c575060006108f7565b8160018114611e225760028114611e2c57611e48565b60019150506108f7565b60ff841115611e3d57611e3d611d97565b50506001821b6108f7565b5060208310610133831016604e8410600b8410161715611e6b575081810a6108f7565b611e758383611dad565b8060001904821115611e8957611e89611d97565b029392505050565b600061164260ff841683611df0565b80820281158282048414176108f7576108f7611d97565b600060208284031215611ec957600080fd5b815161164281611ba0565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b808201808211156108f7576108f7611d97565b600082611f8c57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108f7576108f7611d97565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561200a5784516001600160a01b031683529383019391830191600101611fe5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561204057600080fd5b835192506020840151915060408401519050925092509256fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a7a45634090972d0dcc8dd439493fe8177df4af1a89edae7794aaa6a17f36bb764736f6c63430008130033

Deployed Bytecode Sourcemap

9083:11901:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3850:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4852:181;;;;;;;;;;-1:-1:-1;4852:181:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4852:181:0;1023:187:1;10042:41:0;;;;;;;;;;-1:-1:-1;10042:41:0;;;;-1:-1:-1;;;;;10042:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;10042:41:0;1215:229:1;9804:30:0;;;;;;;;;;;;;;;;;;;1595:25:1;;;1583:2;1568:18;9804:30:0;1449:177:1;4206:116:0;;;;;;;;;;-1:-1:-1;4298:12:0;;4206:116;;5045:387;;;;;;;;;;-1:-1:-1;5045:387:0;;;;;:::i;:::-;;:::i;4094:100::-;;;;;;;;;;-1:-1:-1;4094:100:0;;4181:1;2234:36:1;;2222:2;2207:18;4094:100:0;2092:184:1;5444:230:0;;;;;;;;;;-1:-1:-1;5444:230:0;;;;;:::i;:::-;;:::i;14995:153::-;;;;;;;;;;-1:-1:-1;14995:153:0;;;;;:::i;:::-;;:::i;:::-;;9302:38;;;;;;;;;;-1:-1:-1;9302:38:0;;;;-1:-1:-1;;;;;9302:38:0;;;15162:334;;;;;;;;;;-1:-1:-1;15162:334:0;;;;;:::i;:::-;;:::i;13139:117::-;;;;;;;;;;-1:-1:-1;13139:117:0;;;;;:::i;:::-;;:::i;13268:119::-;;;;;;;;;;-1:-1:-1;13268:119:0;;;;;:::i;:::-;;:::i;15754:189::-;;;;;;;;;;-1:-1:-1;15754:189:0;;;;;:::i;:::-;;:::i;13539:155::-;;;;;;;;;;-1:-1:-1;13539:155:0;;;;;:::i;:::-;;:::i;10094:28::-;;;;;;;;;;-1:-1:-1;10094:28:0;;;;-1:-1:-1;;;;;10094:28:0;;;10165:40;;;;;;;;;;-1:-1:-1;10165:40:0;;;;-1:-1:-1;;;10165:40:0;;;;;;14543:127;;;;;;;;;;-1:-1:-1;14543:127:0;;;;;:::i;:::-;;:::i;9446:30::-;;;;;;;;;;-1:-1:-1;9446:30:0;;;;-1:-1:-1;;;;;9446:30:0;;;15955:131;;;;;;;;;;-1:-1:-1;15955:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;16047:27:0;16019:4;16047:27;;;:18;:27;;;;;;;;;15955:131;9398:37;;;;;;;;;;-1:-1:-1;9398:37:0;;;;-1:-1:-1;;;;;9398:37:0;;;13707:143;;;;;;;;;;-1:-1:-1;13707:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;13804:33:0;13777:4;13804:33;;;:24;:33;;;;;;;;;13707:143;9947:36;;;;;;;;;;;;;;;;4335:135;;;;;;;;;;-1:-1:-1;4335:135:0;;;;;:::i;:::-;-1:-1:-1;;;;;4440:18:0;4409:7;4440:18;;;:9;:18;;;;;;;4335:135;9994:31;;;;;;;;;;;;;;;;9849:37;;;;;;;;;;;;;;;;2581:95;;;;;;;;;;-1:-1:-1;2627:7:0;2658:6;-1:-1:-1;;;;;2658:6:0;2581:95;;3970:112;;;;;;;;;;;;;:::i;13862:331::-;;;;;;;;;;-1:-1:-1;13862:331:0;;;;;:::i;:::-;;:::i;5686:281::-;;;;;;;;;;-1:-1:-1;5686:281:0;;;;;:::i;:::-;;:::i;4482:187::-;;;;;;;;;;-1:-1:-1;4482:187:0;;;;;:::i;:::-;;:::i;14205:326::-;;;;;;;;;;-1:-1:-1;14205:326:0;;;;;:::i;:::-;;:::i;9351:32::-;;;;;;;;;;-1:-1:-1;9351:32:0;;;;-1:-1:-1;;;;;9351:32:0;;;15508:185;;;;;;;;;;-1:-1:-1;15508:185:0;;;;;:::i;:::-;;:::i;9707:36::-;;;;;;;;;;;;;;;;9898:37;;;;;;;;;;;;;;;;10259:44;;;;;;;;;;;;;;;;10216:32;;;;;;;;;;;;;;;;9658:36;;;;;;;;;;;;;;;;4681:159;;;;;;;;;;-1:-1:-1;4681:159:0;;;;;:::i;:::-;-1:-1:-1;;;;;4801:18:0;;;4770:7;4801:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4681:159;14684:125;;;;;;;;;;-1:-1:-1;14684:125:0;;;;;:::i;:::-;;:::i;13407:118::-;;;;;;;;;;-1:-1:-1;13407:118:0;;;;;:::i;:::-;;:::i;14821:161::-;;;;;;;;;;-1:-1:-1;14821:161:0;;;;;:::i;:::-;;:::i;2848:260::-;;;;;;;;;;-1:-1:-1;2848:260:0;;;;;:::i;:::-;;:::i;9756:35::-;;;;;;;;;;;;;;;;3850:108;3904:13;3941:5;3934:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3850:108;:::o;4852:181::-;4935:4;4956:39;1923:10;4979:7;4988:6;4956:8;:39::i;:::-;-1:-1:-1;5017:4:0;4852:181;;;;;:::o;5045:387::-;5201:4;5222:36;5232:6;5240:9;5251:6;5222:9;:36::i;:::-;5273:121;5282:6;1923:10;5304:89;5342:6;5304:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5304:19:0;;;;;;:11;:19;;;;;;;;1923:10;5304:33;;;;;;;;;;:37;:89::i;:::-;5273:8;:121::i;:::-;-1:-1:-1;5416:4:0;5045:387;;;;;:::o;5444:230::-;1923:10;5532:4;5585:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5585:34:0;;;;;;;;;;5532:4;;5553:83;;5576:7;;5585:50;;5624:10;5585:38;:50::i;14995:153::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;;;;;;;;;15121:15:::1;4181:1:::0;15121:2:::1;:15;:::i;:::-;15101:35;::::0;:17;:35:::1;:::i;:::-;15081:17;:55:::0;-1:-1:-1;14995:153:0:o;15162:334::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;15241:35:::1;15298:9;15241:67;;15357:16;-1:-1:-1::0;;;;;15357:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15339:56:0::1;;15404:4;15411:16;-1:-1:-1::0;;;;;15411:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15339:96;::::0;-1:-1:-1;;;;;;15339:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7299:15:1;;;15339:96:0::1;::::0;::::1;7281:34:1::0;7351:15;;7331:18;;;7324:43;7216:18;;15339:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15323:13;:112:::0;;-1:-1:-1;;;;;15323:112:0;;::::1;-1:-1:-1::0;;;;;;15323:112:0;;::::1;;::::0;;;15450:15:::1;:34:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;-1:-1:-1;15162:334:0:o;13139:117::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;13200:44:::1;13206:10;13227:16;4181:1:::0;13227:2:::1;:16;:::i;:::-;13218:25;::::0;:6;:25:::1;:::i;:::-;13200:5;:44::i;:::-;13139:117:::0;:::o;13268:119::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13341:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;13341:34:0::1;13371:4;13341:34;::::0;;13268:119::o;15754:189::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;15829:9:::1;15843:6:::0;;:30:::1;::::0;-1:-1:-1;;;;;15843:6:0;;::::1;::::0;15862;;15829:9;15843:30;15829:9;15843:30;15862:6;15843;:30:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15828:45;;;15896:4;15888:35;;;::::0;-1:-1:-1;;;15888:35:0;;7790:2:1;15888:35:0::1;::::0;::::1;7772:21:1::0;7829:2;7809:18;;;7802:30;-1:-1:-1;;;7848:18:1;;;7841:48;7906:18;;15888:35:0::1;7588:342:1::0;15888:35:0::1;15813:130;15754:189:::0;:::o;13539:155::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13641:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:41;;-1:-1:-1;;13641:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13539:155::o;14543:127::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;14627:23:::1;:31:::0;;-1:-1:-1;;;;;;14627:31:0::1;-1:-1:-1::0;;;;;14627:31:0;;;::::1;::::0;;;::::1;::::0;;14543:127::o;3970:112::-;4026:13;4063:7;4056:14;;;;;:::i;13862:331::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;14044:17:::1;:24:::0;;;;14083:17:::1;:24:::0;;;;14122:16:::1;:24:::0;14161:12:::1;:20:::0;13862:331::o;5686:281::-;5779:4;5800:129;1923:10;5823:7;5832:96;5871:15;5832:96;;;;;;;;;;;;;;;;;1923:10;5832:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5832:34:0;;;;;;;;;;;;:38;:96::i;4482:187::-;4568:4;4589:42;1923:10;4613:9;4624:6;4589:9;:42::i;14205:326::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;14386:16:::1;:23:::0;;;;14424:16:::1;:23:::0;;;;14462:15:::1;:23:::0;14500:11:::1;:19:::0;14205:326::o;15508:185::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;15591:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;15591:32:0::1;-1:-1:-1::0;;;;15591:32:0;;::::1;;::::0;;15643:38:::1;::::0;::::1;::::0;::::1;::::0;15615:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;15643:38:0::1;;;;;;;;15508:185:::0;:::o;14684:125::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;14767:22:::1;:30:::0;;-1:-1:-1;;;;;;14767:30:0::1;-1:-1:-1::0;;;;;14767:30:0;;;::::1;::::0;;;::::1;::::0;;14684:125::o;13407:118::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13478:27:0::1;13508:5;13478:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;13478:35:0::1;::::0;;13407:118::o;14821:161::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;14954:16:::1;4181:1:::0;14954:2:::1;:16;:::i;:::-;14945:25;::::0;:6;:25:::1;:::i;:::-;14913:29;:57:::0;-1:-1:-1;14821:161:0:o;2848:260::-;2627:7;2658:6;-1:-1:-1;;;;;2658:6:0;1923:10;2740:23;2732:68;;;;-1:-1:-1;;;2732:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2941:22:0;::::1;2933:73;;;::::0;-1:-1:-1;;;2933:73:0;;8137:2:1;2933:73:0::1;::::0;::::1;8119:21:1::0;8176:2;8156:18;;;8149:30;8215:34;8195:18;;;8188:62;-1:-1:-1;;;8266:18:1;;;8259:36;8312:19;;2933:73:0::1;7935:402:1::0;2933:73:0::1;3047:6;::::0;;3026:38:::1;::::0;-1:-1:-1;;;;;3026:38:0;;::::1;::::0;3047:6;::::1;::::0;3026:38:::1;::::0;::::1;3079:6;:17:::0;;-1:-1:-1;;;;;;3079:17:0::1;-1:-1:-1::0;;;;;3079:17:0;;;::::1;::::0;;;::::1;::::0;;2848:260::o;7476:416::-;-1:-1:-1;;;;;7632:19:0;;7624:68;;;;-1:-1:-1;;;7624:68:0;;8544:2:1;7624:68:0;;;8526:21:1;8583:2;8563:18;;;8556:30;8622:34;8602:18;;;8595:62;-1:-1:-1;;;8673:18:1;;;8666:34;8717:19;;7624:68:0;8342:400:1;7624:68:0;-1:-1:-1;;;;;7715:21:0;;7707:68;;;;-1:-1:-1;;;7707:68:0;;8949:2:1;7707:68:0;;;8931:21:1;8988:2;8968:18;;;8961:30;9027:34;9007:18;;;9000:62;-1:-1:-1;;;9078:18:1;;;9071:32;9120:19;;7707:68:0;8747:398:1;7707:68:0;-1:-1:-1;;;;;7792:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7848:32;;1595:25:1;;;7848:32:0;;1568:18:1;7848:32:0;;;;;;;;7476:416;;;:::o;16098:3345::-;-1:-1:-1;;;;;16250:18:0;;16242:68;;;;-1:-1:-1;;;16242:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16333:16:0;;16325:64;;;;-1:-1:-1;;;16325:64:0;;;;;;;:::i;:::-;16421:1;16412:6;:10;16404:64;;;;-1:-1:-1;;;16404:64:0;;10162:2:1;16404:64:0;;;10144:21:1;10201:2;10181:18;;;10174:30;10240:34;10220:18;;;10213:62;-1:-1:-1;;;10291:18:1;;;10284:39;10340:19;;16404:64:0;9960:405:1;16404:64:0;2627:7;2658:6;-1:-1:-1;;;;;16513:15:0;;;2658:6;;16513:15;;;;:51;;-1:-1:-1;;;;;;16545:19:0;;16559:4;16545:19;;16513:51;:86;;;;-1:-1:-1;;;;;;16581:18:0;;9601:42;16581:18;;16513:86;:122;;;;-1:-1:-1;16622:13:0;;-1:-1:-1;;;;;16616:19:0;;;16622:13;;16616:19;;16513:122;16495:386;;;-1:-1:-1;;;;;4440:18:0;;16667:22;4440:18;;;:9;:18;;;;;;;;;16728:24;:28;;;;;;;;;;:78;;-1:-1:-1;16788:17:0;;16761:23;16778:6;16761:14;:23;:::i;:::-;:44;;16728:78;16720:145;;;;-1:-1:-1;;;16720:145:0;;10702:2:1;16720:145:0;;;10684:21:1;10741:2;10721:18;;;10714:30;10780:34;10760:18;;;10753:62;-1:-1:-1;;;10831:18:1;;;10824:31;10872:19;;16720:145:0;10500:397:1;16720:145:0;16652:229;16495:386;16946:4;16897:28;4440:18;;;:9;:18;;;;;;17019:29;;16995:53;;;;;;;17085:57;;-1:-1:-1;17126:16:0;;-1:-1:-1;;;17126:16:0;;;;17125:17;17085:57;:99;;;;-1:-1:-1;17171:13:0;;-1:-1:-1;;;;;17163:21:0;;;17171:13;;17163:21;;17085:99;:141;;;;-1:-1:-1;17205:21:0;;-1:-1:-1;;;17205:21:0;;;;17085:141;17063:321;;;17284:29;;17261:52;;17332:36;17347:20;17332:14;:36::i;:::-;-1:-1:-1;;;;;17434:24:0;;17400:12;17434:24;;;:18;:24;;;;;;17415:4;;17434:24;;;:50;;-1:-1:-1;;;;;;17462:22:0;;;;;;:18;:22;;;;;;;;17434:50;17430:2000;;;17501:33;17517:4;17523:2;17527:6;17501:15;:33::i;:::-;-1:-1:-1;17559:5:0;17430:2000;;;17611:13;;-1:-1:-1;;;;;17611:13:0;;;17603:21;;;;17599:1810;;17669:23;17695:38;17728:4;17695:28;17706:16;;17695:6;:10;;:28;;;;:::i;:::-;:32;;:38::i;:::-;17669:64;;17752:23;17778:38;17811:4;17778:28;17789:16;;17778:6;:10;;:28;;;;:::i;:38::-;17752:64;;17835:22;17860:37;17892:4;17860:27;17871:15;;17860:6;:10;;:27;;;;:::i;:37::-;17835:62;;17916:18;17937:33;17965:4;17937:23;17948:11;;17937:6;:10;;:23;;;;:::i;:33::-;17916:54;-1:-1:-1;17997:84:0;18008:72;17916:54;18008:56;18049:14;18008:56;:15;18028;18008:19;:36::i;:::-;:40;;:56::i;:72::-;17997:6;;:10;:84::i;:::-;17989:92;;18100:53;18116:4;18130;18137:15;18100;:53::i;:::-;18194:23;;18172:62;;18188:4;;-1:-1:-1;;;;;18194:23:0;18218:15;18172;:62::i;:::-;18275:22;;18253:61;;18269:4;;-1:-1:-1;;;;;18275:22:0;18299:14;18253:15;:61::i;:::-;18333:46;18349:4;9601:42;18368:10;18333:15;:46::i;:::-;18398:33;18414:4;18420:2;18424:6;18398:15;:33::i;:::-;17626:823;;;;17599:1810;;;18465:13;;-1:-1:-1;;;;;18465:13:0;;;18459:19;;;;18455:954;;18524:23;18550:39;18584:4;18550:29;18561:17;;18550:6;:10;;:29;;;;:::i;:39::-;18524:65;;18608:23;18634:39;18668:4;18634:29;18645:17;;18634:6;:10;;:29;;;;:::i;:39::-;18608:65;;18692:22;18717:38;18750:4;18717:28;18728:16;;18717:6;:10;;:28;;;;:::i;:38::-;18692:63;;18774:18;18795:34;18824:4;18795:24;18806:12;;18795:6;:10;;:24;;;;:::i;18455:954::-;19360:33;19376:4;19382:2;19386:6;19360:15;:33::i;:::-;16227:3216;;;16098:3345;;;:::o;1316:226::-;1402:7;1471:12;1463:6;;;;1455:29;;;;-1:-1:-1;;;1455:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1510:5:0;;;1316:226::o;852:106::-;910:7;941:5;945:1;941;:5;:::i;:::-;934:12;852:106;-1:-1:-1;;;852:106:0:o;7022:442::-;-1:-1:-1;;;;;7110:21:0;;7102:67;;;;-1:-1:-1;;;7102:67:0;;11104:2:1;7102:67:0;;;11086:21:1;11143:2;11123:18;;;11116:30;11182:34;11162:18;;;11155:62;-1:-1:-1;;;11233:18:1;;;11226:31;11274:19;;7102:67:0;10902:397:1;7102:67:0;7273:68;7296:6;7273:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7273:18:0;;;;;;:9;:18;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;7252:18:0;;;;;;:9;:18;;;;;:89;7371:12;;:24;;7388:6;7371:16;:24::i;:::-;7356:12;:39;7415:37;;1595:25:1;;;7441:1:0;;-1:-1:-1;;;;;7415:37:0;;;;;1583:2:1;1568:18;7415:37:0;;;;;;;7022:442;;:::o;19455:497::-;10644:16;:23;;-1:-1:-1;;;;10644:23:0;-1:-1:-1;;;10644:23:0;;;;19559:27:::1;:20:::0;19584:1:::1;19559:24;:27::i;:::-;19544:42:::0;-1:-1:-1;19601:17:0::1;19621:30;:20:::0;19544:42;19621:24:::1;:30::i;:::-;19601:50:::0;-1:-1:-1;19691:21:0::1;19727:22;19744:4:::0;19727:16:::1;:22::i;:::-;19765:18;19786:41;:21;19812:14:::0;19786:25:::1;:41::i;:::-;19765:62;;19842:35;19855:9;19866:10;19842:12;:35::i;:::-;19897:43;::::0;;11506:25:1;;;11562:2;11547:18;;11540:34;;;11590:18;;;11583:34;;;19897:43:0::1;::::0;11494:2:1;11479:18;19897:43:0::1;;;;;;;-1:-1:-1::0;;10698:16:0;:24;;-1:-1:-1;;;;10698:24:0;;;-1:-1:-1;;;19455:497:0:o;5979:617::-;-1:-1:-1;;;;;6139:20:0;;6131:70;;;;-1:-1:-1;;;6131:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6224:23:0;;6216:71;;;;-1:-1:-1;;;6216:71:0;;;;;;;:::i;:::-;6388;6410:6;6388:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6388:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;6368:17:0;;;;;;;:9;:17;;;;;;:91;;;;6497:20;;;;;;;:32;;6522:6;6497:24;:32::i;:::-;-1:-1:-1;;;;;6474:20:0;;;;;;;:9;:20;;;;;;;:55;;;;6549:35;;;;;;;;;;6577:6;1595:25:1;;1583:2;1568:18;;1449:177;1084:106:0;1142:7;1173:5;1177:1;1173;:5;:::i;1200:106::-;1258:7;1289:5;1293:1;1289;:5;:::i;968:106::-;1026:7;1057:5;1061:1;1057;:5;:::i;19964:547::-;20058:16;;;20072:1;20058:16;;;;;;;;20034:21;;20058:16;;;;;;;;;;-1:-1:-1;20058:16:0;20034:40;;20107:4;20089;20094:1;20089:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20089:23:0;;;:7;;;;;;;;;;:23;;;;20137:15;;:22;;;-1:-1:-1;;;20137:22:0;;;;:15;;;;;:20;;:22;;;;;20089:7;;20137:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20127:4;20132:1;20127:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20127:32:0;;;:7;;;;;;;;;:32;20206:15;;20174:62;;20191:4;;20206:15;20224:11;20174:8;:62::i;:::-;20251:15;;:248;;-1:-1:-1;;;20251:248:0;;-1:-1:-1;;;;;20251:15:0;;;;:66;;:248;;20336:11;;20251:15;;20414:4;;20445;;20469:15;;20251:248;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20523:454;20640:15;;20608:62;;20625:4;;-1:-1:-1;;;;;20640:15:0;20658:11;20608:8;:62::i;:::-;20685:15;;-1:-1:-1;;;;;20685:15:0;:31;20724:9;20761:4;20785:11;20685:15;;20909:7;2627;2658:6;-1:-1:-1;;;;;2658:6:0;;2581:95;20909:7;20685:280;;;;;;-1:-1:-1;;;;;;20685:280:0;;;-1:-1:-1;;;;;13591:15:1;;;20685:280:0;;;13573:34:1;13623:18;;;13616:34;;;;13666:18;;;13659:34;;;;13709:18;;;13702:34;13773:15;;;13752:19;;;13745:44;20935:15:0;13805:19:1;;;13798:35;13507:19;;20685:280:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20523:454;;:::o;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;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;2281:180::-;2340:6;2393:2;2381:9;2372:7;2368:23;2364:32;2361:52;;;2409:1;2406;2399:12;2361:52;-1:-1:-1;2432:23:1;;2281:180;-1:-1:-1;2281:180:1:o;2674:247::-;2733:6;2786:2;2774:9;2765:7;2761:23;2757:32;2754:52;;;2802:1;2799;2792:12;2754:52;2841:9;2828:23;2860:31;2885:5;2860:31;:::i;2926:160::-;2991:20;;3047:13;;3040:21;3030:32;;3020:60;;3076:1;3073;3066:12;3020:60;2926:160;;;:::o;3091:315::-;3156:6;3164;3217:2;3205:9;3196:7;3192:23;3188:32;3185:52;;;3233:1;3230;3223:12;3185:52;3272:9;3259:23;3291:31;3316:5;3291:31;:::i;:::-;3341:5;-1:-1:-1;3365:35:1;3396:2;3381:18;;3365:35;:::i;:::-;3355:45;;3091:315;;;;;:::o;3411:385::-;3497:6;3505;3513;3521;3574:3;3562:9;3553:7;3549:23;3545:33;3542:53;;;3591:1;3588;3581:12;3542:53;-1:-1:-1;;3614:23:1;;;3684:2;3669:18;;3656:32;;-1:-1:-1;3735:2:1;3720:18;;3707:32;;3786:2;3771:18;3758:32;;-1:-1:-1;3411:385:1;-1:-1:-1;3411:385:1:o;3801:180::-;3857:6;3910:2;3898:9;3889:7;3885:23;3881:32;3878:52;;;3926:1;3923;3916:12;3878:52;3949:26;3965:9;3949:26;:::i;3986:388::-;4054:6;4062;4115:2;4103:9;4094:7;4090:23;4086:32;4083:52;;;4131:1;4128;4121:12;4083:52;4170:9;4157:23;4189:31;4214:5;4189:31;:::i;:::-;4239:5;-1:-1:-1;4296:2:1;4281:18;;4268:32;4309:33;4268:32;4309:33;:::i;:::-;4361:7;4351:17;;;3986:388;;;;;:::o;4379:380::-;4458:1;4454:12;;;;4501;;;4522:61;;4576:4;4568:6;4564:17;4554:27;;4522:61;4629:2;4621:6;4618:14;4598:18;4595:38;4592:161;;4675:10;4670:3;4666:20;4663:1;4656:31;4710:4;4707:1;4700:15;4738:4;4735:1;4728:15;4592:161;;4379:380;;;:::o;4764:356::-;4966:2;4948:21;;;4985:18;;;4978:30;5044:34;5039:2;5024:18;;5017:62;5111:2;5096:18;;4764:356::o;5125:127::-;5186:10;5181:3;5177:20;5174:1;5167:31;5217:4;5214:1;5207:15;5241:4;5238:1;5231:15;5257:422;5346:1;5389:5;5346:1;5403:270;5424:7;5414:8;5411:21;5403:270;;;5483:4;5479:1;5475:6;5471:17;5465:4;5462:27;5459:53;;;5492:18;;:::i;:::-;5542:7;5532:8;5528:22;5525:55;;;5562:16;;;;5525:55;5641:22;;;;5601:15;;;;5403:270;;;5407:3;5257:422;;;;;:::o;5684:806::-;5733:5;5763:8;5753:80;;-1:-1:-1;5804:1:1;5818:5;;5753:80;5852:4;5842:76;;-1:-1:-1;5889:1:1;5903:5;;5842:76;5934:4;5952:1;5947:59;;;;6020:1;6015:130;;;;5927:218;;5947:59;5977:1;5968:10;;5991:5;;;6015:130;6052:3;6042:8;6039:17;6036:43;;;6059:18;;:::i;:::-;-1:-1:-1;;6115:1:1;6101:16;;6130:5;;5927:218;;6229:2;6219:8;6216:16;6210:3;6204:4;6201:13;6197:36;6191:2;6181:8;6178:16;6173:2;6167:4;6164:12;6160:35;6157:77;6154:159;;;-1:-1:-1;6266:19:1;;;6298:5;;6154:159;6345:34;6370:8;6364:4;6345:34;:::i;:::-;6415:6;6411:1;6407:6;6403:19;6394:7;6391:32;6388:58;;;6426:18;;:::i;:::-;6464:20;;5684:806;-1:-1:-1;;;5684:806:1:o;6495:140::-;6553:5;6582:47;6623:4;6613:8;6609:19;6603:4;6582:47;:::i;6640:168::-;6713:9;;;6744;;6761:15;;;6755:22;;6741:37;6731:71;;6782:18;;:::i;6813:251::-;6883:6;6936:2;6924:9;6915:7;6911:23;6907:32;6904:52;;;6952:1;6949;6942:12;6904:52;6984:9;6978:16;7003:31;7028:5;7003:31;:::i;9150:401::-;9352:2;9334:21;;;9391:2;9371:18;;;9364:30;9430:34;9425:2;9410:18;;9403:62;-1:-1:-1;;;9496:2:1;9481:18;;9474:35;9541:3;9526:19;;9150:401::o;9556:399::-;9758:2;9740:21;;;9797:2;9777:18;;;9770:30;9836:34;9831:2;9816:18;;9809:62;-1:-1:-1;;;9902:2:1;9887:18;;9880:33;9945:3;9930:19;;9556:399::o;10370:125::-;10435:9;;;10456:10;;;10453:36;;;10469:18;;:::i;11628:217::-;11668:1;11694;11684:132;;11738:10;11733:3;11729:20;11726:1;11719:31;11773:4;11770:1;11763:15;11801:4;11798:1;11791:15;11684:132;-1:-1:-1;11830:9:1;;11628:217::o;11850:128::-;11917:9;;;11938:11;;;11935:37;;;11952:18;;:::i;12115:127::-;12176:10;12171:3;12167:20;12164:1;12157:31;12207:4;12204:1;12197:15;12231:4;12228:1;12221:15;12247:980;12509:4;12557:3;12546:9;12542:19;12588:6;12577:9;12570:25;12614:2;12652:6;12647:2;12636:9;12632:18;12625:34;12695:3;12690:2;12679:9;12675:18;12668:31;12719:6;12754;12748:13;12785:6;12777;12770:22;12823:3;12812:9;12808:19;12801:26;;12862:2;12854:6;12850:15;12836:29;;12883:1;12893:195;12907:6;12904:1;12901:13;12893:195;;;12972:13;;-1:-1:-1;;;;;12968:39:1;12956:52;;13063:15;;;;13028:12;;;;13004:1;12922:9;12893:195;;;-1:-1:-1;;;;;;;13144:32:1;;;;13139:2;13124:18;;13117:60;-1:-1:-1;;;13208:3:1;13193:19;13186:35;13105:3;12247:980;-1:-1:-1;;;12247:980:1:o;13844:306::-;13932:6;13940;13948;14001:2;13989:9;13980:7;13976:23;13972:32;13969:52;;;14017:1;14014;14007:12;13969:52;14046:9;14040:16;14030:26;;14096:2;14085:9;14081:18;14075:25;14065:35;;14140:2;14129:9;14125:18;14119:25;14109:35;;13844:306;;;;;:::o

Swarm Source

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