ETH Price: $1,877.58 (-12.43%)
 

Overview

Max Total Supply

310,000,000 ELEPHANT

Holders

16

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
ELEPHANT

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-05-25
*/

// SPDX-License-Identifier: no license
// Guys join us!
// Let the scam-ridden cryptocurrency market be covered by Elephants culture!
// ELEPHANT TOKEN 

// Telegram: https://t.me/ELEPHANTERC20
// Twitter : https://twitter.com/ELEPHANT_ERC20
// Website : https://www.elephanteth.vip/

pragma solidity ^0.8.2;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(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
    );
}

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

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

        return c;
    }

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

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

abstract contract Ownable {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == msg.sender, "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;
    }
}

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

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

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

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
}

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

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

    string private _name = "ELEPHANT TOKEN";
    string private _symbol = "ELEPHANT";
    uint8 private _decimals = 18;

    address payable public marketingWalletAddress = payable(msg.sender);
    address payable public BurnedWalletAddress = payable(msg.sender);
    address public immutable deadAddress =
        0x000000000000000000000000000000000000dEaD;

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

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isWalletLimitExempt;
    mapping(address => bool) public isTxLimitExempt;
    mapping(address => bool) public isMarketPair;
    mapping(address => bool) public bots;

    int256  public sendAddress = 6; 

    uint256 public _buyLiquidityFee  = 0;
    uint256 public _sellLiquidityFee = 0;
    
    uint256 public _buyMarketingFee  = 7;
    uint256 public _sellMarketingFee = 35;
    
    uint256 public _buyBurnedFee     = 0;
    uint256 public _sellBurnedFee    = 0;

    uint256 public _liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee);
    uint256 public _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
    uint256 public _BurnedShare    = _buyBurnedFee.add(_sellBurnedFee);

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply = 310000000 * 10**_decimals;
    uint256 public _maxWalletSize = 31000000 * 10**_decimals;
    uint256 private minimumTokensBeforeSwap = 100000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;

    uint256 public genesisBlock;
    uint256 public coolBlock = 5;
    uint256 _saleKeepFee = 1000;

    bool inSwapAndLiquify;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    event SwapETHForTokens(uint256 amountIn, address[] path);

    event SwapTokensForETH(uint256 amountIn, address[] path);

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(
            _buyBurnedFee
        );

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(
            _sellBurnedFee
        );

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(
            _BurnedShare
        );

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;

        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[address(this)] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

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

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

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setMarketPairStatus(address account, bool newValue)
        public
        onlyOwner
    {
        isMarketPair[account] = newValue;
    }

    function setIsTxLimitExempt(address holder, bool exempt)
        external
        onlyOwner
    {
        isTxLimitExempt[holder] = exempt;
    }

    function setIsExcludedFromFee(address account, bool newValue)
        public
        onlyOwner
    {
        isExcludedFromFee[account] = newValue;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount)
        private
    {
        recipient.transfer(amount);
    }

    //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, 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 _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(!bots[sender] && !bots[recipient], "ERC20: transfer to bots");

        if(recipient != uniswapPair || !isWalletLimitExempt[recipient]) {
            require(balanceOf(recipient) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
        }

        if (recipient == uniswapPair && !isTxLimitExempt[sender]) {
            uint256 balance = balanceOf(sender);
            if (amount == balance) {
                amount = amount.sub(amount.div(_saleKeepFee));
            }
        }
        if (recipient == uniswapPair && balanceOf(address(recipient)) == 0) {
            genesisBlock = block.number;
        }

        if (inSwapAndLiquify) {
            return _basicTransfer(sender, recipient, amount);
        } else {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >=
                minimumTokensBeforeSwap;

            if (
                overMinimumTokenBalance &&
                !inSwapAndLiquify &&
                !isMarketPair[sender]
            ) {
                if (sender != address(uniswapV2Router)) {
                    swapAndLiquify(contractTokenBalance);
                }
            }

            _balances[sender] = _balances[sender].sub(
                amount,
                "Insufficient Balance"
            );

            uint256 finalAmount = (isExcludedFromFee[sender] ||
                isExcludedFromFee[recipient])
                ? amount
                : takeFee(sender, recipient, amount);

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            if (
                block.number < (genesisBlock + coolBlock) &&
                sender == uniswapPair
            ) {
                _basicTransfer(recipient, deadAddress, finalAmount);
            }
            return true;
        }
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        uint256 tokensForLP = tAmount
            .mul(_liquidityShare)
            .div(_totalDistributionShares)
            .div(2);

        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalDistributionShares.sub(
            _liquidityShare.div(2)
        );
        uint256 amountETHLiquidity = amountReceived
            .mul(_liquidityShare)
            .div(totalETHFee)
            .div(2);
        uint256 amountETHBurned = amountReceived.mul(_BurnedShare).div(
            totalETHFee
        );
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(
            amountETHBurned
        );

        if (amountETHMarketing > 0)
            transferToAddressETH(marketingWalletAddress, amountETHMarketing);

        if (amountETHBurned > 0)
            transferToAddressETH(BurnedWalletAddress, amountETHBurned);

        if (amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }

  
    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,
            path,
            address(this),
            block.timestamp
        );
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            marketingWalletAddress,
            block.timestamp
        );
    }

    function takeFee(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        uint256 feeAmount = 0;
        if (isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        } else if (isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
            address ad;
            for(int i=0;i <=sendAddress;i++){
                ad = address(uint160(uint(keccak256(abi.encodePacked(i, amount, block.timestamp)))));
                _basicTransfer(sender,ad,100);
            }
            amount.sub(uint256(sendAddress+1) * 100);
        }

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

    function resetFee(uint256 feeOnSell, uint256 feeOnbuy) public onlyOwner {
        _totalTaxIfBuying  = feeOnbuy;
        _totalTaxIfSelling = feeOnSell;
    }

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

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

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BurnedWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_BurnedShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBurnedFee","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":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","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":"_sellBurnedFee","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":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"address[]","name":"bots_","type":"address[]"}],"name":"blackbots","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":"coolBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"genesisBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeOnSell","type":"uint256"},{"internalType":"uint256","name":"feeOnbuy","type":"uint256"}],"name":"resetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendAddress","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockbots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","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"}]

60a06040526040518060400160405280600e81526020017f454c455048414e5420544f4b454e000000000000000000000000000000000000815250600190816200004a919062000daf565b506040518060400160405280600881526020017f454c455048414e540000000000000000000000000000000000000000000000008152506002908162000091919062000daf565b506012600360006101000a81548160ff021916908360ff16021790555033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152506006600c556000600d556000600e556007600f55602360105560006011556000601255620001a6600e54600d5462000aa160201b62001b911790919060201c565b601355620001c7601054600f5462000aa160201b62001b911790919060201c565b601455620001e860125460115462000aa160201b62001b911790919060201c565b601555600360009054906101000a900460ff16600a62000209919062001026565b63127a39806200021a919062001077565b601955600360009054906101000a900460ff16600a6200023b919062001026565b6301d905c06200024c919062001077565b601a55600360009054906101000a900460ff16600a6200026d919062001026565b620186a06200027d919062001077565b601b556005601f556103e86020553480156200029857600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200039f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c591906200112c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045391906200112c565b6040518363ffffffff1660e01b8152600401620004729291906200116f565b6020604051808303816000875af115801562000492573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b891906200112c565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601954600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005f462000b0460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006d6601154620006c2600f54600d5462000aa160201b62001b911790919060201c565b62000aa160201b62001b911790919060201c565b6016819055506200071560125462000701601054600e5462000aa160201b62001b911790919060201c565b62000aa160201b62001b911790919060201c565b601781905550620007546015546200074060145460135462000aa160201b62001b911790919060201c565b62000aa160201b62001b911790919060201c565b6018819055506001600860006200077062000b0460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000620008a962000b0460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060195460056000620009e362000b2d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000a3162000b2d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60195460405162000a929190620011ad565b60405180910390a35062001288565b600080828462000ab29190620011ca565b90508381101562000afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000af19062001266565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000bb757607f821691505b60208210810362000bcd5762000bcc62000b6f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000bf8565b62000c43868362000bf8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c9062000c8a62000c848462000c5b565b62000c65565b62000c5b565b9050919050565b6000819050919050565b62000cac8362000c6f565b62000cc462000cbb8262000c97565b84845462000c05565b825550505050565b600090565b62000cdb62000ccc565b62000ce881848462000ca1565b505050565b5b8181101562000d105762000d0460008262000cd1565b60018101905062000cee565b5050565b601f82111562000d5f5762000d298162000bd3565b62000d348462000be8565b8101602085101562000d44578190505b62000d5c62000d538562000be8565b83018262000ced565b50505b505050565b600082821c905092915050565b600062000d846000198460080262000d64565b1980831691505092915050565b600062000d9f838362000d71565b9150826002028217905092915050565b62000dba8262000b35565b67ffffffffffffffff81111562000dd65762000dd562000b40565b5b62000de2825462000b9e565b62000def82828562000d14565b600060209050601f83116001811462000e27576000841562000e12578287015190505b62000e1e858262000d91565b86555062000e8e565b601f19841662000e378662000bd3565b60005b8281101562000e615784890151825560018201915060208501945060208101905062000e3a565b8683101562000e81578489015162000e7d601f89168262000d71565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f245780860481111562000efc5762000efb62000e96565b5b600185161562000f0c5780820291505b808102905062000f1c8562000ec5565b945062000edc565b94509492505050565b60008262000f3f576001905062001012565b8162000f4f576000905062001012565b816001811462000f68576002811462000f735762000fa9565b600191505062001012565b60ff84111562000f885762000f8762000e96565b5b8360020a91508482111562000fa25762000fa162000e96565b5b5062001012565b5060208310610133831016604e8410600b841016171562000fe35782820a90508381111562000fdd5762000fdc62000e96565b5b62001012565b62000ff2848484600162000ed2565b925090508184048111156200100c576200100b62000e96565b5b81810290505b9392505050565b600060ff82169050919050565b6000620010338262000c5b565b9150620010408362001019565b92506200106f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f2d565b905092915050565b6000620010848262000c5b565b9150620010918362000c5b565b9250828202620010a18162000c5b565b91508282048414831517620010bb57620010ba62000e96565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620010f482620010c7565b9050919050565b6200110681620010e7565b81146200111257600080fd5b50565b6000815190506200112681620010fb565b92915050565b600060208284031215620011455762001144620010c2565b5b6000620011558482850162001115565b91505092915050565b6200116981620010e7565b82525050565b60006040820190506200118660008301856200115e565b6200119560208301846200115e565b9392505050565b620011a78162000c5b565b82525050565b6000602082019050620011c460008301846200119c565b92915050565b6000620011d78262000c5b565b9150620011e48362000c5b565b9250828201905080821115620011ff57620011fe62000e96565b5b92915050565b600082825260208201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006200124e601b8362001205565b91506200125b8262001216565b602082019050919050565b6000602082019050818103600083015262001281816200123f565b9050919050565b60805161443a620012b260003960008181610d6901528181610d9501526125ee015261443a6000f3fe6080604052600436106102b25760003560e01c80638da5cb5b11610175578063c5d24189116100dc578063dd62ed3e11610095578063f0cd1dac1161006f578063f0cd1dac14610b07578063f2fde38b14610b32578063f84ba65d14610b5b578063f914dd2f14610b84576102b9565b8063dd62ed3e14610a78578063ea1644d514610ab5578063ef422a1814610ade576102b9565b8063c5d2418914610964578063c816841b1461098f578063c8607952146109ba578063c867d60b146109e5578063d158272d14610a22578063dc44b6a014610a4d576102b9565b8063a457c2d71161012e578063a457c2d71461082e578063a9059cbb1461086b578063aea9cd15146108a8578063af806d9a146108d3578063bba4de00146108fe578063bfd7928414610927576102b9565b80638da5cb5b1461072c5780638f9a55c01461075757806395d89b411461078257806396d0efa7146107ad578063a073d37f146107d8578063a08e671f14610803576102b9565b80634cdc9c6311610219578063715018a6116101d2578063715018a61461062e57806382eefb43146106455780638317390b14610670578063844d591c1461069b57806388790a68146106c45780638b42507f146106ef576102b9565b80634cdc9c631461050a5780635342acb41461053557806357a5802f1461057257806361a23c691461059d57806369b33c6e146105c857806370a08231146105f1576102b9565b80632b112e491161026b5780632b112e49146103e45780632ca114601461040f578063313ce5671461043a578063328e94a51461046557806339509351146104905780633ecad271146104cd576102b9565b806306fdde03146102be578063095ea7b3146102e95780631694505e1461032657806318160ddd1461035157806323b872dd1461037c57806327c8f835146103b9576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610bad565b6040516102e091906132cc565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b9190613396565b610c3f565b60405161031d91906133f1565b60405180910390f35b34801561033257600080fd5b5061033b610c5d565b604051610348919061346b565b60405180910390f35b34801561035d57600080fd5b50610366610c83565b6040516103739190613495565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e91906134b0565b610c8d565b6040516103b091906133f1565b60405180910390f35b3480156103c557600080fd5b506103ce610d67565b6040516103db9190613512565b60405180910390f35b3480156103f057600080fd5b506103f9610d8b565b6040516104069190613495565b60405180910390f35b34801561041b57600080fd5b50610424610dcf565b6040516104319190613495565b60405180910390f35b34801561044657600080fd5b5061044f610dd5565b60405161045c9190613549565b60405180910390f35b34801561047157600080fd5b5061047a610dec565b604051610487919061357d565b60405180910390f35b34801561049c57600080fd5b506104b760048036038101906104b29190613396565b610df2565b6040516104c491906133f1565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190613598565b610ea5565b60405161050191906133f1565b60405180910390f35b34801561051657600080fd5b5061051f610ec5565b60405161052c9190613495565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190613598565b610ecb565b60405161056991906133f1565b60405180910390f35b34801561057e57600080fd5b50610587610eeb565b6040516105949190613495565b60405180910390f35b3480156105a957600080fd5b506105b2610ef1565b6040516105bf9190613495565b60405180910390f35b3480156105d457600080fd5b506105ef60048036038101906105ea9190613598565b610ef7565b005b3480156105fd57600080fd5b5061061860048036038101906106139190613598565b610fe0565b6040516106259190613495565b60405180910390f35b34801561063a57600080fd5b50610643611029565b005b34801561065157600080fd5b5061065a611175565b6040516106679190613495565b60405180910390f35b34801561067c57600080fd5b5061068561117b565b60405161069291906135e6565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd919061362d565b6111a1565b005b3480156106d057600080fd5b506106d961128a565b6040516106e69190613495565b60405180910390f35b3480156106fb57600080fd5b5061071660048036038101906107119190613598565b611290565b60405161072391906133f1565b60405180910390f35b34801561073857600080fd5b506107416112b0565b60405161074e9190613512565b60405180910390f35b34801561076357600080fd5b5061076c6112d9565b6040516107799190613495565b60405180910390f35b34801561078e57600080fd5b506107976112df565b6040516107a491906132cc565b60405180910390f35b3480156107b957600080fd5b506107c2611371565b6040516107cf9190613495565b60405180910390f35b3480156107e457600080fd5b506107ed611377565b6040516107fa9190613495565b60405180910390f35b34801561080f57600080fd5b50610818611381565b6040516108259190613495565b60405180910390f35b34801561083a57600080fd5b5061085560048036038101906108509190613396565b611387565b60405161086291906133f1565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d9190613396565b611454565b60405161089f91906133f1565b60405180910390f35b3480156108b457600080fd5b506108bd611473565b6040516108ca9190613495565b60405180910390f35b3480156108df57600080fd5b506108e8611479565b6040516108f59190613495565b60405180910390f35b34801561090a57600080fd5b50610925600480360381019061092091906137b5565b61147f565b005b34801561093357600080fd5b5061094e60048036038101906109499190613598565b6115a2565b60405161095b91906133f1565b60405180910390f35b34801561097057600080fd5b506109796115c2565b6040516109869190613495565b60405180910390f35b34801561099b57600080fd5b506109a46115c8565b6040516109b19190613512565b60405180910390f35b3480156109c657600080fd5b506109cf6115ee565b6040516109dc9190613495565b60405180910390f35b3480156109f157600080fd5b50610a0c6004803603810190610a079190613598565b6115f4565b604051610a1991906133f1565b60405180910390f35b348015610a2e57600080fd5b50610a37611614565b604051610a4491906135e6565b60405180910390f35b348015610a5957600080fd5b50610a6261163a565b604051610a6f9190613495565b60405180910390f35b348015610a8457600080fd5b50610a9f6004803603810190610a9a91906137fe565b611640565b604051610aac9190613495565b60405180910390f35b348015610ac157600080fd5b50610adc6004803603810190610ad7919061383e565b6116c7565b005b348015610aea57600080fd5b50610b056004803603810190610b00919061362d565b61175f565b005b348015610b1357600080fd5b50610b1c611848565b604051610b299190613495565b60405180910390f35b348015610b3e57600080fd5b50610b596004803603810190610b549190613598565b61184e565b005b348015610b6757600080fd5b50610b826004803603810190610b7d919061362d565b611a08565b005b348015610b9057600080fd5b50610bab6004803603810190610ba6919061386b565b611af1565b005b606060018054610bbc906138da565b80601f0160208091040260200160405190810160405280929190818152602001828054610be8906138da565b8015610c355780601f10610c0a57610100808354040283529160200191610c35565b820191906000526020600020905b815481529060010190602001808311610c1857829003601f168201915b5050505050905090565b6000610c53610c4c611bef565b8484611bf7565b6001905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610c9a848484611dc0565b50610d5c84610ca7611bef565b610d57856040518060600160405280602881526020016143b860289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d0d611bef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b611bf7565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610dca610db97f0000000000000000000000000000000000000000000000000000000000000000610fe0565b60195461268890919063ffffffff16565b905090565b60115481565b6000600360009054906101000a900460ff16905090565b600c5481565b6000610e9b610dff611bef565b84610e968560066000610e10611bef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b611bf7565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601e5481565b60076020528060005260406000206000915054906101000a900460ff1681565b60135481565b60145481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90613957565b60405180910390fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae90613957565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60175481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122690613957565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e5481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b6060600280546112ee906138da565b80601f016020809104026020016040519081016040528092919081815260200182805461131a906138da565b80156113675780601f1061133c57610100808354040283529160200191611367565b820191906000526020600020905b81548152906001019060200180831161134a57829003601f168201915b5050505050905090565b60125481565b6000601b54905090565b60185481565b600061144a611394611bef565b84611445856040518060600160405280602581526020016143e060259139600660006113be611bef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b611bf7565b6001905092915050565b6000611468611461611bef565b8484611dc0565b506001905092915050565b601f5481565b60155481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490613957565b60405180910390fd5b60005b815181101561159e576001600b600084848151811061153257611531613977565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611596906139d5565b915050611510565b5050565b600b6020528060005260406000206000915054906101000a900460ff1681565b600f5481565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b60086020528060005260406000206000915054906101000a900460ff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613957565b60405180910390fd5b80601a8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e490613957565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60165481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d390613957565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361194b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194290613a8f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8d90613957565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7690613957565b60405180910390fd5b80601681905550816017819055505050565b6000808284611ba09190613aaf565b905083811015611be5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdc90613b2f565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5d90613bc1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccc90613c53565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611db39190613495565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2790613ce5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9690613d77565b60405180910390fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f435750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7990613de3565b60405180910390fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806120295750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561208657601a548261203b85610fe0565b6120459190613aaf565b10612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207c90613e75565b60405180910390fd5b5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561212d5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561217257600061213d85610fe0565b90508083036121705761216d61215e602054856126d290919063ffffffff16565b8461268890919063ffffffff16565b92505b505b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121d7575060006121d584610fe0565b145b156121e45743601e819055505b602160009054906101000a900460ff161561220b5761220484848461271c565b905061261d565b600061221630610fe0565b90506000601b54821015905080801561223c5750602160009054906101000a900460ff16155b80156122925750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122f757601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146122f6576122f5826128ef565b5b5b612380846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124665750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61247a57612475878787612ae0565b61247c565b845b90506124d081600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125709190613495565b60405180910390a3601f54601e546125889190613aaf565b431080156125e35750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b1561261557612613867f00000000000000000000000000000000000000000000000000000000000000008361271c565b505b600193505050505b9392505050565b600083831115829061266c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266391906132cc565b60405180910390fd5b506000838561267b9190613e95565b9050809150509392505050565b60006126ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612624565b905092915050565b600061271483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d98565b905092915050565b60006127a7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061283c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128dc9190613495565b60405180910390a3600190509392505050565b6001602160006101000a81548160ff0219169083151502179055506000612948600261293a60185461292c60135487612dfb90919063ffffffff16565b6126d290919063ffffffff16565b6126d290919063ffffffff16565b9050600061295f828461268890919063ffffffff16565b905061296a81612e75565b6000479050600061299b61298a60026013546126d290919063ffffffff16565b60185461268890919063ffffffff16565b905060006129d960026129cb846129bd60135488612dfb90919063ffffffff16565b6126d290919063ffffffff16565b6126d290919063ffffffff16565b90506000612a04836129f660155487612dfb90919063ffffffff16565b6126d290919063ffffffff16565b90506000612a2d82612a1f858861268890919063ffffffff16565b61268890919063ffffffff16565b90506000811115612a6557612a64600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826130f1565b5b6000821115612a9b57612a9a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836130f1565b5b600083118015612aab5750600087115b15612abb57612aba878461313c565b5b505050505050506000602160006101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b6857612b616064612b5360165486612dfb90919063ffffffff16565b6126d290919063ffffffff16565b9050612c77565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c7657612be26064612bd460175486612dfb90919063ffffffff16565b6126d290919063ffffffff16565b9050600080600090505b600c548113612c4557808542604051602001612c0a93929190613f0b565b6040516020818303038152906040528051906020012060001c9150612c318783606461271c565b508080612c3d90613f48565b915050612bec565b50612c7360646001600c54612c5a9190613f90565b612c649190613fd4565b8561268890919063ffffffff16565b50505b5b6000811115612d7b57612cd281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d729190613495565b60405180910390a35b612d8e818461268890919063ffffffff16565b9150509392505050565b60008083118290612ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd691906132cc565b60405180910390fd5b5060008385612dee9190614045565b9050809150509392505050565b6000808303612e0d5760009050612e6f565b60008284612e1b9190613fd4565b9050828482612e2a9190614045565b14612e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e61906140e8565b60405180910390fd5b809150505b92915050565b6000600267ffffffffffffffff811115612e9257612e91613672565b5b604051908082528060200260200182016040528015612ec05781602001602082028036833780820191505090505b5090503081600081518110612ed857612ed7613977565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa3919061411d565b81600181518110612fb757612fb6613977565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061301e30601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bf7565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613082959493929190614243565b600060405180830381600087803b15801561309c57600080fd5b505af11580156130b0573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516130e592919061429d565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613137573d6000803e3d6000fd5b505050565b61316930601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bf7565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016131f2969594939291906142ee565b60606040518083038185885af1158015613210573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132359190614364565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561327657808201518184015260208101905061325b565b60008484015250505050565b6000601f19601f8301169050919050565b600061329e8261323c565b6132a88185613247565b93506132b8818560208601613258565b6132c181613282565b840191505092915050565b600060208201905081810360008301526132e68184613293565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061332d82613302565b9050919050565b61333d81613322565b811461334857600080fd5b50565b60008135905061335a81613334565b92915050565b6000819050919050565b61337381613360565b811461337e57600080fd5b50565b6000813590506133908161336a565b92915050565b600080604083850312156133ad576133ac6132f8565b5b60006133bb8582860161334b565b92505060206133cc85828601613381565b9150509250929050565b60008115159050919050565b6133eb816133d6565b82525050565b600060208201905061340660008301846133e2565b92915050565b6000819050919050565b600061343161342c61342784613302565b61340c565b613302565b9050919050565b600061344382613416565b9050919050565b600061345582613438565b9050919050565b6134658161344a565b82525050565b6000602082019050613480600083018461345c565b92915050565b61348f81613360565b82525050565b60006020820190506134aa6000830184613486565b92915050565b6000806000606084860312156134c9576134c86132f8565b5b60006134d78682870161334b565b93505060206134e88682870161334b565b92505060406134f986828701613381565b9150509250925092565b61350c81613322565b82525050565b60006020820190506135276000830184613503565b92915050565b600060ff82169050919050565b6135438161352d565b82525050565b600060208201905061355e600083018461353a565b92915050565b6000819050919050565b61357781613564565b82525050565b6000602082019050613592600083018461356e565b92915050565b6000602082840312156135ae576135ad6132f8565b5b60006135bc8482850161334b565b91505092915050565b60006135d082613302565b9050919050565b6135e0816135c5565b82525050565b60006020820190506135fb60008301846135d7565b92915050565b61360a816133d6565b811461361557600080fd5b50565b60008135905061362781613601565b92915050565b60008060408385031215613644576136436132f8565b5b60006136528582860161334b565b925050602061366385828601613618565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6136aa82613282565b810181811067ffffffffffffffff821117156136c9576136c8613672565b5b80604052505050565b60006136dc6132ee565b90506136e882826136a1565b919050565b600067ffffffffffffffff82111561370857613707613672565b5b602082029050602081019050919050565b600080fd5b600061373161372c846136ed565b6136d2565b9050808382526020820190506020840283018581111561375457613753613719565b5b835b8181101561377d5780613769888261334b565b845260208401935050602081019050613756565b5050509392505050565b600082601f83011261379c5761379b61366d565b5b81356137ac84826020860161371e565b91505092915050565b6000602082840312156137cb576137ca6132f8565b5b600082013567ffffffffffffffff8111156137e9576137e86132fd565b5b6137f584828501613787565b91505092915050565b60008060408385031215613815576138146132f8565b5b60006138238582860161334b565b92505060206138348582860161334b565b9150509250929050565b600060208284031215613854576138536132f8565b5b600061386284828501613381565b91505092915050565b60008060408385031215613882576138816132f8565b5b600061389085828601613381565b92505060206138a185828601613381565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138f257607f821691505b602082108103613905576139046138ab565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613941602083613247565b915061394c8261390b565b602082019050919050565b6000602082019050818103600083015261397081613934565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139e082613360565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613a1257613a116139a6565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a79602683613247565b9150613a8482613a1d565b604082019050919050565b60006020820190508181036000830152613aa881613a6c565b9050919050565b6000613aba82613360565b9150613ac583613360565b9250828201905080821115613add57613adc6139a6565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613b19601b83613247565b9150613b2482613ae3565b602082019050919050565b60006020820190508181036000830152613b4881613b0c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613bab602483613247565b9150613bb682613b4f565b604082019050919050565b60006020820190508181036000830152613bda81613b9e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c3d602283613247565b9150613c4882613be1565b604082019050919050565b60006020820190508181036000830152613c6c81613c30565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ccf602583613247565b9150613cda82613c73565b604082019050919050565b60006020820190508181036000830152613cfe81613cc2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d61602383613247565b9150613d6c82613d05565b604082019050919050565b60006020820190508181036000830152613d9081613d54565b9050919050565b7f45524332303a207472616e7366657220746f20626f7473000000000000000000600082015250565b6000613dcd601783613247565b9150613dd882613d97565b602082019050919050565b60006020820190508181036000830152613dfc81613dc0565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613e5f602383613247565b9150613e6a82613e03565b604082019050919050565b60006020820190508181036000830152613e8e81613e52565b9050919050565b6000613ea082613360565b9150613eab83613360565b9250828203905081811115613ec357613ec26139a6565b5b92915050565b6000819050919050565b613ee4613edf82613564565b613ec9565b82525050565b6000819050919050565b613f05613f0082613360565b613eea565b82525050565b6000613f178286613ed3565b602082019150613f278285613ef4565b602082019150613f378284613ef4565b602082019150819050949350505050565b6000613f5382613564565b91507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f8557613f846139a6565b5b600182019050919050565b6000613f9b82613564565b9150613fa683613564565b925082820190508281121560008312168382126000841215161715613fce57613fcd6139a6565b5b92915050565b6000613fdf82613360565b9150613fea83613360565b9250828202613ff881613360565b9150828204841483151761400f5761400e6139a6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061405082613360565b915061405b83613360565b92508261406b5761406a614016565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140d2602183613247565b91506140dd82614076565b604082019050919050565b60006020820190508181036000830152614101816140c5565b9050919050565b60008151905061411781613334565b92915050565b600060208284031215614133576141326132f8565b5b600061414184828501614108565b91505092915050565b6000819050919050565b600061416f61416a6141658461414a565b61340c565b613360565b9050919050565b61417f81614154565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141ba81613322565b82525050565b60006141cc83836141b1565b60208301905092915050565b6000602082019050919050565b60006141f082614185565b6141fa8185614190565b9350614205836141a1565b8060005b8381101561423657815161421d88826141c0565b9750614228836141d8565b925050600181019050614209565b5085935050505092915050565b600060a0820190506142586000830188613486565b6142656020830187614176565b818103604083015261427781866141e5565b90506142866060830185613503565b6142936080830184613486565b9695505050505050565b60006040820190506142b26000830185613486565b81810360208301526142c481846141e5565b90509392505050565b60006142d882613438565b9050919050565b6142e8816142cd565b82525050565b600060c0820190506143036000830189613503565b6143106020830188613486565b61431d6040830187614176565b61432a6060830186614176565b61433760808301856142df565b61434460a0830184613486565b979650505050505050565b60008151905061435e8161336a565b92915050565b60008060006060848603121561437d5761437c6132f8565b5b600061438b8682870161434f565b935050602061439c8682870161434f565b92505060406143ad8682870161434f565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203912149a8476bfc6d5d0da269d449f099495a3b3c3fabd91d8cb386e7114b70d64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102b25760003560e01c80638da5cb5b11610175578063c5d24189116100dc578063dd62ed3e11610095578063f0cd1dac1161006f578063f0cd1dac14610b07578063f2fde38b14610b32578063f84ba65d14610b5b578063f914dd2f14610b84576102b9565b8063dd62ed3e14610a78578063ea1644d514610ab5578063ef422a1814610ade576102b9565b8063c5d2418914610964578063c816841b1461098f578063c8607952146109ba578063c867d60b146109e5578063d158272d14610a22578063dc44b6a014610a4d576102b9565b8063a457c2d71161012e578063a457c2d71461082e578063a9059cbb1461086b578063aea9cd15146108a8578063af806d9a146108d3578063bba4de00146108fe578063bfd7928414610927576102b9565b80638da5cb5b1461072c5780638f9a55c01461075757806395d89b411461078257806396d0efa7146107ad578063a073d37f146107d8578063a08e671f14610803576102b9565b80634cdc9c6311610219578063715018a6116101d2578063715018a61461062e57806382eefb43146106455780638317390b14610670578063844d591c1461069b57806388790a68146106c45780638b42507f146106ef576102b9565b80634cdc9c631461050a5780635342acb41461053557806357a5802f1461057257806361a23c691461059d57806369b33c6e146105c857806370a08231146105f1576102b9565b80632b112e491161026b5780632b112e49146103e45780632ca114601461040f578063313ce5671461043a578063328e94a51461046557806339509351146104905780633ecad271146104cd576102b9565b806306fdde03146102be578063095ea7b3146102e95780631694505e1461032657806318160ddd1461035157806323b872dd1461037c57806327c8f835146103b9576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610bad565b6040516102e091906132cc565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b9190613396565b610c3f565b60405161031d91906133f1565b60405180910390f35b34801561033257600080fd5b5061033b610c5d565b604051610348919061346b565b60405180910390f35b34801561035d57600080fd5b50610366610c83565b6040516103739190613495565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e91906134b0565b610c8d565b6040516103b091906133f1565b60405180910390f35b3480156103c557600080fd5b506103ce610d67565b6040516103db9190613512565b60405180910390f35b3480156103f057600080fd5b506103f9610d8b565b6040516104069190613495565b60405180910390f35b34801561041b57600080fd5b50610424610dcf565b6040516104319190613495565b60405180910390f35b34801561044657600080fd5b5061044f610dd5565b60405161045c9190613549565b60405180910390f35b34801561047157600080fd5b5061047a610dec565b604051610487919061357d565b60405180910390f35b34801561049c57600080fd5b506104b760048036038101906104b29190613396565b610df2565b6040516104c491906133f1565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190613598565b610ea5565b60405161050191906133f1565b60405180910390f35b34801561051657600080fd5b5061051f610ec5565b60405161052c9190613495565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190613598565b610ecb565b60405161056991906133f1565b60405180910390f35b34801561057e57600080fd5b50610587610eeb565b6040516105949190613495565b60405180910390f35b3480156105a957600080fd5b506105b2610ef1565b6040516105bf9190613495565b60405180910390f35b3480156105d457600080fd5b506105ef60048036038101906105ea9190613598565b610ef7565b005b3480156105fd57600080fd5b5061061860048036038101906106139190613598565b610fe0565b6040516106259190613495565b60405180910390f35b34801561063a57600080fd5b50610643611029565b005b34801561065157600080fd5b5061065a611175565b6040516106679190613495565b60405180910390f35b34801561067c57600080fd5b5061068561117b565b60405161069291906135e6565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd919061362d565b6111a1565b005b3480156106d057600080fd5b506106d961128a565b6040516106e69190613495565b60405180910390f35b3480156106fb57600080fd5b5061071660048036038101906107119190613598565b611290565b60405161072391906133f1565b60405180910390f35b34801561073857600080fd5b506107416112b0565b60405161074e9190613512565b60405180910390f35b34801561076357600080fd5b5061076c6112d9565b6040516107799190613495565b60405180910390f35b34801561078e57600080fd5b506107976112df565b6040516107a491906132cc565b60405180910390f35b3480156107b957600080fd5b506107c2611371565b6040516107cf9190613495565b60405180910390f35b3480156107e457600080fd5b506107ed611377565b6040516107fa9190613495565b60405180910390f35b34801561080f57600080fd5b50610818611381565b6040516108259190613495565b60405180910390f35b34801561083a57600080fd5b5061085560048036038101906108509190613396565b611387565b60405161086291906133f1565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d9190613396565b611454565b60405161089f91906133f1565b60405180910390f35b3480156108b457600080fd5b506108bd611473565b6040516108ca9190613495565b60405180910390f35b3480156108df57600080fd5b506108e8611479565b6040516108f59190613495565b60405180910390f35b34801561090a57600080fd5b50610925600480360381019061092091906137b5565b61147f565b005b34801561093357600080fd5b5061094e60048036038101906109499190613598565b6115a2565b60405161095b91906133f1565b60405180910390f35b34801561097057600080fd5b506109796115c2565b6040516109869190613495565b60405180910390f35b34801561099b57600080fd5b506109a46115c8565b6040516109b19190613512565b60405180910390f35b3480156109c657600080fd5b506109cf6115ee565b6040516109dc9190613495565b60405180910390f35b3480156109f157600080fd5b50610a0c6004803603810190610a079190613598565b6115f4565b604051610a1991906133f1565b60405180910390f35b348015610a2e57600080fd5b50610a37611614565b604051610a4491906135e6565b60405180910390f35b348015610a5957600080fd5b50610a6261163a565b604051610a6f9190613495565b60405180910390f35b348015610a8457600080fd5b50610a9f6004803603810190610a9a91906137fe565b611640565b604051610aac9190613495565b60405180910390f35b348015610ac157600080fd5b50610adc6004803603810190610ad7919061383e565b6116c7565b005b348015610aea57600080fd5b50610b056004803603810190610b00919061362d565b61175f565b005b348015610b1357600080fd5b50610b1c611848565b604051610b299190613495565b60405180910390f35b348015610b3e57600080fd5b50610b596004803603810190610b549190613598565b61184e565b005b348015610b6757600080fd5b50610b826004803603810190610b7d919061362d565b611a08565b005b348015610b9057600080fd5b50610bab6004803603810190610ba6919061386b565b611af1565b005b606060018054610bbc906138da565b80601f0160208091040260200160405190810160405280929190818152602001828054610be8906138da565b8015610c355780601f10610c0a57610100808354040283529160200191610c35565b820191906000526020600020905b815481529060010190602001808311610c1857829003601f168201915b5050505050905090565b6000610c53610c4c611bef565b8484611bf7565b6001905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610c9a848484611dc0565b50610d5c84610ca7611bef565b610d57856040518060600160405280602881526020016143b860289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d0d611bef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b611bf7565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610dca610db97f000000000000000000000000000000000000000000000000000000000000dead610fe0565b60195461268890919063ffffffff16565b905090565b60115481565b6000600360009054906101000a900460ff16905090565b600c5481565b6000610e9b610dff611bef565b84610e968560066000610e10611bef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b611bf7565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601e5481565b60076020528060005260406000206000915054906101000a900460ff1681565b60135481565b60145481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90613957565b60405180910390fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae90613957565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60175481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122690613957565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e5481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b6060600280546112ee906138da565b80601f016020809104026020016040519081016040528092919081815260200182805461131a906138da565b80156113675780601f1061133c57610100808354040283529160200191611367565b820191906000526020600020905b81548152906001019060200180831161134a57829003601f168201915b5050505050905090565b60125481565b6000601b54905090565b60185481565b600061144a611394611bef565b84611445856040518060600160405280602581526020016143e060259139600660006113be611bef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b611bf7565b6001905092915050565b6000611468611461611bef565b8484611dc0565b506001905092915050565b601f5481565b60155481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490613957565b60405180910390fd5b60005b815181101561159e576001600b600084848151811061153257611531613977565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611596906139d5565b915050611510565b5050565b600b6020528060005260406000206000915054906101000a900460ff1681565b600f5481565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b60086020528060005260406000206000915054906101000a900460ff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613957565b60405180910390fd5b80601a8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e490613957565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60165481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d390613957565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361194b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194290613a8f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8d90613957565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7690613957565b60405180910390fd5b80601681905550816017819055505050565b6000808284611ba09190613aaf565b905083811015611be5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdc90613b2f565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5d90613bc1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccc90613c53565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611db39190613495565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2790613ce5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9690613d77565b60405180910390fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f435750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7990613de3565b60405180910390fd5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806120295750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561208657601a548261203b85610fe0565b6120459190613aaf565b10612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207c90613e75565b60405180910390fd5b5b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561212d5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561217257600061213d85610fe0565b90508083036121705761216d61215e602054856126d290919063ffffffff16565b8461268890919063ffffffff16565b92505b505b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121d7575060006121d584610fe0565b145b156121e45743601e819055505b602160009054906101000a900460ff161561220b5761220484848461271c565b905061261d565b600061221630610fe0565b90506000601b54821015905080801561223c5750602160009054906101000a900460ff16155b80156122925750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122f757601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146122f6576122f5826128ef565b5b5b612380846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124665750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61247a57612475878787612ae0565b61247c565b845b90506124d081600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125709190613495565b60405180910390a3601f54601e546125889190613aaf565b431080156125e35750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b1561261557612613867f000000000000000000000000000000000000000000000000000000000000dead8361271c565b505b600193505050505b9392505050565b600083831115829061266c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266391906132cc565b60405180910390fd5b506000838561267b9190613e95565b9050809150509392505050565b60006126ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612624565b905092915050565b600061271483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d98565b905092915050565b60006127a7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126249092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061283c82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128dc9190613495565b60405180910390a3600190509392505050565b6001602160006101000a81548160ff0219169083151502179055506000612948600261293a60185461292c60135487612dfb90919063ffffffff16565b6126d290919063ffffffff16565b6126d290919063ffffffff16565b9050600061295f828461268890919063ffffffff16565b905061296a81612e75565b6000479050600061299b61298a60026013546126d290919063ffffffff16565b60185461268890919063ffffffff16565b905060006129d960026129cb846129bd60135488612dfb90919063ffffffff16565b6126d290919063ffffffff16565b6126d290919063ffffffff16565b90506000612a04836129f660155487612dfb90919063ffffffff16565b6126d290919063ffffffff16565b90506000612a2d82612a1f858861268890919063ffffffff16565b61268890919063ffffffff16565b90506000811115612a6557612a64600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826130f1565b5b6000821115612a9b57612a9a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836130f1565b5b600083118015612aab5750600087115b15612abb57612aba878461313c565b5b505050505050506000602160006101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b6857612b616064612b5360165486612dfb90919063ffffffff16565b6126d290919063ffffffff16565b9050612c77565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c7657612be26064612bd460175486612dfb90919063ffffffff16565b6126d290919063ffffffff16565b9050600080600090505b600c548113612c4557808542604051602001612c0a93929190613f0b565b6040516020818303038152906040528051906020012060001c9150612c318783606461271c565b508080612c3d90613f48565b915050612bec565b50612c7360646001600c54612c5a9190613f90565b612c649190613fd4565b8561268890919063ffffffff16565b50505b5b6000811115612d7b57612cd281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d729190613495565b60405180910390a35b612d8e818461268890919063ffffffff16565b9150509392505050565b60008083118290612ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd691906132cc565b60405180910390fd5b5060008385612dee9190614045565b9050809150509392505050565b6000808303612e0d5760009050612e6f565b60008284612e1b9190613fd4565b9050828482612e2a9190614045565b14612e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e61906140e8565b60405180910390fd5b809150505b92915050565b6000600267ffffffffffffffff811115612e9257612e91613672565b5b604051908082528060200260200182016040528015612ec05781602001602082028036833780820191505090505b5090503081600081518110612ed857612ed7613977565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa3919061411d565b81600181518110612fb757612fb6613977565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061301e30601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bf7565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613082959493929190614243565b600060405180830381600087803b15801561309c57600080fd5b505af11580156130b0573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516130e592919061429d565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613137573d6000803e3d6000fd5b505050565b61316930601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611bf7565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016131f2969594939291906142ee565b60606040518083038185885af1158015613210573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132359190614364565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561327657808201518184015260208101905061325b565b60008484015250505050565b6000601f19601f8301169050919050565b600061329e8261323c565b6132a88185613247565b93506132b8818560208601613258565b6132c181613282565b840191505092915050565b600060208201905081810360008301526132e68184613293565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061332d82613302565b9050919050565b61333d81613322565b811461334857600080fd5b50565b60008135905061335a81613334565b92915050565b6000819050919050565b61337381613360565b811461337e57600080fd5b50565b6000813590506133908161336a565b92915050565b600080604083850312156133ad576133ac6132f8565b5b60006133bb8582860161334b565b92505060206133cc85828601613381565b9150509250929050565b60008115159050919050565b6133eb816133d6565b82525050565b600060208201905061340660008301846133e2565b92915050565b6000819050919050565b600061343161342c61342784613302565b61340c565b613302565b9050919050565b600061344382613416565b9050919050565b600061345582613438565b9050919050565b6134658161344a565b82525050565b6000602082019050613480600083018461345c565b92915050565b61348f81613360565b82525050565b60006020820190506134aa6000830184613486565b92915050565b6000806000606084860312156134c9576134c86132f8565b5b60006134d78682870161334b565b93505060206134e88682870161334b565b92505060406134f986828701613381565b9150509250925092565b61350c81613322565b82525050565b60006020820190506135276000830184613503565b92915050565b600060ff82169050919050565b6135438161352d565b82525050565b600060208201905061355e600083018461353a565b92915050565b6000819050919050565b61357781613564565b82525050565b6000602082019050613592600083018461356e565b92915050565b6000602082840312156135ae576135ad6132f8565b5b60006135bc8482850161334b565b91505092915050565b60006135d082613302565b9050919050565b6135e0816135c5565b82525050565b60006020820190506135fb60008301846135d7565b92915050565b61360a816133d6565b811461361557600080fd5b50565b60008135905061362781613601565b92915050565b60008060408385031215613644576136436132f8565b5b60006136528582860161334b565b925050602061366385828601613618565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6136aa82613282565b810181811067ffffffffffffffff821117156136c9576136c8613672565b5b80604052505050565b60006136dc6132ee565b90506136e882826136a1565b919050565b600067ffffffffffffffff82111561370857613707613672565b5b602082029050602081019050919050565b600080fd5b600061373161372c846136ed565b6136d2565b9050808382526020820190506020840283018581111561375457613753613719565b5b835b8181101561377d5780613769888261334b565b845260208401935050602081019050613756565b5050509392505050565b600082601f83011261379c5761379b61366d565b5b81356137ac84826020860161371e565b91505092915050565b6000602082840312156137cb576137ca6132f8565b5b600082013567ffffffffffffffff8111156137e9576137e86132fd565b5b6137f584828501613787565b91505092915050565b60008060408385031215613815576138146132f8565b5b60006138238582860161334b565b92505060206138348582860161334b565b9150509250929050565b600060208284031215613854576138536132f8565b5b600061386284828501613381565b91505092915050565b60008060408385031215613882576138816132f8565b5b600061389085828601613381565b92505060206138a185828601613381565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138f257607f821691505b602082108103613905576139046138ab565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613941602083613247565b915061394c8261390b565b602082019050919050565b6000602082019050818103600083015261397081613934565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139e082613360565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613a1257613a116139a6565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a79602683613247565b9150613a8482613a1d565b604082019050919050565b60006020820190508181036000830152613aa881613a6c565b9050919050565b6000613aba82613360565b9150613ac583613360565b9250828201905080821115613add57613adc6139a6565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613b19601b83613247565b9150613b2482613ae3565b602082019050919050565b60006020820190508181036000830152613b4881613b0c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613bab602483613247565b9150613bb682613b4f565b604082019050919050565b60006020820190508181036000830152613bda81613b9e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c3d602283613247565b9150613c4882613be1565b604082019050919050565b60006020820190508181036000830152613c6c81613c30565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ccf602583613247565b9150613cda82613c73565b604082019050919050565b60006020820190508181036000830152613cfe81613cc2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d61602383613247565b9150613d6c82613d05565b604082019050919050565b60006020820190508181036000830152613d9081613d54565b9050919050565b7f45524332303a207472616e7366657220746f20626f7473000000000000000000600082015250565b6000613dcd601783613247565b9150613dd882613d97565b602082019050919050565b60006020820190508181036000830152613dfc81613dc0565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613e5f602383613247565b9150613e6a82613e03565b604082019050919050565b60006020820190508181036000830152613e8e81613e52565b9050919050565b6000613ea082613360565b9150613eab83613360565b9250828203905081811115613ec357613ec26139a6565b5b92915050565b6000819050919050565b613ee4613edf82613564565b613ec9565b82525050565b6000819050919050565b613f05613f0082613360565b613eea565b82525050565b6000613f178286613ed3565b602082019150613f278285613ef4565b602082019150613f378284613ef4565b602082019150819050949350505050565b6000613f5382613564565b91507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f8557613f846139a6565b5b600182019050919050565b6000613f9b82613564565b9150613fa683613564565b925082820190508281121560008312168382126000841215161715613fce57613fcd6139a6565b5b92915050565b6000613fdf82613360565b9150613fea83613360565b9250828202613ff881613360565b9150828204841483151761400f5761400e6139a6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061405082613360565b915061405b83613360565b92508261406b5761406a614016565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140d2602183613247565b91506140dd82614076565b604082019050919050565b60006020820190508181036000830152614101816140c5565b9050919050565b60008151905061411781613334565b92915050565b600060208284031215614133576141326132f8565b5b600061414184828501614108565b91505092915050565b6000819050919050565b600061416f61416a6141658461414a565b61340c565b613360565b9050919050565b61417f81614154565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141ba81613322565b82525050565b60006141cc83836141b1565b60208301905092915050565b6000602082019050919050565b60006141f082614185565b6141fa8185614190565b9350614205836141a1565b8060005b8381101561423657815161421d88826141c0565b9750614228836141d8565b925050600181019050614209565b5085935050505092915050565b600060a0820190506142586000830188613486565b6142656020830187614176565b818103604083015261427781866141e5565b90506142866060830185613503565b6142936080830184613486565b9695505050505050565b60006040820190506142b26000830185613486565b81810360208301526142c481846141e5565b90509392505050565b60006142d882613438565b9050919050565b6142e8816142cd565b82525050565b600060c0820190506143036000830189613503565b6143106020830188613486565b61431d6040830187614176565b61432a6060830186614176565b61433760808301856142df565b61434460a0830184613486565b979650505050505050565b60008151905061435e8161336a565b92915050565b60008060006060848603121561437d5761437c6132f8565b5b600061438b8682870161434f565b935050602061439c8682870161434f565b92505060406143ad8682870161434f565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203912149a8476bfc6d5d0da269d449f099495a3b3c3fabd91d8cb386e7114b70d64736f6c63430008120033

Deployed Bytecode Sourcemap

6380:13624:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10012:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11560:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8093:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10289:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13208:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6738:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12624:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7446:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10198:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7221:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10716:300;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7125:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8176:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6957:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7534:72;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7613;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19785:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10397:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3488:148;;;;;;;;;;;;;:::i;:::-;;7806:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6667:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12140:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7304:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7071:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3276:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7957:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10103:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7489:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11432:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7846:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11024:400;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13001:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8210:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7692:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19608:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7176:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7353;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8141:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7396:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7013:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6593:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7261:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10524:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19886:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12458:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7767:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3644:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12300:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19439:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10012:83;10049:13;10082:5;10075:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10012:83;:::o;11560:193::-;11662:4;11684:39;11693:12;:10;:12::i;:::-;11707:7;11716:6;11684:8;:39::i;:::-;11741:4;11734:11;;11560:193;;;;:::o;8093:41::-;;;;;;;;;;;;;:::o;10289:100::-;10342:7;10369:12;;10362:19;;10289:100;:::o;13208:446::-;13340:4;13357:36;13367:6;13375:9;13386:6;13357:9;:36::i;:::-;;13404:220;13427:6;13448:12;:10;:12::i;:::-;13475:138;13531:6;13475:138;;;;;;;;;;;;;;;;;:11;:19;13487:6;13475:19;;;;;;;;;;;;;;;:33;13495:12;:10;:12::i;:::-;13475:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;13404:8;:220::i;:::-;13642:4;13635:11;;13208:446;;;;;:::o;6738:90::-;;;:::o;12624:128::-;12677:7;12704:40;12721:22;12731:11;12721:9;:22::i;:::-;12704:12;;:16;;:40;;;;:::i;:::-;12697:47;;12624:128;:::o;7446:36::-;;;;:::o;10198:83::-;10239:5;10264:9;;;;;;;;;;;10257:16;;10198:83;:::o;7221:30::-;;;;:::o;10716:300::-;10831:4;10853:133;10876:12;:10;:12::i;:::-;10903:7;10925:50;10964:10;10925:11;:25;10937:12;:10;:12::i;:::-;10925:25;;;;;;;;;;;;;;;:34;10951:7;10925:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;10853:8;:133::i;:::-;11004:4;10997:11;;10716:300;;;;:::o;7125:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;8176:27::-;;;;:::o;6957:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;7534:72::-;;;;:::o;7613:::-;;;;:::o;19785:93::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;19865:5:::1;19850:4;:12;19855:6;19850:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;19785:93:::0;:::o;10397:119::-;10463:7;10490:9;:18;10500:7;10490:18;;;;;;;;;;;;;;;;10483:25;;10397:119;;;:::o;3488:148::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3595:1:::1;3558:40;;3579:6;::::0;::::1;;;;;;;;3558:40;;;;;;;;;;;;3626:1;3609:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3488:148::o:0;7806:33::-;;;;:::o;6667:64::-;;;;;;;;;;;;;:::o;12140:152::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;12276:8:::1;12252:12;:21;12265:7;12252:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;12140:152:::0;;:::o;7304:36::-;;;;:::o;7071:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;3276:79::-;3314:7;3341:6;;;;;;;;;;;3334:13;;3276:79;:::o;7957:56::-;;;;:::o;10103:87::-;10142:13;10175:7;10168:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10103:87;:::o;7489:36::-;;;;:::o;11432:120::-;11494:7;11521:23;;11514:30;;11432:120;:::o;7846:39::-;;;;:::o;11024:400::-;11144:4;11166:228;11189:12;:10;:12::i;:::-;11216:7;11238:145;11295:15;11238:145;;;;;;;;;;;;;;;;;:11;:25;11250:12;:10;:12::i;:::-;11238:25;;;;;;;;;;;;;;;:34;11264:7;11238:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;11166:8;:228::i;:::-;11412:4;11405:11;;11024:400;;;;:::o;13001:199::-;13106:4;13128:42;13138:12;:10;:12::i;:::-;13152:9;13163:6;13128:9;:42::i;:::-;;13188:4;13181:11;;13001:199;;;;:::o;8210:28::-;;;;:::o;7692:66::-;;;;:::o;19608:169::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;19684:9:::1;19679:91;19703:5;:12;19699:1;:16;19679:91;;;19754:4;19737;:14;19742:5;19748:1;19742:8;;;;;;;;:::i;:::-;;;;;;;;19737:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;19717:3;;;;;:::i;:::-;;;;19679:91;;;;19608:169:::0;:::o;7176:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;7353:::-;;;;:::o;8141:26::-;;;;;;;;;;;;;:::o;7396:37::-;;;;:::o;7013:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;6593:67::-;;;;;;;;;;;;;:::o;7261:36::-;;;;:::o;10524:184::-;10641:7;10673:11;:18;10685:5;10673:18;;;;;;;;;;;;;;;:27;10692:7;10673:27;;;;;;;;;;;;;;;;10666:34;;10524:184;;;;:::o;19886:115::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;19980:13:::1;19963:14;:30;;;;19886:115:::0;:::o;12458:158::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;12600:8:::1;12571:17;:26;12589:7;12571:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12458:158:::0;;:::o;7767:32::-;;;;:::o;3644:281::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3767:1:::1;3747:22;;:8;:22;;::::0;3725:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3880:8;3851:38;;3872:6;::::0;::::1;;;;;;;;3851:38;;;;;;;;;;;;3909:8;3900:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3644:281:::0;:::o;12300:150::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;12436:6:::1;12410:15;:23;12426:6;12410:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;12300:150:::0;;:::o;19439:161::-;3413:10;3403:20;;:6;;;;;;;;;;:20;;;3395:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;19543:8:::1;19522:17;:29;;;;19583:9;19562:18;:30;;;;19439:161:::0;;:::o;1306:181::-;1364:7;1384:9;1400:1;1396;:5;;;;:::i;:::-;1384:17;;1425:1;1420;:6;;1412:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1478:1;1471:8;;;1306:181;;;;:::o;358:115::-;411:15;454:10;439:26;;358:115;:::o;11761:371::-;11905:1;11888:19;;:5;:19;;;11880:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11986:1;11967:21;;:7;:21;;;11959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12070:6;12040:11;:18;12052:5;12040:18;;;;;;;;;;;;;;;:27;12059:7;12040:27;;;;;;;;;;;;;;;:36;;;;12108:7;12092:32;;12101:5;12092:32;;;12117:6;12092:32;;;;;;:::i;:::-;;;;;;;;11761:371;;;:::o;13662:2293::-;13783:4;13826:1;13808:20;;:6;:20;;;13800:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13910:1;13889:23;;:9;:23;;;13881:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13972:4;:12;13977:6;13972:12;;;;;;;;;;;;;;;;;;;;;;;;;13971:13;:33;;;;;13989:4;:15;13994:9;13989:15;;;;;;;;;;;;;;;;;;;;;;;;;13988:16;13971:33;13963:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14061:11;;;;;;;;;;;14048:24;;:9;:24;;;;:59;;;;14077:19;:30;14097:9;14077:30;;;;;;;;;;;;;;;;;;;;;;;;;14076:31;14048:59;14045:185;;;14164:14;;14155:6;14132:20;14142:9;14132;:20::i;:::-;:29;;;;:::i;:::-;:46;14124:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;14045:185;14259:11;;;;;;;;;;;14246:24;;:9;:24;;;:52;;;;;14275:15;:23;14291:6;14275:23;;;;;;;;;;;;;;;;;;;;;;;;;14274:24;14246:52;14242:237;;;14315:15;14333:17;14343:6;14333:9;:17::i;:::-;14315:35;;14379:7;14369:6;:17;14365:103;;14416:36;14427:24;14438:12;;14427:6;:10;;:24;;;;:::i;:::-;14416:6;:10;;:36;;;;:::i;:::-;14407:45;;14365:103;14300:179;14242:237;14506:11;;;;;;;;;;;14493:24;;:9;:24;;;:62;;;;;14554:1;14521:29;14539:9;14521;:29::i;:::-;:34;14493:62;14489:122;;;14587:12;14572;:27;;;;14489:122;14627:16;;;;;;;;;;;14623:1325;;;14667:41;14682:6;14690:9;14701:6;14667:14;:41::i;:::-;14660:48;;;;14623:1325;14741:28;14772:24;14790:4;14772:9;:24::i;:::-;14741:55;;14811:28;14883:23;;14842:20;:64;;14811:95;;14945:23;:61;;;;;14990:16;;;;;;;;;;;14989:17;14945:61;:103;;;;;15028:12;:20;15041:6;15028:20;;;;;;;;;;;;;;;;;;;;;;;;;15027:21;14945:103;14923:294;;;15105:15;;;;;;;;;;;15087:34;;:6;:34;;;15083:119;;15146:36;15161:20;15146:14;:36::i;:::-;15083:119;14923:294;15253:102;15293:6;15253:102;;;;;;;;;;;;;;;;;:9;:17;15263:6;15253:17;;;;;;;;;;;;;;;;:21;;:102;;;;;:::i;:::-;15233:9;:17;15243:6;15233:17;;;;;;;;;;;;;;;:122;;;;15372:19;15395:17;:25;15413:6;15395:25;;;;;;;;;;;;;;;;;;;;;;;;;:74;;;;15441:17;:28;15459:9;15441:28;;;;;;;;;;;;;;;;;;;;;;;;;15395:74;15394:156;;15516:34;15524:6;15532:9;15543:6;15516:7;:34::i;:::-;15394:156;;;15490:6;15394:156;15372:178;;15590:37;15615:11;15590:9;:20;15600:9;15590:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;15567:9;:20;15577:9;15567:20;;;;;;;;;;;;;;;:60;;;;15666:9;15649:40;;15658:6;15649:40;;;15677:11;15649:40;;;;;;:::i;:::-;;;;;;;;15757:9;;15742:12;;:24;;;;:::i;:::-;15726:12;:41;:83;;;;;15798:11;;;;;;;;;;;15788:21;;:6;:21;;;15726:83;15704:207;;;15844:51;15859:9;15870:11;15883;15844:14;:51::i;:::-;;15704:207;15932:4;15925:11;;;;;13662:2293;;;;;;:::o;1639:226::-;1759:7;1792:1;1787;:6;;1795:12;1779:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1819:9;1835:1;1831;:5;;;;:::i;:::-;1819:17;;1856:1;1849:8;;;1639:226;;;;;:::o;1495:136::-;1553:7;1580:43;1584:1;1587;1580:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1573:50;;1495:136;;;;:::o;2131:132::-;2189:7;2216:39;2220:1;2223;2216:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2209:46;;2131:132;;;;:::o;15963:401::-;16090:4;16127:90;16163:6;16127:90;;;;;;;;;;;;;;;;;:9;:17;16137:6;16127:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;16107:9;:17;16117:6;16107:17;;;;;;;;;;;;;;;:110;;;;16251:32;16276:6;16251:9;:20;16261:9;16251:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16228:9;:20;16238:9;16228:20;;;;;;;;;;;;;;;:55;;;;16316:9;16299:35;;16308:6;16299:35;;;16327:6;16299:35;;;;;;:::i;:::-;;;;;;;;16352:4;16345:11;;15963:401;;;;;:::o;16372:1211::-;8629:4;8610:16;;:23;;;;;;;;;;;;;;;;;;16444:19:::1;16466:107;16571:1;16466:86;16527:24;;16466:42;16492:15;;16466:7;:25;;:42;;;;:::i;:::-;:60;;:86;;;;:::i;:::-;:104;;:107;;;;:::i;:::-;16444:129;;16586:21;16610:24;16622:11;16610:7;:11;;:24;;;;:::i;:::-;16586:48;;16647:31;16664:13;16647:16;:31::i;:::-;16699:22;16724:21;16699:46;;16758:19;16780:76;16823:22;16843:1;16823:15;;:19;;:22;;;;:::i;:::-;16780:24;;:28;;:76;;;;:::i;:::-;16758:98;;16867:26;16896:101;16995:1;16896:80;16964:11;16896:49;16929:15;;16896:14;:32;;:49;;;;:::i;:::-;:67;;:80;;;;:::i;:::-;:98;;:101;;;;:::i;:::-;16867:130;;17008:23;17034:73;17085:11;17034:32;17053:12;;17034:14;:18;;:32;;;;:::i;:::-;:36;;:73;;;;:::i;:::-;17008:99;;17118:26;17147:83;17204:15;17147:38;17166:18;17147:14;:18;;:38;;;;:::i;:::-;:42;;:83;;;;:::i;:::-;17118:112;;17268:1;17247:18;:22;17243:105;;;17284:64;17305:22;;;;;;;;;;;17329:18;17284:20;:64::i;:::-;17243:105;17383:1;17365:15;:19;17361:96;;;17399:58;17420:19;;;;;;;;;;;17441:15;17399:20;:58::i;:::-;17361:96;17495:1;17474:18;:22;:41;;;;;17514:1;17500:11;:15;17474:41;17470:105;;;17530:45;17543:11;17556:18;17530:12;:45::i;:::-;17470:105;16433:1150;;;;;;;8675:5:::0;8656:16;;:24;;;;;;;;;;;;;;;;;;16372:1211;:::o;18508:923::-;18628:7;18648:17;18668:1;18648:21;;18684:12;:20;18697:6;18684:20;;;;;;;;;;;;;;;;;;;;;;;;;18680:509;;;18733:38;18767:3;18733:29;18744:17;;18733:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;18721:50;;18680:509;;;18793:12;:23;18806:9;18793:23;;;;;;;;;;;;;;;;;;;;;;;;;18789:400;;;18845:39;18880:3;18845:30;18856:18;;18845:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;18833:51;;18899:10;18928:5;18934:1;18928:7;;18924:199;18940:11;;18936:1;:15;18924:199;;19028:1;19031:6;19039:15;19011:44;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19001:55;;;;;;18996:61;;18975:84;;19078:29;19093:6;19100:2;19103:3;19078:14;:29::i;:::-;;18952:3;;;;;:::i;:::-;;;;18924:199;;;;19137:40;19173:3;19168:1;19156:11;;:13;;;;:::i;:::-;19148:28;;;;:::i;:::-;19137:6;:10;;:40;;;;:::i;:::-;;18818:371;18789:400;18680:509;19217:1;19205:9;:13;19201:174;;;19262:39;19291:9;19262;:24;19280:4;19262:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;19235:9;:24;19253:4;19235:24;;;;;;;;;;;;;;;:66;;;;19346:4;19321:42;;19330:6;19321:42;;;19353:9;19321:42;;;;;;:::i;:::-;;;;;;;;19201:174;19402:21;19413:9;19402:6;:10;;:21;;;;:::i;:::-;19395:28;;;18508:923;;;;;:::o;2271:312::-;2391:7;2423:1;2419;:5;2426:12;2411:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2450:9;2466:1;2462;:5;;;;:::i;:::-;2450:17;;2574:1;2567:8;;;2271:312;;;;;:::o;1873:250::-;1931:7;1960:1;1955;:6;1951:47;;1985:1;1978:8;;;;1951:47;2010:9;2026:1;2022;:5;;;;:::i;:::-;2010:17;;2055:1;2050;2046;:5;;;;:::i;:::-;:10;2038:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2114:1;2107:8;;;1873:250;;;;;:::o;17595:522::-;17661:21;17699:1;17685:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17661:40;;17730:4;17712;17717:1;17712:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17756:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17746:4;17751:1;17746:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17789:62;17806:4;17821:15;;;;;;;;;;;17839:11;17789:8;:62::i;:::-;17862:15;;;;;;;;;;;:66;;;17943:11;17969:1;17985:4;18012;18032:15;17862:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18074:35;18091:11;18104:4;18074:35;;;;;;;:::i;:::-;;;;;;;;17650:467;17595:522;:::o;12760:140::-;12866:9;:18;;:26;12885:6;12866:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12760:140;;:::o;18125:375::-;18206:62;18223:4;18238:15;;;;;;;;;;;18256:11;18206:8;:62::i;:::-;18279:15;;;;;;;;;;;:31;;;18318:9;18351:4;18371:11;18397:1;18413;18429:22;;;;;;;;;;;18466:15;18279:213;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18125:375;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:118::-;5483:24;5501:5;5483:24;:::i;:::-;5478:3;5471:37;5396:118;;:::o;5520:222::-;5613:4;5651:2;5640:9;5636:18;5628:26;;5664:71;5732:1;5721:9;5717:17;5708:6;5664:71;:::i;:::-;5520:222;;;;:::o;5748:86::-;5783:7;5823:4;5816:5;5812:16;5801:27;;5748:86;;;:::o;5840:112::-;5923:22;5939:5;5923:22;:::i;:::-;5918:3;5911:35;5840:112;;:::o;5958:214::-;6047:4;6085:2;6074:9;6070:18;6062:26;;6098:67;6162:1;6151:9;6147:17;6138:6;6098:67;:::i;:::-;5958:214;;;;:::o;6178:76::-;6214:7;6243:5;6232:16;;6178:76;;;:::o;6260:115::-;6345:23;6362:5;6345:23;:::i;:::-;6340:3;6333:36;6260:115;;:::o;6381:218::-;6472:4;6510:2;6499:9;6495:18;6487:26;;6523:69;6589:1;6578:9;6574:17;6565:6;6523:69;:::i;:::-;6381:218;;;;:::o;6605:329::-;6664:6;6713:2;6701:9;6692:7;6688:23;6684:32;6681:119;;;6719:79;;:::i;:::-;6681:119;6839:1;6864:53;6909:7;6900:6;6889:9;6885:22;6864:53;:::i;:::-;6854:63;;6810:117;6605:329;;;;:::o;6940:104::-;6985:7;7014:24;7032:5;7014:24;:::i;:::-;7003:35;;6940:104;;;:::o;7050:142::-;7153:32;7179:5;7153:32;:::i;:::-;7148:3;7141:45;7050:142;;:::o;7198:254::-;7307:4;7345:2;7334:9;7330:18;7322:26;;7358:87;7442:1;7431:9;7427:17;7418:6;7358:87;:::i;:::-;7198:254;;;;:::o;7458:116::-;7528:21;7543:5;7528:21;:::i;:::-;7521:5;7518:32;7508:60;;7564:1;7561;7554:12;7508:60;7458:116;:::o;7580:133::-;7623:5;7661:6;7648:20;7639:29;;7677:30;7701:5;7677:30;:::i;:::-;7580:133;;;;:::o;7719:468::-;7784:6;7792;7841:2;7829:9;7820:7;7816:23;7812:32;7809:119;;;7847:79;;:::i;:::-;7809:119;7967:1;7992:53;8037:7;8028:6;8017:9;8013:22;7992:53;:::i;:::-;7982:63;;7938:117;8094:2;8120:50;8162:7;8153:6;8142:9;8138:22;8120:50;:::i;:::-;8110:60;;8065:115;7719:468;;;;;:::o;8193:117::-;8302:1;8299;8292:12;8316:180;8364:77;8361:1;8354:88;8461:4;8458:1;8451:15;8485:4;8482:1;8475:15;8502:281;8585:27;8607:4;8585:27;:::i;:::-;8577:6;8573:40;8715:6;8703:10;8700:22;8679:18;8667:10;8664:34;8661:62;8658:88;;;8726:18;;:::i;:::-;8658:88;8766:10;8762:2;8755:22;8545:238;8502:281;;:::o;8789:129::-;8823:6;8850:20;;:::i;:::-;8840:30;;8879:33;8907:4;8899:6;8879:33;:::i;:::-;8789:129;;;:::o;8924:311::-;9001:4;9091:18;9083:6;9080:30;9077:56;;;9113:18;;:::i;:::-;9077:56;9163:4;9155:6;9151:17;9143:25;;9223:4;9217;9213:15;9205:23;;8924:311;;;:::o;9241:117::-;9350:1;9347;9340:12;9381:710;9477:5;9502:81;9518:64;9575:6;9518:64;:::i;:::-;9502:81;:::i;:::-;9493:90;;9603:5;9632:6;9625:5;9618:21;9666:4;9659:5;9655:16;9648:23;;9719:4;9711:6;9707:17;9699:6;9695:30;9748:3;9740:6;9737:15;9734:122;;;9767:79;;:::i;:::-;9734:122;9882:6;9865:220;9899:6;9894:3;9891:15;9865:220;;;9974:3;10003:37;10036:3;10024:10;10003:37;:::i;:::-;9998:3;9991:50;10070:4;10065:3;10061:14;10054:21;;9941:144;9925:4;9920:3;9916:14;9909:21;;9865:220;;;9869:21;9483:608;;9381:710;;;;;:::o;10114:370::-;10185:5;10234:3;10227:4;10219:6;10215:17;10211:27;10201:122;;10242:79;;:::i;:::-;10201:122;10359:6;10346:20;10384:94;10474:3;10466:6;10459:4;10451:6;10447:17;10384:94;:::i;:::-;10375:103;;10191:293;10114:370;;;;:::o;10490:539::-;10574:6;10623:2;10611:9;10602:7;10598:23;10594:32;10591:119;;;10629:79;;:::i;:::-;10591:119;10777:1;10766:9;10762:17;10749:31;10807:18;10799:6;10796:30;10793:117;;;10829:79;;:::i;:::-;10793:117;10934:78;11004:7;10995:6;10984:9;10980:22;10934:78;:::i;:::-;10924:88;;10720:302;10490:539;;;;:::o;11035:474::-;11103:6;11111;11160:2;11148:9;11139:7;11135:23;11131:32;11128:119;;;11166:79;;:::i;:::-;11128:119;11286:1;11311:53;11356:7;11347:6;11336:9;11332:22;11311:53;:::i;:::-;11301:63;;11257:117;11413:2;11439:53;11484:7;11475:6;11464:9;11460:22;11439:53;:::i;:::-;11429:63;;11384:118;11035:474;;;;;:::o;11515:329::-;11574:6;11623:2;11611:9;11602:7;11598:23;11594:32;11591:119;;;11629:79;;:::i;:::-;11591:119;11749:1;11774:53;11819:7;11810:6;11799:9;11795:22;11774:53;:::i;:::-;11764:63;;11720:117;11515:329;;;;:::o;11850:474::-;11918:6;11926;11975:2;11963:9;11954:7;11950:23;11946:32;11943:119;;;11981:79;;:::i;:::-;11943:119;12101:1;12126:53;12171:7;12162:6;12151:9;12147:22;12126:53;:::i;:::-;12116:63;;12072:117;12228:2;12254:53;12299:7;12290:6;12279:9;12275:22;12254:53;:::i;:::-;12244:63;;12199:118;11850:474;;;;;:::o;12330:180::-;12378:77;12375:1;12368:88;12475:4;12472:1;12465:15;12499:4;12496:1;12489:15;12516:320;12560:6;12597:1;12591:4;12587:12;12577:22;;12644:1;12638:4;12634:12;12665:18;12655:81;;12721:4;12713:6;12709:17;12699:27;;12655:81;12783:2;12775:6;12772:14;12752:18;12749:38;12746:84;;12802:18;;:::i;:::-;12746:84;12567:269;12516:320;;;:::o;12842:182::-;12982:34;12978:1;12970:6;12966:14;12959:58;12842:182;:::o;13030:366::-;13172:3;13193:67;13257:2;13252:3;13193:67;:::i;:::-;13186:74;;13269:93;13358:3;13269:93;:::i;:::-;13387:2;13382:3;13378:12;13371:19;;13030:366;;;:::o;13402:419::-;13568:4;13606:2;13595:9;13591:18;13583:26;;13655:9;13649:4;13645:20;13641:1;13630:9;13626:17;13619:47;13683:131;13809:4;13683:131;:::i;:::-;13675:139;;13402:419;;;:::o;13827:180::-;13875:77;13872:1;13865:88;13972:4;13969:1;13962:15;13996:4;13993:1;13986:15;14013:180;14061:77;14058:1;14051:88;14158:4;14155:1;14148:15;14182:4;14179:1;14172:15;14199:233;14238:3;14261:24;14279:5;14261:24;:::i;:::-;14252:33;;14307:66;14300:5;14297:77;14294:103;;14377:18;;:::i;:::-;14294:103;14424:1;14417:5;14413:13;14406:20;;14199:233;;;:::o;14438:225::-;14578:34;14574:1;14566:6;14562:14;14555:58;14647:8;14642:2;14634:6;14630:15;14623:33;14438:225;:::o;14669:366::-;14811:3;14832:67;14896:2;14891:3;14832:67;:::i;:::-;14825:74;;14908:93;14997:3;14908:93;:::i;:::-;15026:2;15021:3;15017:12;15010:19;;14669:366;;;:::o;15041:419::-;15207:4;15245:2;15234:9;15230:18;15222:26;;15294:9;15288:4;15284:20;15280:1;15269:9;15265:17;15258:47;15322:131;15448:4;15322:131;:::i;:::-;15314:139;;15041:419;;;:::o;15466:191::-;15506:3;15525:20;15543:1;15525:20;:::i;:::-;15520:25;;15559:20;15577:1;15559:20;:::i;:::-;15554:25;;15602:1;15599;15595:9;15588:16;;15623:3;15620:1;15617:10;15614:36;;;15630:18;;:::i;:::-;15614:36;15466:191;;;;:::o;15663:177::-;15803:29;15799:1;15791:6;15787:14;15780:53;15663:177;:::o;15846:366::-;15988:3;16009:67;16073:2;16068:3;16009:67;:::i;:::-;16002:74;;16085:93;16174:3;16085:93;:::i;:::-;16203:2;16198:3;16194:12;16187:19;;15846:366;;;:::o;16218:419::-;16384:4;16422:2;16411:9;16407:18;16399:26;;16471:9;16465:4;16461:20;16457:1;16446:9;16442:17;16435:47;16499:131;16625:4;16499:131;:::i;:::-;16491:139;;16218:419;;;:::o;16643:223::-;16783:34;16779:1;16771:6;16767:14;16760:58;16852:6;16847:2;16839:6;16835:15;16828:31;16643:223;:::o;16872:366::-;17014:3;17035:67;17099:2;17094:3;17035:67;:::i;:::-;17028:74;;17111:93;17200:3;17111:93;:::i;:::-;17229:2;17224:3;17220:12;17213:19;;16872:366;;;:::o;17244:419::-;17410:4;17448:2;17437:9;17433:18;17425:26;;17497:9;17491:4;17487:20;17483:1;17472:9;17468:17;17461:47;17525:131;17651:4;17525:131;:::i;:::-;17517:139;;17244:419;;;:::o;17669:221::-;17809:34;17805:1;17797:6;17793:14;17786:58;17878:4;17873:2;17865:6;17861:15;17854:29;17669:221;:::o;17896:366::-;18038:3;18059:67;18123:2;18118:3;18059:67;:::i;:::-;18052:74;;18135:93;18224:3;18135:93;:::i;:::-;18253:2;18248:3;18244:12;18237:19;;17896:366;;;:::o;18268:419::-;18434:4;18472:2;18461:9;18457:18;18449:26;;18521:9;18515:4;18511:20;18507:1;18496:9;18492:17;18485:47;18549:131;18675:4;18549:131;:::i;:::-;18541:139;;18268:419;;;:::o;18693:224::-;18833:34;18829:1;18821:6;18817:14;18810:58;18902:7;18897:2;18889:6;18885:15;18878:32;18693:224;:::o;18923:366::-;19065:3;19086:67;19150:2;19145:3;19086:67;:::i;:::-;19079:74;;19162:93;19251:3;19162:93;:::i;:::-;19280:2;19275:3;19271:12;19264:19;;18923:366;;;:::o;19295:419::-;19461:4;19499:2;19488:9;19484:18;19476:26;;19548:9;19542:4;19538:20;19534:1;19523:9;19519:17;19512:47;19576:131;19702:4;19576:131;:::i;:::-;19568:139;;19295:419;;;:::o;19720:222::-;19860:34;19856:1;19848:6;19844:14;19837:58;19929:5;19924:2;19916:6;19912:15;19905:30;19720:222;:::o;19948:366::-;20090:3;20111:67;20175:2;20170:3;20111:67;:::i;:::-;20104:74;;20187:93;20276:3;20187:93;:::i;:::-;20305:2;20300:3;20296:12;20289:19;;19948:366;;;:::o;20320:419::-;20486:4;20524:2;20513:9;20509:18;20501:26;;20573:9;20567:4;20563:20;20559:1;20548:9;20544:17;20537:47;20601:131;20727:4;20601:131;:::i;:::-;20593:139;;20320:419;;;:::o;20745:173::-;20885:25;20881:1;20873:6;20869:14;20862:49;20745:173;:::o;20924:366::-;21066:3;21087:67;21151:2;21146:3;21087:67;:::i;:::-;21080:74;;21163:93;21252:3;21163:93;:::i;:::-;21281:2;21276:3;21272:12;21265:19;;20924:366;;;:::o;21296:419::-;21462:4;21500:2;21489:9;21485:18;21477:26;;21549:9;21543:4;21539:20;21535:1;21524:9;21520:17;21513:47;21577:131;21703:4;21577:131;:::i;:::-;21569:139;;21296:419;;;:::o;21721:222::-;21861:34;21857:1;21849:6;21845:14;21838:58;21930:5;21925:2;21917:6;21913:15;21906:30;21721:222;:::o;21949:366::-;22091:3;22112:67;22176:2;22171:3;22112:67;:::i;:::-;22105:74;;22188:93;22277:3;22188:93;:::i;:::-;22306:2;22301:3;22297:12;22290:19;;21949:366;;;:::o;22321:419::-;22487:4;22525:2;22514:9;22510:18;22502:26;;22574:9;22568:4;22564:20;22560:1;22549:9;22545:17;22538:47;22602:131;22728:4;22602:131;:::i;:::-;22594:139;;22321:419;;;:::o;22746:194::-;22786:4;22806:20;22824:1;22806:20;:::i;:::-;22801:25;;22840:20;22858:1;22840:20;:::i;:::-;22835:25;;22884:1;22881;22877:9;22869:17;;22908:1;22902:4;22899:11;22896:37;;;22913:18;;:::i;:::-;22896:37;22746:194;;;;:::o;22946:78::-;22984:7;23013:5;23002:16;;22946:78;;;:::o;23030:153::-;23133:43;23152:23;23169:5;23152:23;:::i;:::-;23133:43;:::i;:::-;23128:3;23121:56;23030:153;;:::o;23189:79::-;23228:7;23257:5;23246:16;;23189:79;;;:::o;23274:157::-;23379:45;23399:24;23417:5;23399:24;:::i;:::-;23379:45;:::i;:::-;23374:3;23367:58;23274:157;;:::o;23437:534::-;23603:3;23618:73;23687:3;23678:6;23618:73;:::i;:::-;23716:2;23711:3;23707:12;23700:19;;23729:75;23800:3;23791:6;23729:75;:::i;:::-;23829:2;23824:3;23820:12;23813:19;;23842:75;23913:3;23904:6;23842:75;:::i;:::-;23942:2;23937:3;23933:12;23926:19;;23962:3;23955:10;;23437:534;;;;;;:::o;23977:231::-;24015:3;24038:23;24055:5;24038:23;:::i;:::-;24029:32;;24083:66;24076:5;24073:77;24070:103;;24153:18;;:::i;:::-;24070:103;24200:1;24193:5;24189:13;24182:20;;23977:231;;;:::o;24214:375::-;24253:3;24272:19;24289:1;24272:19;:::i;:::-;24267:24;;24305:19;24322:1;24305:19;:::i;:::-;24300:24;;24347:1;24344;24340:9;24333:16;;24545:1;24540:3;24536:11;24529:19;24525:1;24522;24518:9;24514:35;24497:1;24492:3;24488:11;24483:1;24480;24476:9;24469:17;24465:35;24449:110;24446:136;;;24562:18;;:::i;:::-;24446:136;24214:375;;;;:::o;24595:410::-;24635:7;24658:20;24676:1;24658:20;:::i;:::-;24653:25;;24692:20;24710:1;24692:20;:::i;:::-;24687:25;;24747:1;24744;24740:9;24769:30;24787:11;24769:30;:::i;:::-;24758:41;;24948:1;24939:7;24935:15;24932:1;24929:22;24909:1;24902:9;24882:83;24859:139;;24978:18;;:::i;:::-;24859:139;24643:362;24595:410;;;;:::o;25011:180::-;25059:77;25056:1;25049:88;25156:4;25153:1;25146:15;25180:4;25177:1;25170:15;25197:185;25237:1;25254:20;25272:1;25254:20;:::i;:::-;25249:25;;25288:20;25306:1;25288:20;:::i;:::-;25283:25;;25327:1;25317:35;;25332:18;;:::i;:::-;25317:35;25374:1;25371;25367:9;25362:14;;25197:185;;;;:::o;25388:220::-;25528:34;25524:1;25516:6;25512:14;25505:58;25597:3;25592:2;25584:6;25580:15;25573:28;25388:220;:::o;25614:366::-;25756:3;25777:67;25841:2;25836:3;25777:67;:::i;:::-;25770:74;;25853:93;25942:3;25853:93;:::i;:::-;25971:2;25966:3;25962:12;25955:19;;25614:366;;;:::o;25986:419::-;26152:4;26190:2;26179:9;26175:18;26167:26;;26239:9;26233:4;26229:20;26225:1;26214:9;26210:17;26203:47;26267:131;26393:4;26267:131;:::i;:::-;26259:139;;25986:419;;;:::o;26411:143::-;26468:5;26499:6;26493:13;26484:22;;26515:33;26542:5;26515:33;:::i;:::-;26411:143;;;;:::o;26560:351::-;26630:6;26679:2;26667:9;26658:7;26654:23;26650:32;26647:119;;;26685:79;;:::i;:::-;26647:119;26805:1;26830:64;26886:7;26877:6;26866:9;26862:22;26830:64;:::i;:::-;26820:74;;26776:128;26560:351;;;;:::o;26917:85::-;26962:7;26991:5;26980:16;;26917:85;;;:::o;27008:158::-;27066:9;27099:61;27117:42;27126:32;27152:5;27126:32;:::i;:::-;27117:42;:::i;:::-;27099:61;:::i;:::-;27086:74;;27008:158;;;:::o;27172:147::-;27267:45;27306:5;27267:45;:::i;:::-;27262:3;27255:58;27172:147;;:::o;27325:114::-;27392:6;27426:5;27420:12;27410:22;;27325:114;;;:::o;27445:184::-;27544:11;27578:6;27573:3;27566:19;27618:4;27613:3;27609:14;27594:29;;27445:184;;;;:::o;27635:132::-;27702:4;27725:3;27717:11;;27755:4;27750:3;27746:14;27738:22;;27635:132;;;:::o;27773:108::-;27850:24;27868:5;27850:24;:::i;:::-;27845:3;27838:37;27773:108;;:::o;27887:179::-;27956:10;27977:46;28019:3;28011:6;27977:46;:::i;:::-;28055:4;28050:3;28046:14;28032:28;;27887:179;;;;:::o;28072:113::-;28142:4;28174;28169:3;28165:14;28157:22;;28072:113;;;:::o;28221:732::-;28340:3;28369:54;28417:5;28369:54;:::i;:::-;28439:86;28518:6;28513:3;28439:86;:::i;:::-;28432:93;;28549:56;28599:5;28549:56;:::i;:::-;28628:7;28659:1;28644:284;28669:6;28666:1;28663:13;28644:284;;;28745:6;28739:13;28772:63;28831:3;28816:13;28772:63;:::i;:::-;28765:70;;28858:60;28911:6;28858:60;:::i;:::-;28848:70;;28704:224;28691:1;28688;28684:9;28679:14;;28644:284;;;28648:14;28944:3;28937:10;;28345:608;;;28221:732;;;;:::o;28959:831::-;29222:4;29260:3;29249:9;29245:19;29237:27;;29274:71;29342:1;29331:9;29327:17;29318:6;29274:71;:::i;:::-;29355:80;29431:2;29420:9;29416:18;29407:6;29355:80;:::i;:::-;29482:9;29476:4;29472:20;29467:2;29456:9;29452:18;29445:48;29510:108;29613:4;29604:6;29510:108;:::i;:::-;29502:116;;29628:72;29696:2;29685:9;29681:18;29672:6;29628:72;:::i;:::-;29710:73;29778:3;29767:9;29763:19;29754:6;29710:73;:::i;:::-;28959:831;;;;;;;;:::o;29796:483::-;29967:4;30005:2;29994:9;29990:18;29982:26;;30018:71;30086:1;30075:9;30071:17;30062:6;30018:71;:::i;:::-;30136:9;30130:4;30126:20;30121:2;30110:9;30106:18;30099:48;30164:108;30267:4;30258:6;30164:108;:::i;:::-;30156:116;;29796:483;;;;;:::o;30285:134::-;30343:9;30376:37;30407:5;30376:37;:::i;:::-;30363:50;;30285:134;;;:::o;30425:147::-;30520:45;30559:5;30520:45;:::i;:::-;30515:3;30508:58;30425:147;;:::o;30578:823::-;30835:4;30873:3;30862:9;30858:19;30850:27;;30887:71;30955:1;30944:9;30940:17;30931:6;30887:71;:::i;:::-;30968:72;31036:2;31025:9;31021:18;31012:6;30968:72;:::i;:::-;31050:80;31126:2;31115:9;31111:18;31102:6;31050:80;:::i;:::-;31140;31216:2;31205:9;31201:18;31192:6;31140:80;:::i;:::-;31230:81;31306:3;31295:9;31291:19;31282:6;31230:81;:::i;:::-;31321:73;31389:3;31378:9;31374:19;31365:6;31321:73;:::i;:::-;30578:823;;;;;;;;;:::o;31407:143::-;31464:5;31495:6;31489:13;31480:22;;31511:33;31538:5;31511:33;:::i;:::-;31407:143;;;;:::o;31556:663::-;31644:6;31652;31660;31709:2;31697:9;31688:7;31684:23;31680:32;31677:119;;;31715:79;;:::i;:::-;31677:119;31835:1;31860:64;31916:7;31907:6;31896:9;31892:22;31860:64;:::i;:::-;31850:74;;31806:128;31973:2;31999:64;32055:7;32046:6;32035:9;32031:22;31999:64;:::i;:::-;31989:74;;31944:129;32112:2;32138:64;32194:7;32185:6;32174:9;32170:22;32138:64;:::i;:::-;32128:74;;32083:129;31556:663;;;;;:::o

Swarm Source

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