ETH Price: $2,709.12 (-9.36%)
 

Overview

Max Total Supply

69,420,420,420,420 IMG

Holders

140

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

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-11-15
*/

/*
 *
 * ██╗███╗░░██╗███████╗██╗███╗░░██╗██╗████████╗███████╗  ███╗░░░███╗░█████╗░███╗░░██╗███████╗██╗░░░██╗
 * ██║████╗░██║██╔════╝██║████╗░██║██║╚══██╔══╝██╔════╝  ████╗░████║██╔══██╗████╗░██║██╔════╝╚██╗░██╔╝
 * ██║██╔██╗██║█████╗░░██║██╔██╗██║██║░░░██║░░░█████╗░░  ██╔████╔██║██║░░██║██╔██╗██║█████╗░░░╚████╔╝░
 * ██║██║╚████║██╔══╝░░██║██║╚████║██║░░░██║░░░██╔══╝░░  ██║╚██╔╝██║██║░░██║██║╚████║██╔══╝░░░░╚██╔╝░░
 * ██║██║░╚███║██║░░░░░██║██║░╚███║██║░░░██║░░░███████╗  ██║░╚═╝░██║╚█████╔╝██║░╚███║███████╗░░░██║░░░
 * ╚═╝╚═╝░░╚══╝╚═╝░░░░░╚═╝╚═╝░░╚══╝╚═╝░░░╚═╝░░░╚══════╝  ╚═╝░░░░░╚═╝░╚════╝░╚═╝░░╚══╝╚══════╝░░░╚═╝░░░
 * ░██████╗░██╗░░░░░██╗████████╗░█████╗░██╗░░██╗
 * ██╔════╝░██║░░░░░██║╚══██╔══╝██╔══██╗██║░░██║
 * ██║░░██╗░██║░░░░░██║░░░██║░░░██║░░╚═╝███████║
 * ██║░░╚██╗██║░░░░░██║░░░██║░░░██║░░██╗██╔══██║
 * ╚██████╔╝███████╗██║░░░██║░░░╚█████╔╝██║░░██║
 * ░╚═════╝░╚══════╝╚═╝░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝
 * Description: Infinite Money Glitch ($IMG) Official Token Contract
 *
 * Telegram: https://t.me/TheInfiniteMoneyGlitch
 * Twitter: https://x.com/MoneyGlitchERC
 * Website: https://www.theglitch.money
 */

// SPDX-License-Identifier:MIT

pragma solidity ^0.8.28;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

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

interface IDexSwapPair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IDexSwapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

}

interface IREWARD {
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
}

contract IMG is Context, IERC20, Ownable {

    using SafeMath for uint256;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;
    address payable private _marketingWallet;
    address payable private _deployerWallet;

    struct FeeStruct {
        uint256 _marketingBuyTax;
        uint256 _rewardBuyTax;
        uint256 _marketingSellTax;
        uint256 _rewardSellTax;
    }
    FeeStruct public _runTax;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 69_420_420_420_420 * 10**_decimals;
    string private constant _name = unicode"Infinite Money Glitch";
    string private constant _symbol = unicode"IMG";
    uint256 public _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 public _maxWalletSize = _tTotal.mul(2).div(100);
    uint256 public _taxSwapThreshold = _tTotal.mul(1).div(100);
    uint256 public _maxTaxSwap = _tTotal.mul(1).div(100);

    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public isDividendExempt;

    uint256 private _launchedAt; 
    bool private Normalized;
    uint256 private _blockTaxReduction = 5 minutes;
    bool public swapEnabled;
    bool public openTrading; 

    IREWARD public rewardDividend;

    IDexSwapRouter public uniswapV2Router;
    address public uniswapV2Pair;

    bool inSwap;
    
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor(address _taxWallet) {

        _deployerWallet = payable(_msgSender());
        _marketingWallet = payable(_taxWallet);

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapV2Pair = IDexSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        uniswapV2Router = _dexRouter;

        _runTax = FeeStruct(5,0,15,0);

        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(uniswapV2Router)] = true;

        isDividendExempt[uniswapV2Pair] = true;
        isDividendExempt[_msgSender()] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[deadAddress] = true;
        isDividendExempt[zeroAddress] = true;
        isDividendExempt[address(uniswapV2Router)] = true;

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

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

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

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

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

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

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

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

    function _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);
    }

    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 {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
      
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if (!openTrading) {
                require(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient], "openTrading is not active.");
            }

            if (sender == uniswapV2Pair && !_isExcludedFromFee[recipient] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(recipient) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= _taxSwapThreshold;

            if (overMinimumTokenBalance && !inSwap && sender != uniswapV2Pair && swapEnabled) {                
                swapBack(min(amount, min(contractTokenBalance, _maxTaxSwap)));
            }
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);
            _balances[recipient] = _balances[recipient].add(finalAmount);

            if(!isDividendExempt[sender]){ try rewardDividend.setShare(sender, balanceOf(sender)) {} catch {} }
            if(!isDividendExempt[recipient]){ try rewardDividend.setShare(recipient, balanceOf(recipient)) {} catch {} }

            emit Transfer(sender, recipient, finalAmount);

        }

    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
        return (a>b)?b:a;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
    
    function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if (sender == uniswapV2Pair || recipient == uniswapV2Pair ) {
            return false;
        }
        else if(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) {
            return true;
        }
        else {
            return true;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;
        uint marketing;
        uint reward;
        
        dynamicTax();

        unchecked {

            if(uniswapV2Pair == sender) { 
                marketing = amount.mul(_runTax._marketingBuyTax).div(100);
                reward = amount.mul(_runTax._rewardBuyTax).div(100);
                feeAmount = marketing.add(reward);
            }
            else if(uniswapV2Pair == recipient) {
                marketing = amount.mul(_runTax._marketingSellTax).div(100);
                reward = amount.mul(_runTax._rewardSellTax).div(100);
                feeAmount = marketing.add(reward);
            }
            
            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }

    function dynamicTax() internal {
        if(Normalized) return;
        if (_launchedAt.add(_blockTaxReduction) >= block.timestamp) {
            _runTax = FeeStruct(5,0,15,0); 
        }
        else if (_launchedAt.add(_blockTaxReduction).add(_blockTaxReduction) >= block.timestamp) {
            _runTax = FeeStruct(5,0,5,0); 
        }
        else {
            _runTax = FeeStruct(1,2,1,2);
            Normalized = true;
        }
    }

    function setFees(uint _buyMarketing, uint _buyReward, uint _sellMarketing, uint _sellReward) 
        external 
        onlyOwner
    {
        _runTax._marketingBuyTax = _buyMarketing;
        _runTax._rewardBuyTax = _buyReward;
        _runTax._marketingSellTax = _sellMarketing;
        _runTax._rewardSellTax = _sellReward;
        require(_buyMarketing.add(_buyReward) <= 3, "MAX TAX 3%");
        require(_sellMarketing.add(_sellReward) <= 3, "MAX TAX 3%");
    }

    function swapBack(uint tokenAmount) internal swapping {

        uint256 marketingShare = _runTax._marketingBuyTax.add(_runTax._marketingSellTax);
        uint256 rewardShare = _runTax._rewardBuyTax.add(_runTax._rewardSellTax);
        uint256 totalShares = marketingShare.add(rewardShare);

        if(totalShares == 0) return;

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(tokenAmount);
        uint256 amountReceived = address(this).balance.sub(initialBalance);      

        uint amountETHMarketing = amountReceived.mul(marketingShare).div(totalShares);
        uint amountETHReward = amountReceived.sub(amountETHMarketing);  

        if(amountETHMarketing > 0) {
            _marketingWallet.transfer(amountETHMarketing);
        }

        if(amountETHReward > 0) {
            try rewardDividend.deposit { value: amountETHReward } () {} catch {}
        }
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function enableTrade() external onlyOwner {
        require(!openTrading, "404");
        openTrading = true;
        swapEnabled = true;
        _launchedAt = block.timestamp;
    }

    function rescueFunds() external { 
        require(_msgSender() == _deployerWallet);
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    function rescueTokens(address _token,address recipient,uint _amount) external {
        require(_msgSender() == _deployerWallet);
        (bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)',  recipient, _amount));
        require(success, 'Token payment failed');
    }

    function setMarketingWallet(address payable _newWallet) external onlyOwner {
        _marketingWallet = _newWallet;
    }

    function setRewardDividend(address _dividend) external onlyOwner {
        rewardDividend = IREWARD(_dividend); 
    }
    
    function setExcludeFromFee(address holder, bool exempt) 
        external 
        onlyOwner 
    {
        _isExcludedFromFee[holder] = exempt;
    }

    function setExcludeFromReward(address holder, bool exempt)
        external
        onlyOwner
    {
        if(exempt) {
            rewardDividend.setShare(holder,0);
        }
        else {
            rewardDividend.setShare(holder,balanceOf(holder));
        }
        isDividendExempt[holder] = exempt;
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }



}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"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":"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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_runTax","outputs":[{"internalType":"uint256","name":"_marketingBuyTax","type":"uint256"},{"internalType":"uint256","name":"_rewardBuyTax","type":"uint256"},{"internalType":"uint256","name":"_marketingSellTax","type":"uint256"},{"internalType":"uint256","name":"_rewardSellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardDividend","outputs":[{"internalType":"contract IREWARD","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setExcludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyMarketing","type":"uint256"},{"internalType":"uint256","name":"_buyReward","type":"uint256"},{"internalType":"uint256","name":"_sellMarketing","type":"uint256"},{"internalType":"uint256","name":"_sellReward","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dividend","type":"address"}],"name":"setRewardDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405261dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152505f73ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152506100b160646100a360026012600a6100849190610c82565b653f23337fd3446100959190610ccc565b61092260201b90919060201c565b61099960201b90919060201c565b6009556100f960646100eb60026012600a6100cc9190610c82565b653f23337fd3446100dd9190610ccc565b61092260201b90919060201c565b61099960201b90919060201c565b600a55610141606461013360016012600a6101149190610c82565b653f23337fd3446101259190610ccc565b61092260201b90919060201c565b61099960201b90919060201c565b600b55610189606461017b60016012600a61015c9190610c82565b653f23337fd34461016d9190610ccc565b61092260201b90919060201c565b61099960201b90919060201c565b600c5561012c60115534801561019d575f5ffd5b506040516151de3803806151de83398181016040528101906101bf9190610d6b565b6101db6101d06109e860201b60201c565b6109ef60201b60201c565b6101e96109e860201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102c9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ed9190610d6b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610352573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103769190610d6b565b6040518363ffffffff1660e01b8152600401610393929190610da5565b6020604051808303815f875af11580156103af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103d39190610d6b565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060800160405280600581526020015f8152602001600f81526020015f81525060055f820151815f01556020820151816001015560408201518160020155606082015181600301559050506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f6105086109e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f6106566109e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f60a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506012600a61082c9190610c82565b653f23337fd34461083d9190610ccc565b60015f61084e6109e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108996109e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6108f59190610c82565b653f23337fd3446109069190610ccc565b6040516109139190610ddb565b60405180910390a35050610f6f565b5f5f8303610932575f9050610993565b5f828461093f9190610ccc565b905082848261094e9190610e21565b1461098e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098590610ed1565b60405180910390fd5b809150505b92915050565b5f6109e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ab060201b60201c565b905092915050565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f83118290610af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aed9190610f4f565b60405180910390fd5b505f8385610b049190610e21565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610b9357808604811115610b6f57610b6e610b11565b5b6001851615610b7e5780820291505b8081029050610b8c85610b3e565b9450610b53565b94509492505050565b5f82610bab5760019050610c66565b81610bb8575f9050610c66565b8160018114610bce5760028114610bd857610c07565b6001915050610c66565b60ff841115610bea57610be9610b11565b5b8360020a915084821115610c0157610c00610b11565b5b50610c66565b5060208310610133831016604e8410600b8410161715610c3c5782820a905083811115610c3757610c36610b11565b5b610c66565b610c498484846001610b4a565b92509050818404811115610c6057610c5f610b11565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f610c8c82610c6d565b9150610c9783610c76565b9250610cc47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610b9c565b905092915050565b5f610cd682610c6d565b9150610ce183610c6d565b9250828202610cef81610c6d565b91508282048414831517610d0657610d05610b11565b5b5092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d3a82610d11565b9050919050565b610d4a81610d30565b8114610d54575f5ffd5b50565b5f81519050610d6581610d41565b92915050565b5f60208284031215610d8057610d7f610d0d565b5b5f610d8d84828501610d57565b91505092915050565b610d9f81610d30565b82525050565b5f604082019050610db85f830185610d96565b610dc56020830184610d96565b9392505050565b610dd581610c6d565b82525050565b5f602082019050610dee5f830184610dcc565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610e2b82610c6d565b9150610e3683610c6d565b925082610e4657610e45610df4565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f610ebb602183610e51565b9150610ec682610e61565b604082019050919050565b5f6020820190508181035f830152610ee881610eaf565b9050919050565b5f81519050919050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610f2182610eef565b610f2b8185610e51565b9350610f3b818560208601610ef9565b610f4481610f07565b840191505092915050565b5f6020820190508181035f830152610f678184610f17565b905092915050565b60805160a05161424e610f905f395f61093b01525f610aa0015261424e5ff3fe608060405260043610610206575f3560e01c8063751039fc11610117578063a9059cbb1161009f578063cea9d26f1161006e578063cea9d26f14610728578063dd62ed3e14610750578063e6b2603b1461078c578063f2fde38b146107a2578063febeb747146107ca5761020d565b8063a9059cbb14610670578063af9549e0146106ac578063bf474bed146106d4578063c9567bf9146106fe5761020d565b80638ca39f5e116100e65780638ca39f5e146105a05780638da5cb5b146105ca5780638f9a55c0146105f457806395d89b411461061e578063a6d3472a146106485761020d565b8063751039fc146104f7578063768dc7101461050d5780637d1db4a5146105495780638326c51c146105735761020d565b806327c8f8351161019a5780635d098b38116101695780635d098b381461042b5780636ddd1713146104535780636fcba3771461047d57806370a08231146104a5578063715018a6146104e15761020d565b806327c8f83514610371578063313ce5671461039b5780634355855a146103c557806349bd5a5e146104015761020d565b80630faee56f116101d65780630faee56f146102b75780631694505e146102e157806318160ddd1461030b57806323b872dd146103355761020d565b806299d3861461021157806306fdde03146102275780630930907b14610251578063095ea7b31461027b5761020d565b3661020d57005b5f5ffd5b34801561021c575f5ffd5b506102256107f2565b005b348015610232575f5ffd5b5061023b6108fc565b604051610248919061304d565b60405180910390f35b34801561025c575f5ffd5b50610265610939565b60405161027291906130ac565b60405180910390f35b348015610286575f5ffd5b506102a1600480360381019061029c9190613126565b61095d565b6040516102ae919061317e565b60405180910390f35b3480156102c2575f5ffd5b506102cb61097a565b6040516102d891906131a6565b60405180910390f35b3480156102ec575f5ffd5b506102f5610980565b604051610302919061321a565b60405180910390f35b348015610316575f5ffd5b5061031f6109a5565b60405161032c91906131a6565b60405180910390f35b348015610340575f5ffd5b5061035b60048036038101906103569190613233565b6109ca565b604051610368919061317e565b60405180910390f35b34801561037c575f5ffd5b50610385610a9e565b60405161039291906130ac565b60405180910390f35b3480156103a6575f5ffd5b506103af610ac2565b6040516103bc919061329e565b60405180910390f35b3480156103d0575f5ffd5b506103eb60048036038101906103e691906132b7565b610aca565b6040516103f8919061317e565b60405180910390f35b34801561040c575f5ffd5b50610415610ae7565b60405161042291906130ac565b60405180910390f35b348015610436575f5ffd5b50610451600480360381019061044c919061331d565b610b0c565b005b34801561045e575f5ffd5b50610467610bcb565b604051610474919061317e565b60405180910390f35b348015610488575f5ffd5b506104a3600480360381019061049e9190613348565b610bdd565b005b3480156104b0575f5ffd5b506104cb60048036038101906104c691906132b7565b610d32565b6040516104d891906131a6565b60405180910390f35b3480156104ec575f5ffd5b506104f5610d78565b005b348015610502575f5ffd5b5061050b610dff565b005b348015610518575f5ffd5b50610533600480360381019061052e91906132b7565b610ec7565b604051610540919061317e565b60405180910390f35b348015610554575f5ffd5b5061055d610ee4565b60405161056a91906131a6565b60405180910390f35b34801561057e575f5ffd5b50610587610eea565b60405161059794939291906133ac565b60405180910390f35b3480156105ab575f5ffd5b506105b4610f07565b6040516105c1919061340f565b60405180910390f35b3480156105d5575f5ffd5b506105de610f2d565b6040516105eb91906130ac565b60405180910390f35b3480156105ff575f5ffd5b50610608610f54565b60405161061591906131a6565b60405180910390f35b348015610629575f5ffd5b50610632610f5a565b60405161063f919061304d565b60405180910390f35b348015610653575f5ffd5b5061066e600480360381019061066991906132b7565b610f97565b005b34801561067b575f5ffd5b5061069660048036038101906106919190613126565b611057565b6040516106a3919061317e565b60405180910390f35b3480156106b7575f5ffd5b506106d260048036038101906106cd9190613452565b611074565b005b3480156106df575f5ffd5b506106e8611148565b6040516106f591906131a6565b60405180910390f35b348015610709575f5ffd5b5061071261114e565b60405161071f919061317e565b60405180910390f35b348015610733575f5ffd5b5061074e60048036038101906107499190613233565b611161565b005b34801561075b575f5ffd5b5061077660048036038101906107719190613490565b6112fd565b60405161078391906131a6565b60405180910390f35b348015610797575f5ffd5b506107a061137f565b005b3480156107ad575f5ffd5b506107c860048036038101906107c391906132b7565b611489565b005b3480156107d5575f5ffd5b506107f060048036038101906107eb9190613452565b61157f565b005b6107fa61177b565b73ffffffffffffffffffffffffffffffffffffffff16610818610f2d565b73ffffffffffffffffffffffffffffffffffffffff161461086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086590613518565b60405180910390fd5b601260019054906101000a900460ff16156108be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b590613580565b60405180910390fd5b6001601260016101000a81548160ff021916908315150217905550600160125f6101000a81548160ff02191690831515021790555042600f81905550565b60606040518060400160405280601581526020017f496e66696e697465204d6f6e657920476c697463680000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f61097061096961177b565b8484611782565b6001905092915050565b600c5481565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012600a6109b491906136fa565b653f23337fd3446109c59190613744565b905090565b5f6109d6848484611945565b610a93846109e261177b565b610a8e856040518060600160405280602881526020016141f16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a4561177b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461211f9092919063ffffffff16565b611782565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6012905090565b600e602052805f5260405f205f915054906101000a900460ff1681565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b1461177b565b73ffffffffffffffffffffffffffffffffffffffff16610b32610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90613518565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125f9054906101000a900460ff1681565b610be561177b565b73ffffffffffffffffffffffffffffffffffffffff16610c03610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5090613518565b60405180910390fd5b8360055f01819055508260056001018190555081600560020181905550806005600301819055506003610c95848661218190919063ffffffff16565b1115610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd906137cf565b60405180910390fd5b6003610ceb828461218190919063ffffffff16565b1115610d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d23906137cf565b60405180910390fd5b50505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d8061177b565b73ffffffffffffffffffffffffffffffffffffffff16610d9e610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613518565b60405180910390fd5b610dfd5f6121de565b565b610e0761177b565b73ffffffffffffffffffffffffffffffffffffffff16610e25610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7290613518565b60405180910390fd5b6012600a610e8991906136fa565b653f23337fd344610e9a9190613744565b6009819055506012600a610eae91906136fa565b653f23337fd344610ebf9190613744565b600a81905550565b600d602052805f5260405f205f915054906101000a900460ff1681565b60095481565b6005805f0154908060010154908060020154908060030154905084565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600381526020017f494d470000000000000000000000000000000000000000000000000000000000815250905090565b610f9f61177b565b73ffffffffffffffffffffffffffffffffffffffff16610fbd610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a90613518565b60405180910390fd5b80601260026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f61106a61106361177b565b8484611945565b6001905092915050565b61107c61177b565b73ffffffffffffffffffffffffffffffffffffffff1661109a610f2d565b73ffffffffffffffffffffffffffffffffffffffff16146110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790613518565b60405180910390fd5b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600b5481565b601260019054906101000a900460ff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a161177b565b73ffffffffffffffffffffffffffffffffffffffff16146111c0575f5ffd5b5f8373ffffffffffffffffffffffffffffffffffffffff1683836040516024016111eb9291906137ed565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516112759190613858565b5f604051808303815f865af19150503d805f81146112ae576040519150601f19603f3d011682016040523d82523d5f602084013e6112b3565b606091505b50509050806112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee906138b8565b60405180910390fd5b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113bf61177b565b73ffffffffffffffffffffffffffffffffffffffff16146113de575f5ffd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611403906138f9565b5f6040518083038185875af1925050503d805f811461143d576040519150601f19603f3d011682016040523d82523d5f602084013e611442565b606091505b5050905080611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d90613957565b60405180910390fd5b50565b61149161177b565b73ffffffffffffffffffffffffffffffffffffffff166114af610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614611505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fc90613518565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a906139e5565b60405180910390fd5b61157c816121de565b50565b61158761177b565b73ffffffffffffffffffffffffffffffffffffffff166115a5610f2d565b73ffffffffffffffffffffffffffffffffffffffff16146115fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f290613518565b60405180910390fd5b801561169057601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca96835f6040518363ffffffff1660e01b815260040161165e929190613a3c565b5f604051808303815f87803b158015611675575f5ffd5b505af1158015611687573d5f5f3e3d5ffd5b50505050611723565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca96836116d885610d32565b6040518363ffffffff1660e01b81526004016116f59291906137ed565b5f604051808303815f87803b15801561170c575f5ffd5b505af115801561171e573d5f5f3e3d5ffd5b505050505b80600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e790613ad3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185590613b61565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161193891906131a6565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa90613bef565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1890613c7d565b60405180910390fd5b5f8111611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a90613d0b565b60405180910390fd5b60148054906101000a900460ff1615611a8657611a8183838361229f565b61211a565b601260019054906101000a900460ff16611b7557600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611b355750600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6b90613d73565b60405180910390fd5b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c185750600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611cbb57600954811115611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5990613ddb565b60405180910390fd5b600a5481611c6f84610d32565b611c799190613df9565b1115611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb190613e76565b60405180910390fd5b5b5f611cc530610d32565b90505f600b548210159050808015611ce8575060148054906101000a900460ff16155b8015611d41575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611d58575060125f9054906101000a900460ff165b15611d7b57611d7a611d7584611d7085600c54612462565b612462565b61247a565b5b611e02836040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461211f9092919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f611e4e868661266f565b611e6257611e5d8686866127d8565b611e64565b835b9050611eb68160015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218190919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611fd457601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9687611f8d89610d32565b6040518363ffffffff1660e01b8152600401611faa9291906137ed565b5f604051808303815f87803b158015611fc1575f5ffd5b505af1925050508015611fd2575060015b505b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166120b157601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca968661206a88610d32565b6040518363ffffffff1660e01b81526004016120879291906137ed565b5f604051808303815f87803b15801561209e575f5ffd5b505af19250505080156120af575060015b505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210e91906131a6565b60405180910390a35050505b505050565b5f838311158290612166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215d919061304d565b60405180910390fd5b505f83856121749190613e94565b9050809150509392505050565b5f5f828461218f9190613df9565b9050838110156121d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cb90613f11565b60405180910390fd5b8091505092915050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612326816040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461211f9092919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506123b78160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218190919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161245591906131a6565b60405180910390a3505050565b5f8183116124705782612472565b815b905092915050565b60016014806101000a81548160ff0219169083151502179055505f6124b160056002015460055f015461218190919063ffffffff16565b90505f6124d160056003015460056001015461218190919063ffffffff16565b90505f6124e7828461218190919063ffffffff16565b90505f81036124f857505050612653565b5f47905061250585612a8e565b5f6125198247612cfd90919063ffffffff16565b90505f612541846125338885612d4690919063ffffffff16565b612dbd90919063ffffffff16565b90505f6125578284612cfd90919063ffffffff16565b90505f8211156125c75760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f193505050501580156125c5573d5f5f3e3d5ffd5b505b5f81111561264b57601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015612637575f5ffd5b505af193505050508015612649575060015b505b505050505050505b5f6014806101000a81548160ff02191690831515021790555050565b5f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480612717575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15612724575f90506127d2565b600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806127bf5750600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156127cd57600190506127d2565b600190505b92915050565b5f5f5f5f6127e4612e06565b8673ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036128ab57612862606461285460055f015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b915061288f606461288160056001015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b90506128a4818361218190919063ffffffff16565b9250612970565b8573ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361296f5761292a606461291c60056002015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b9150612957606461294960056003015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b905061296c818361218190919063ffffffff16565b92505b5b5f831115612a6f576129c88360015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a6691906131a6565b60405180910390a35b612a828386612cfd90919063ffffffff16565b93505050509392505050565b5f600267ffffffffffffffff811115612aaa57612aa9613f2f565b5b604051908082528060200260200182016040528015612ad85781602001602082028036833780820191505090505b50905030815f81518110612aef57612aee613f5c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb79190613f9d565b81600181518110612bcb57612bca613f5c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c313060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611782565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612c9395949392919061407f565b5f604051808303815f87803b158015612caa575f5ffd5b505af1158015612cbc573d5f5f3e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612cf19291906140d7565b60405180910390a15050565b5f612d3e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061211f565b905092915050565b5f5f8303612d56575f9050612db7565b5f8284612d639190613744565b9050828482612d729190614132565b14612db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da9906141d2565b60405180910390fd5b809150505b92915050565b5f612dfe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612f7c565b905092915050565b60105f9054906101000a900460ff16612f7a5742612e31601154600f5461218190919063ffffffff16565b10612e89576040518060800160405280600581526020015f8152602001600f81526020015f81525060055f820151815f0155602082015181600101556040820151816002015560608201518160030155905050612f79565b42612eb5601154612ea7601154600f5461218190919063ffffffff16565b61218190919063ffffffff16565b10612f0d576040518060800160405280600581526020015f8152602001600581526020015f81525060055f820151815f0155602082015181600101556040820151816002015560608201518160030155905050612f78565b6040518060800160405280600181526020016002815260200160018152602001600281525060055f820151815f0155602082015181600101556040820151816002015560608201518160030155905050600160105f6101000a81548160ff0219169083151502179055505b5b5b565b5f5f83118290612fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb9919061304d565b60405180910390fd5b505f8385612fd09190614132565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61301f82612fdd565b6130298185612fe7565b9350613039818560208601612ff7565b61304281613005565b840191505092915050565b5f6020820190508181035f8301526130658184613015565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6130968261306d565b9050919050565b6130a68161308c565b82525050565b5f6020820190506130bf5f83018461309d565b92915050565b5f5ffd5b6130d28161308c565b81146130dc575f5ffd5b50565b5f813590506130ed816130c9565b92915050565b5f819050919050565b613105816130f3565b811461310f575f5ffd5b50565b5f81359050613120816130fc565b92915050565b5f5f6040838503121561313c5761313b6130c5565b5b5f613149858286016130df565b925050602061315a85828601613112565b9150509250929050565b5f8115159050919050565b61317881613164565b82525050565b5f6020820190506131915f83018461316f565b92915050565b6131a0816130f3565b82525050565b5f6020820190506131b95f830184613197565b92915050565b5f819050919050565b5f6131e26131dd6131d88461306d565b6131bf565b61306d565b9050919050565b5f6131f3826131c8565b9050919050565b5f613204826131e9565b9050919050565b613214816131fa565b82525050565b5f60208201905061322d5f83018461320b565b92915050565b5f5f5f6060848603121561324a576132496130c5565b5b5f613257868287016130df565b9350506020613268868287016130df565b925050604061327986828701613112565b9150509250925092565b5f60ff82169050919050565b61329881613283565b82525050565b5f6020820190506132b15f83018461328f565b92915050565b5f602082840312156132cc576132cb6130c5565b5b5f6132d9848285016130df565b91505092915050565b5f6132ec8261306d565b9050919050565b6132fc816132e2565b8114613306575f5ffd5b50565b5f81359050613317816132f3565b92915050565b5f60208284031215613332576133316130c5565b5b5f61333f84828501613309565b91505092915050565b5f5f5f5f608085870312156133605761335f6130c5565b5b5f61336d87828801613112565b945050602061337e87828801613112565b935050604061338f87828801613112565b92505060606133a087828801613112565b91505092959194509250565b5f6080820190506133bf5f830187613197565b6133cc6020830186613197565b6133d96040830185613197565b6133e66060830184613197565b95945050505050565b5f6133f9826131e9565b9050919050565b613409816133ef565b82525050565b5f6020820190506134225f830184613400565b92915050565b61343181613164565b811461343b575f5ffd5b50565b5f8135905061344c81613428565b92915050565b5f5f60408385031215613468576134676130c5565b5b5f613475858286016130df565b92505060206134868582860161343e565b9150509250929050565b5f5f604083850312156134a6576134a56130c5565b5b5f6134b3858286016130df565b92505060206134c4858286016130df565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613502602083612fe7565b915061350d826134ce565b602082019050919050565b5f6020820190508181035f83015261352f816134f6565b9050919050565b7f34303400000000000000000000000000000000000000000000000000000000005f82015250565b5f61356a600383612fe7565b915061357582613536565b602082019050919050565b5f6020820190508181035f8301526135978161355e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115613620578086048111156135fc576135fb61359e565b5b600185161561360b5780820291505b8081029050613619856135cb565b94506135e0565b94509492505050565b5f8261363857600190506136f3565b81613645575f90506136f3565b816001811461365b576002811461366557613694565b60019150506136f3565b60ff8411156136775761367661359e565b5b8360020a91508482111561368e5761368d61359e565b5b506136f3565b5060208310610133831016604e8410600b84101617156136c95782820a9050838111156136c4576136c361359e565b5b6136f3565b6136d684848460016135d7565b925090508184048111156136ed576136ec61359e565b5b81810290505b9392505050565b5f613704826130f3565b915061370f83613283565b925061373c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613629565b905092915050565b5f61374e826130f3565b9150613759836130f3565b9250828202613767816130f3565b9150828204841483151761377e5761377d61359e565b5b5092915050565b7f4d415820544158203325000000000000000000000000000000000000000000005f82015250565b5f6137b9600a83612fe7565b91506137c482613785565b602082019050919050565b5f6020820190508181035f8301526137e6816137ad565b9050919050565b5f6040820190506138005f83018561309d565b61380d6020830184613197565b9392505050565b5f81519050919050565b5f81905092915050565b5f61383282613814565b61383c818561381e565b935061384c818560208601612ff7565b80840191505092915050565b5f6138638284613828565b915081905092915050565b7f546f6b656e207061796d656e74206661696c65640000000000000000000000005f82015250565b5f6138a2601483612fe7565b91506138ad8261386e565b602082019050919050565b5f6020820190508181035f8301526138cf81613896565b9050919050565b50565b5f6138e45f8361381e565b91506138ef826138d6565b5f82019050919050565b5f613903826138d9565b9150819050919050565b7f5472616e73616374696f6e204661696c656421210000000000000000000000005f82015250565b5f613941601483612fe7565b915061394c8261390d565b602082019050919050565b5f6020820190508181035f83015261396e81613935565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139cf602683612fe7565b91506139da82613975565b604082019050919050565b5f6020820190508181035f8301526139fc816139c3565b9050919050565b5f819050919050565b5f613a26613a21613a1c84613a03565b6131bf565b6130f3565b9050919050565b613a3681613a0c565b82525050565b5f604082019050613a4f5f83018561309d565b613a5c6020830184613a2d565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613abd602483612fe7565b9150613ac882613a63565b604082019050919050565b5f6020820190508181035f830152613aea81613ab1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b4b602283612fe7565b9150613b5682613af1565b604082019050919050565b5f6020820190508181035f830152613b7881613b3f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613bd9602583612fe7565b9150613be482613b7f565b604082019050919050565b5f6020820190508181035f830152613c0681613bcd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613c67602383612fe7565b9150613c7282613c0d565b604082019050919050565b5f6020820190508181035f830152613c9481613c5b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613cf5602983612fe7565b9150613d0082613c9b565b604082019050919050565b5f6020820190508181035f830152613d2281613ce9565b9050919050565b7f6f70656e54726164696e67206973206e6f74206163746976652e0000000000005f82015250565b5f613d5d601a83612fe7565b9150613d6882613d29565b602082019050919050565b5f6020820190508181035f830152613d8a81613d51565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613dc5601983612fe7565b9150613dd082613d91565b602082019050919050565b5f6020820190508181035f830152613df281613db9565b9050919050565b5f613e03826130f3565b9150613e0e836130f3565b9250828201905080821115613e2657613e2561359e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613e60601a83612fe7565b9150613e6b82613e2c565b602082019050919050565b5f6020820190508181035f830152613e8d81613e54565b9050919050565b5f613e9e826130f3565b9150613ea9836130f3565b9250828203905081811115613ec157613ec061359e565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613efb601b83612fe7565b9150613f0682613ec7565b602082019050919050565b5f6020820190508181035f830152613f2881613eef565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613f97816130c9565b92915050565b5f60208284031215613fb257613fb16130c5565b5b5f613fbf84828501613f89565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613ffa8161308c565b82525050565b5f61400b8383613ff1565b60208301905092915050565b5f602082019050919050565b5f61402d82613fc8565b6140378185613fd2565b935061404283613fe2565b805f5b838110156140725781516140598882614000565b975061406483614017565b925050600181019050614045565b5085935050505092915050565b5f60a0820190506140925f830188613197565b61409f6020830187613a2d565b81810360408301526140b18186614023565b90506140c0606083018561309d565b6140cd6080830184613197565b9695505050505050565b5f6040820190506140ea5f830185613197565b81810360208301526140fc8184614023565b90509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61413c826130f3565b9150614147836130f3565b92508261415757614156614105565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141bc602183612fe7565b91506141c782614162565b604082019050919050565b5f6020820190508181035f8301526141e9816141b0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fdea01cb45066804e7ae0de7f8c10a913d8f9e379f641f27ab07f31315cb9d2264736f6c634300081c0033000000000000000000000000a1097b38bb7a0f7905e59517abe85836640f3ec1

Deployed Bytecode

0x608060405260043610610206575f3560e01c8063751039fc11610117578063a9059cbb1161009f578063cea9d26f1161006e578063cea9d26f14610728578063dd62ed3e14610750578063e6b2603b1461078c578063f2fde38b146107a2578063febeb747146107ca5761020d565b8063a9059cbb14610670578063af9549e0146106ac578063bf474bed146106d4578063c9567bf9146106fe5761020d565b80638ca39f5e116100e65780638ca39f5e146105a05780638da5cb5b146105ca5780638f9a55c0146105f457806395d89b411461061e578063a6d3472a146106485761020d565b8063751039fc146104f7578063768dc7101461050d5780637d1db4a5146105495780638326c51c146105735761020d565b806327c8f8351161019a5780635d098b38116101695780635d098b381461042b5780636ddd1713146104535780636fcba3771461047d57806370a08231146104a5578063715018a6146104e15761020d565b806327c8f83514610371578063313ce5671461039b5780634355855a146103c557806349bd5a5e146104015761020d565b80630faee56f116101d65780630faee56f146102b75780631694505e146102e157806318160ddd1461030b57806323b872dd146103355761020d565b806299d3861461021157806306fdde03146102275780630930907b14610251578063095ea7b31461027b5761020d565b3661020d57005b5f5ffd5b34801561021c575f5ffd5b506102256107f2565b005b348015610232575f5ffd5b5061023b6108fc565b604051610248919061304d565b60405180910390f35b34801561025c575f5ffd5b50610265610939565b60405161027291906130ac565b60405180910390f35b348015610286575f5ffd5b506102a1600480360381019061029c9190613126565b61095d565b6040516102ae919061317e565b60405180910390f35b3480156102c2575f5ffd5b506102cb61097a565b6040516102d891906131a6565b60405180910390f35b3480156102ec575f5ffd5b506102f5610980565b604051610302919061321a565b60405180910390f35b348015610316575f5ffd5b5061031f6109a5565b60405161032c91906131a6565b60405180910390f35b348015610340575f5ffd5b5061035b60048036038101906103569190613233565b6109ca565b604051610368919061317e565b60405180910390f35b34801561037c575f5ffd5b50610385610a9e565b60405161039291906130ac565b60405180910390f35b3480156103a6575f5ffd5b506103af610ac2565b6040516103bc919061329e565b60405180910390f35b3480156103d0575f5ffd5b506103eb60048036038101906103e691906132b7565b610aca565b6040516103f8919061317e565b60405180910390f35b34801561040c575f5ffd5b50610415610ae7565b60405161042291906130ac565b60405180910390f35b348015610436575f5ffd5b50610451600480360381019061044c919061331d565b610b0c565b005b34801561045e575f5ffd5b50610467610bcb565b604051610474919061317e565b60405180910390f35b348015610488575f5ffd5b506104a3600480360381019061049e9190613348565b610bdd565b005b3480156104b0575f5ffd5b506104cb60048036038101906104c691906132b7565b610d32565b6040516104d891906131a6565b60405180910390f35b3480156104ec575f5ffd5b506104f5610d78565b005b348015610502575f5ffd5b5061050b610dff565b005b348015610518575f5ffd5b50610533600480360381019061052e91906132b7565b610ec7565b604051610540919061317e565b60405180910390f35b348015610554575f5ffd5b5061055d610ee4565b60405161056a91906131a6565b60405180910390f35b34801561057e575f5ffd5b50610587610eea565b60405161059794939291906133ac565b60405180910390f35b3480156105ab575f5ffd5b506105b4610f07565b6040516105c1919061340f565b60405180910390f35b3480156105d5575f5ffd5b506105de610f2d565b6040516105eb91906130ac565b60405180910390f35b3480156105ff575f5ffd5b50610608610f54565b60405161061591906131a6565b60405180910390f35b348015610629575f5ffd5b50610632610f5a565b60405161063f919061304d565b60405180910390f35b348015610653575f5ffd5b5061066e600480360381019061066991906132b7565b610f97565b005b34801561067b575f5ffd5b5061069660048036038101906106919190613126565b611057565b6040516106a3919061317e565b60405180910390f35b3480156106b7575f5ffd5b506106d260048036038101906106cd9190613452565b611074565b005b3480156106df575f5ffd5b506106e8611148565b6040516106f591906131a6565b60405180910390f35b348015610709575f5ffd5b5061071261114e565b60405161071f919061317e565b60405180910390f35b348015610733575f5ffd5b5061074e60048036038101906107499190613233565b611161565b005b34801561075b575f5ffd5b5061077660048036038101906107719190613490565b6112fd565b60405161078391906131a6565b60405180910390f35b348015610797575f5ffd5b506107a061137f565b005b3480156107ad575f5ffd5b506107c860048036038101906107c391906132b7565b611489565b005b3480156107d5575f5ffd5b506107f060048036038101906107eb9190613452565b61157f565b005b6107fa61177b565b73ffffffffffffffffffffffffffffffffffffffff16610818610f2d565b73ffffffffffffffffffffffffffffffffffffffff161461086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086590613518565b60405180910390fd5b601260019054906101000a900460ff16156108be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b590613580565b60405180910390fd5b6001601260016101000a81548160ff021916908315150217905550600160125f6101000a81548160ff02191690831515021790555042600f81905550565b60606040518060400160405280601581526020017f496e66696e697465204d6f6e657920476c697463680000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f61097061096961177b565b8484611782565b6001905092915050565b600c5481565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012600a6109b491906136fa565b653f23337fd3446109c59190613744565b905090565b5f6109d6848484611945565b610a93846109e261177b565b610a8e856040518060600160405280602881526020016141f16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a4561177b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461211f9092919063ffffffff16565b611782565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b5f6012905090565b600e602052805f5260405f205f915054906101000a900460ff1681565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b1461177b565b73ffffffffffffffffffffffffffffffffffffffff16610b32610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90613518565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125f9054906101000a900460ff1681565b610be561177b565b73ffffffffffffffffffffffffffffffffffffffff16610c03610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5090613518565b60405180910390fd5b8360055f01819055508260056001018190555081600560020181905550806005600301819055506003610c95848661218190919063ffffffff16565b1115610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd906137cf565b60405180910390fd5b6003610ceb828461218190919063ffffffff16565b1115610d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d23906137cf565b60405180910390fd5b50505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d8061177b565b73ffffffffffffffffffffffffffffffffffffffff16610d9e610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613518565b60405180910390fd5b610dfd5f6121de565b565b610e0761177b565b73ffffffffffffffffffffffffffffffffffffffff16610e25610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614610e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7290613518565b60405180910390fd5b6012600a610e8991906136fa565b653f23337fd344610e9a9190613744565b6009819055506012600a610eae91906136fa565b653f23337fd344610ebf9190613744565b600a81905550565b600d602052805f5260405f205f915054906101000a900460ff1681565b60095481565b6005805f0154908060010154908060020154908060030154905084565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600381526020017f494d470000000000000000000000000000000000000000000000000000000000815250905090565b610f9f61177b565b73ffffffffffffffffffffffffffffffffffffffff16610fbd610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a90613518565b60405180910390fd5b80601260026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f61106a61106361177b565b8484611945565b6001905092915050565b61107c61177b565b73ffffffffffffffffffffffffffffffffffffffff1661109a610f2d565b73ffffffffffffffffffffffffffffffffffffffff16146110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790613518565b60405180910390fd5b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600b5481565b601260019054906101000a900460ff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a161177b565b73ffffffffffffffffffffffffffffffffffffffff16146111c0575f5ffd5b5f8373ffffffffffffffffffffffffffffffffffffffff1683836040516024016111eb9291906137ed565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516112759190613858565b5f604051808303815f865af19150503d805f81146112ae576040519150601f19603f3d011682016040523d82523d5f602084013e6112b3565b606091505b50509050806112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee906138b8565b60405180910390fd5b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113bf61177b565b73ffffffffffffffffffffffffffffffffffffffff16146113de575f5ffd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611403906138f9565b5f6040518083038185875af1925050503d805f811461143d576040519150601f19603f3d011682016040523d82523d5f602084013e611442565b606091505b5050905080611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d90613957565b60405180910390fd5b50565b61149161177b565b73ffffffffffffffffffffffffffffffffffffffff166114af610f2d565b73ffffffffffffffffffffffffffffffffffffffff1614611505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fc90613518565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a906139e5565b60405180910390fd5b61157c816121de565b50565b61158761177b565b73ffffffffffffffffffffffffffffffffffffffff166115a5610f2d565b73ffffffffffffffffffffffffffffffffffffffff16146115fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f290613518565b60405180910390fd5b801561169057601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca96835f6040518363ffffffff1660e01b815260040161165e929190613a3c565b5f604051808303815f87803b158015611675575f5ffd5b505af1158015611687573d5f5f3e3d5ffd5b50505050611723565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca96836116d885610d32565b6040518363ffffffff1660e01b81526004016116f59291906137ed565b5f604051808303815f87803b15801561170c575f5ffd5b505af115801561171e573d5f5f3e3d5ffd5b505050505b80600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e790613ad3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185590613b61565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161193891906131a6565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa90613bef565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1890613c7d565b60405180910390fd5b5f8111611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a90613d0b565b60405180910390fd5b60148054906101000a900460ff1615611a8657611a8183838361229f565b61211a565b601260019054906101000a900460ff16611b7557600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611b355750600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6b90613d73565b60405180910390fd5b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c185750600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611cbb57600954811115611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5990613ddb565b60405180910390fd5b600a5481611c6f84610d32565b611c799190613df9565b1115611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb190613e76565b60405180910390fd5b5b5f611cc530610d32565b90505f600b548210159050808015611ce8575060148054906101000a900460ff16155b8015611d41575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611d58575060125f9054906101000a900460ff165b15611d7b57611d7a611d7584611d7085600c54612462565b612462565b61247a565b5b611e02836040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461211f9092919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f611e4e868661266f565b611e6257611e5d8686866127d8565b611e64565b835b9050611eb68160015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218190919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611fd457601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9687611f8d89610d32565b6040518363ffffffff1660e01b8152600401611faa9291906137ed565b5f604051808303815f87803b158015611fc1575f5ffd5b505af1925050508015611fd2575060015b505b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166120b157601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca968661206a88610d32565b6040518363ffffffff1660e01b81526004016120879291906137ed565b5f604051808303815f87803b15801561209e575f5ffd5b505af19250505080156120af575060015b505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210e91906131a6565b60405180910390a35050505b505050565b5f838311158290612166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215d919061304d565b60405180910390fd5b505f83856121749190613e94565b9050809150509392505050565b5f5f828461218f9190613df9565b9050838110156121d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cb90613f11565b60405180910390fd5b8091505092915050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612326816040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461211f9092919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506123b78160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218190919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161245591906131a6565b60405180910390a3505050565b5f8183116124705782612472565b815b905092915050565b60016014806101000a81548160ff0219169083151502179055505f6124b160056002015460055f015461218190919063ffffffff16565b90505f6124d160056003015460056001015461218190919063ffffffff16565b90505f6124e7828461218190919063ffffffff16565b90505f81036124f857505050612653565b5f47905061250585612a8e565b5f6125198247612cfd90919063ffffffff16565b90505f612541846125338885612d4690919063ffffffff16565b612dbd90919063ffffffff16565b90505f6125578284612cfd90919063ffffffff16565b90505f8211156125c75760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f193505050501580156125c5573d5f5f3e3d5ffd5b505b5f81111561264b57601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015612637575f5ffd5b505af193505050508015612649575060015b505b505050505050505b5f6014806101000a81548160ff02191690831515021790555050565b5f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480612717575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15612724575f90506127d2565b600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806127bf5750600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156127cd57600190506127d2565b600190505b92915050565b5f5f5f5f6127e4612e06565b8673ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036128ab57612862606461285460055f015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b915061288f606461288160056001015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b90506128a4818361218190919063ffffffff16565b9250612970565b8573ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361296f5761292a606461291c60056002015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b9150612957606461294960056003015488612d4690919063ffffffff16565b612dbd90919063ffffffff16565b905061296c818361218190919063ffffffff16565b92505b5b5f831115612a6f576129c88360015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a6691906131a6565b60405180910390a35b612a828386612cfd90919063ffffffff16565b93505050509392505050565b5f600267ffffffffffffffff811115612aaa57612aa9613f2f565b5b604051908082528060200260200182016040528015612ad85781602001602082028036833780820191505090505b50905030815f81518110612aef57612aee613f5c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb79190613f9d565b81600181518110612bcb57612bca613f5c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c313060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611782565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612c9395949392919061407f565b5f604051808303815f87803b158015612caa575f5ffd5b505af1158015612cbc573d5f5f3e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612cf19291906140d7565b60405180910390a15050565b5f612d3e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061211f565b905092915050565b5f5f8303612d56575f9050612db7565b5f8284612d639190613744565b9050828482612d729190614132565b14612db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da9906141d2565b60405180910390fd5b809150505b92915050565b5f612dfe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612f7c565b905092915050565b60105f9054906101000a900460ff16612f7a5742612e31601154600f5461218190919063ffffffff16565b10612e89576040518060800160405280600581526020015f8152602001600f81526020015f81525060055f820151815f0155602082015181600101556040820151816002015560608201518160030155905050612f79565b42612eb5601154612ea7601154600f5461218190919063ffffffff16565b61218190919063ffffffff16565b10612f0d576040518060800160405280600581526020015f8152602001600581526020015f81525060055f820151815f0155602082015181600101556040820151816002015560608201518160030155905050612f78565b6040518060800160405280600181526020016002815260200160018152602001600281525060055f820151815f0155602082015181600101556040820151816002015560608201518160030155905050600160105f6101000a81548160ff0219169083151502179055505b5b5b565b5f5f83118290612fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb9919061304d565b60405180910390fd5b505f8385612fd09190614132565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61301f82612fdd565b6130298185612fe7565b9350613039818560208601612ff7565b61304281613005565b840191505092915050565b5f6020820190508181035f8301526130658184613015565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6130968261306d565b9050919050565b6130a68161308c565b82525050565b5f6020820190506130bf5f83018461309d565b92915050565b5f5ffd5b6130d28161308c565b81146130dc575f5ffd5b50565b5f813590506130ed816130c9565b92915050565b5f819050919050565b613105816130f3565b811461310f575f5ffd5b50565b5f81359050613120816130fc565b92915050565b5f5f6040838503121561313c5761313b6130c5565b5b5f613149858286016130df565b925050602061315a85828601613112565b9150509250929050565b5f8115159050919050565b61317881613164565b82525050565b5f6020820190506131915f83018461316f565b92915050565b6131a0816130f3565b82525050565b5f6020820190506131b95f830184613197565b92915050565b5f819050919050565b5f6131e26131dd6131d88461306d565b6131bf565b61306d565b9050919050565b5f6131f3826131c8565b9050919050565b5f613204826131e9565b9050919050565b613214816131fa565b82525050565b5f60208201905061322d5f83018461320b565b92915050565b5f5f5f6060848603121561324a576132496130c5565b5b5f613257868287016130df565b9350506020613268868287016130df565b925050604061327986828701613112565b9150509250925092565b5f60ff82169050919050565b61329881613283565b82525050565b5f6020820190506132b15f83018461328f565b92915050565b5f602082840312156132cc576132cb6130c5565b5b5f6132d9848285016130df565b91505092915050565b5f6132ec8261306d565b9050919050565b6132fc816132e2565b8114613306575f5ffd5b50565b5f81359050613317816132f3565b92915050565b5f60208284031215613332576133316130c5565b5b5f61333f84828501613309565b91505092915050565b5f5f5f5f608085870312156133605761335f6130c5565b5b5f61336d87828801613112565b945050602061337e87828801613112565b935050604061338f87828801613112565b92505060606133a087828801613112565b91505092959194509250565b5f6080820190506133bf5f830187613197565b6133cc6020830186613197565b6133d96040830185613197565b6133e66060830184613197565b95945050505050565b5f6133f9826131e9565b9050919050565b613409816133ef565b82525050565b5f6020820190506134225f830184613400565b92915050565b61343181613164565b811461343b575f5ffd5b50565b5f8135905061344c81613428565b92915050565b5f5f60408385031215613468576134676130c5565b5b5f613475858286016130df565b92505060206134868582860161343e565b9150509250929050565b5f5f604083850312156134a6576134a56130c5565b5b5f6134b3858286016130df565b92505060206134c4858286016130df565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613502602083612fe7565b915061350d826134ce565b602082019050919050565b5f6020820190508181035f83015261352f816134f6565b9050919050565b7f34303400000000000000000000000000000000000000000000000000000000005f82015250565b5f61356a600383612fe7565b915061357582613536565b602082019050919050565b5f6020820190508181035f8301526135978161355e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115613620578086048111156135fc576135fb61359e565b5b600185161561360b5780820291505b8081029050613619856135cb565b94506135e0565b94509492505050565b5f8261363857600190506136f3565b81613645575f90506136f3565b816001811461365b576002811461366557613694565b60019150506136f3565b60ff8411156136775761367661359e565b5b8360020a91508482111561368e5761368d61359e565b5b506136f3565b5060208310610133831016604e8410600b84101617156136c95782820a9050838111156136c4576136c361359e565b5b6136f3565b6136d684848460016135d7565b925090508184048111156136ed576136ec61359e565b5b81810290505b9392505050565b5f613704826130f3565b915061370f83613283565b925061373c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613629565b905092915050565b5f61374e826130f3565b9150613759836130f3565b9250828202613767816130f3565b9150828204841483151761377e5761377d61359e565b5b5092915050565b7f4d415820544158203325000000000000000000000000000000000000000000005f82015250565b5f6137b9600a83612fe7565b91506137c482613785565b602082019050919050565b5f6020820190508181035f8301526137e6816137ad565b9050919050565b5f6040820190506138005f83018561309d565b61380d6020830184613197565b9392505050565b5f81519050919050565b5f81905092915050565b5f61383282613814565b61383c818561381e565b935061384c818560208601612ff7565b80840191505092915050565b5f6138638284613828565b915081905092915050565b7f546f6b656e207061796d656e74206661696c65640000000000000000000000005f82015250565b5f6138a2601483612fe7565b91506138ad8261386e565b602082019050919050565b5f6020820190508181035f8301526138cf81613896565b9050919050565b50565b5f6138e45f8361381e565b91506138ef826138d6565b5f82019050919050565b5f613903826138d9565b9150819050919050565b7f5472616e73616374696f6e204661696c656421210000000000000000000000005f82015250565b5f613941601483612fe7565b915061394c8261390d565b602082019050919050565b5f6020820190508181035f83015261396e81613935565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139cf602683612fe7565b91506139da82613975565b604082019050919050565b5f6020820190508181035f8301526139fc816139c3565b9050919050565b5f819050919050565b5f613a26613a21613a1c84613a03565b6131bf565b6130f3565b9050919050565b613a3681613a0c565b82525050565b5f604082019050613a4f5f83018561309d565b613a5c6020830184613a2d565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613abd602483612fe7565b9150613ac882613a63565b604082019050919050565b5f6020820190508181035f830152613aea81613ab1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b4b602283612fe7565b9150613b5682613af1565b604082019050919050565b5f6020820190508181035f830152613b7881613b3f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613bd9602583612fe7565b9150613be482613b7f565b604082019050919050565b5f6020820190508181035f830152613c0681613bcd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613c67602383612fe7565b9150613c7282613c0d565b604082019050919050565b5f6020820190508181035f830152613c9481613c5b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613cf5602983612fe7565b9150613d0082613c9b565b604082019050919050565b5f6020820190508181035f830152613d2281613ce9565b9050919050565b7f6f70656e54726164696e67206973206e6f74206163746976652e0000000000005f82015250565b5f613d5d601a83612fe7565b9150613d6882613d29565b602082019050919050565b5f6020820190508181035f830152613d8a81613d51565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613dc5601983612fe7565b9150613dd082613d91565b602082019050919050565b5f6020820190508181035f830152613df281613db9565b9050919050565b5f613e03826130f3565b9150613e0e836130f3565b9250828201905080821115613e2657613e2561359e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613e60601a83612fe7565b9150613e6b82613e2c565b602082019050919050565b5f6020820190508181035f830152613e8d81613e54565b9050919050565b5f613e9e826130f3565b9150613ea9836130f3565b9250828203905081811115613ec157613ec061359e565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613efb601b83612fe7565b9150613f0682613ec7565b602082019050919050565b5f6020820190508181035f830152613f2881613eef565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613f97816130c9565b92915050565b5f60208284031215613fb257613fb16130c5565b5b5f613fbf84828501613f89565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613ffa8161308c565b82525050565b5f61400b8383613ff1565b60208301905092915050565b5f602082019050919050565b5f61402d82613fc8565b6140378185613fd2565b935061404283613fe2565b805f5b838110156140725781516140598882614000565b975061406483614017565b925050600181019050614045565b5085935050505092915050565b5f60a0820190506140925f830188613197565b61409f6020830187613a2d565b81810360408301526140b18186614023565b90506140c0606083018561309d565b6140cd6080830184613197565b9695505050505050565b5f6040820190506140ea5f830185613197565b81810360208301526140fc8184614023565b90509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61413c826130f3565b9150614147836130f3565b92508261415757614156614105565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141bc602183612fe7565b91506141c782614162565b604082019050919050565b5f6020820190508181035f8301526141e9816141b0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fdea01cb45066804e7ae0de7f8c10a913d8f9e379f641f27ab07f31315cb9d2264736f6c634300081c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a1097b38bb7a0f7905e59517abe85836640f3ec1

-----Decoded View---------------
Arg [0] : _taxWallet (address): 0xA1097b38bb7a0f7905e59517abe85836640f3eC1

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a1097b38bb7a0f7905e59517abe85836640f3ec1


Deployed Bytecode Sourcemap

10089:12602:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21061:187;;;;;;;;;;;;;:::i;:::-;;13062:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10389:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13724:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11201:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11597:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13339:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14450:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10301:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13248:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11320:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11641:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21804:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11496:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18964:479;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13442:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4711:94;;;;;;;;;;;;;:::i;:::-;;22563:119;;;;;;;;;;;;;:::i;:::-;;11262:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11014:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10739:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;11559:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4402:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11074:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13153:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21935:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14275:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22067:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11136:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11526:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21483:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13573:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21256:219;;;;;;;;;;;;;:::i;:::-;;4813:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22230:325;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21061:187;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21123:11:::1;;;;;;;;;;;21122:12;21114:28;;;;;;;;;;;;:::i;:::-;;;;;;;;;21167:4;21153:11;;:18;;;;;;;;;;;;;;;;;;21196:4;21182:11;;:18;;;;;;;;;;;;;;;;;;21225:15;21211:11;:29;;;;21061:187::o:0;13062:83::-;13099:13;13132:5;;;;;;;;;;;;;;;;;13125:12;;13062:83;:::o;10389:81::-;;;:::o;13724:161::-;13799:4;13816:39;13825:12;:10;:12::i;:::-;13839:7;13848:6;13816:8;:39::i;:::-;13873:4;13866:11;;13724:161;;;;:::o;11201:52::-;;;;:::o;11597:37::-;;;;;;;;;;;;;:::o;13339:95::-;13392:7;10807:2;10872;:13;;;;:::i;:::-;10851:18;:34;;;;:::i;:::-;13412:14;;13339:95;:::o;14450:313::-;14548:4;14565:36;14575:6;14583:9;14594:6;14565:9;:36::i;:::-;14612:121;14621:6;14629:12;:10;:12::i;:::-;14643:89;14681:6;14643:89;;;;;;;;;;;;;;;;;:11;:19;14655:6;14643:19;;;;;;;;;;;;;;;:33;14663:12;:10;:12::i;:::-;14643:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14612:8;:121::i;:::-;14751:4;14744:11;;14450:313;;;;;:::o;10301:81::-;;;:::o;13248:83::-;13289:5;10807:2;13307:16;;13248:83;:::o;11320:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;11641:28::-;;;;;;;;;;;;;:::o;21804:123::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21909:10:::1;21890:16;;:29;;;;;;;;;;;;;;;;;;21804:123:::0;:::o;11496:23::-;;;;;;;;;;;;;:::o;18964:479::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19139:13:::1;19112:7;:24;;:40;;;;19187:10;19163:7;:21;;:34;;;;19236:14;19208:7;:25;;:42;;;;19286:11;19261:7;:22;;:36;;;;19349:1;19316:29;19334:10;19316:13;:17;;:29;;;;:::i;:::-;:34;;19308:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;19419:1;19384:31;19403:11;19384:14;:18;;:31;;;;:::i;:::-;:36;;19376:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;18964:479:::0;;;;:::o;13442:123::-;13508:7;13534:9;:18;13544:7;13534:18;;;;;;;;;;;;;;;;13527:25;;13442:123;;;:::o;4711:94::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4776:21:::1;4794:1;4776:9;:21::i;:::-;4711:94::o:0;22563:119::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10807:2:::1;10872;:13;;;;:::i;:::-;10851:18;:34;;;;:::i;:::-;22617:12;:22;;;;10807:2;10872;:13;;;;:::i;:::-;10851:18;:34;;;;:::i;:::-;22650:14;:24;;;;22563:119::o:0;11262:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;11014:53::-;;;;:::o;10739:24::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;11559:29::-;;;;;;;;;;;;;:::o;4402:87::-;4448:7;4475:6;;;;;;;;;;;4468:13;;4402:87;:::o;11074:55::-;;;;:::o;13153:87::-;13192:13;13225:7;;;;;;;;;;;;;;;;;13218:14;;13153:87;:::o;21935:120::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22036:9:::1;22011:14;;:35;;;;;;;;;;;;;;;;;;21935:120:::0;:::o;14275:167::-;14353:4;14370:42;14380:12;:10;:12::i;:::-;14394:9;14405:6;14370:9;:42::i;:::-;14430:4;14423:11;;14275:167;;;;:::o;22067:155::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22208:6:::1;22179:18;:26;22198:6;22179:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;22067:155:::0;;:::o;11136:58::-;;;;:::o;11526:23::-;;;;;;;;;;;;;:::o;21483:313::-;21596:15;;;;;;;;;;;21580:31;;:12;:10;:12::i;:::-;:31;;;21572:40;;;;;;21624:12;21650:6;21642:20;;21717:9;21728:7;21663:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21642:95;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21623:114;;;21756:7;21748:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;21561:235;21483:313;;;:::o;13573:143::-;13654:7;13681:11;:18;13693:5;13681:18;;;;;;;;;;;;;;;:27;13700:7;13681:27;;;;;;;;;;;;;;;;13674:34;;13573:143;;;;:::o;21256:219::-;21324:15;;;;;;;;;;;21308:31;;:12;:10;:12::i;:::-;:31;;;21300:40;;;;;;21352:7;21372:10;21364:24;;21396:21;21364:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21351:71;;;21441:2;21433:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;21288:187;21256:219::o;4813:229::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4936:1:::1;4916:22;;:8;:22;;::::0;4894:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5015:19;5025:8;5015:9;:19::i;:::-;4813:229:::0;:::o;22230:325::-;4634:12;:10;:12::i;:::-;4623:23;;:7;:5;:7::i;:::-;:23;;;4615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22345:6:::1;22342:162;;;22368:14;;;;;;;;;;;:23;;;22392:6;22399:1;22368:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22342:162;;;22443:14;;;;;;;;;;;:23;;;22467:6;22474:17;22484:6;22474:9;:17::i;:::-;22443:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22342:162;22541:6;22514:16;:24;22531:6;22514:24;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;22230:325:::0;;:::o;2969:98::-;3022:7;3049:10;3042:17;;2969:98;:::o;13893:337::-;14003:1;13986:19;;:5;:19;;;13978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14084:1;14065:21;;:7;:21;;;14057:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14168:6;14138:11;:18;14150:5;14138:18;;;;;;;;;;;;;;;:27;14157:7;14138:27;;;;;;;;;;;;;;;:36;;;;14206:7;14190:32;;14199:5;14190:32;;;14215:6;14190:32;;;;;;:::i;:::-;;;;;;;;13893:337;;;:::o;14771:1871::-;14888:1;14870:20;;:6;:20;;;14862:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14972:1;14951:23;;:9;:23;;;14943:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15042:1;15033:6;:10;15025:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15112:6;;;;;;;;;;15108:1525;;;15142:41;15157:6;15165:9;15176:6;15142:14;:41::i;:::-;15135:48;;15108:1525;15232:11;;;;;;;;;;;15227:151;;15272:18;:26;15291:6;15272:26;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;15302:18;:29;15321:9;15302:29;;;;;;;;;;;;;;;;;;;;;;;;;15272:59;15264:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;15227:151;15408:13;;;;;;;;;;;15398:23;;:6;:23;;;:57;;;;;15426:18;:29;15445:9;15426:29;;;;;;;;;;;;;;;;;;;;;;;;;15425:30;15398:57;15394:264;;;15495:12;;15485:6;:22;;15477:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;15597:14;;15587:6;15564:20;15574:9;15564;:20::i;:::-;:29;;;;:::i;:::-;:47;;15556:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;15394:264;15674:28;15705:24;15723:4;15705:9;:24::i;:::-;15674:55;;15744:28;15799:17;;15775:20;:41;;15744:72;;15837:23;:34;;;;;15865:6;;;;;;;;;;15864:7;15837:34;:61;;;;;15885:13;;;;;;;;;;;15875:23;;:6;:23;;;;15837:61;:76;;;;;15902:11;;;;;;;;;;;15837:76;15833:194;;;15950:61;15959:51;15963:6;15971:38;15975:20;15997:11;;15971:3;:38::i;:::-;15959:3;:51::i;:::-;15950:8;:61::i;:::-;15833:194;16075:53;16097:6;16075:53;;;;;;;;;;;;;;;;;:9;:17;16085:6;16075:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;16055:9;:17;16065:6;16055:17;;;;;;;;;;;;;;;:73;;;;16143:19;16165:34;16182:6;16189:9;16165:16;:34::i;:::-;:80;;16211:34;16219:6;16227:9;16238:6;16211:7;:34::i;:::-;16165:80;;;16202:6;16165:80;16143:102;;16283:37;16308:11;16283:9;:20;16293:9;16283:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;16260:9;:20;16270:9;16260:20;;;;;;;;;;;;;;;:60;;;;16341:16;:24;16358:6;16341:24;;;;;;;;;;;;;;;;;;;;;;;;;16337:99;;16372:14;;;;;;;;;;;:23;;;16396:6;16404:17;16414:6;16404:9;:17::i;:::-;16372:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16368:66;16337:99;16454:16;:27;16471:9;16454:27;;;;;;;;;;;;;;;;;;;;;;;;;16450:108;;16488:14;;;;;;;;;;;:23;;;16512:9;16523:20;16533:9;16523;:20::i;:::-;16488:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16484:72;16450:108;16596:9;16579:40;;16588:6;16579:40;;;16607:11;16579:40;;;;;;:::i;:::-;;;;;;;;15210:1423;;;14771:1871;;;;:::o;5589:192::-;5675:7;5708:1;5703;:6;;5711:12;5695:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5735:9;5751:1;5747;:5;;;;:::i;:::-;5735:17;;5772:1;5765:8;;;5589:192;;;;;:::o;5256:181::-;5314:7;5334:9;5350:1;5346;:5;;;;:::i;:::-;5334:17;;5375:1;5370;:6;;5362:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;5428:1;5421:8;;;5256:181;;;;:::o;5050:173::-;5106:16;5125:6;;;;;;;;;;;5106:25;;5151:8;5142:6;;:17;;;;;;;;;;;;;;;;;;5206:8;5175:40;;5196:8;5175:40;;;;;;;;;;;;5095:128;5050:173;:::o;16758:293::-;16873:53;16895:6;16873:53;;;;;;;;;;;;;;;;;:9;:17;16883:6;16873:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;16853:9;:17;16863:6;16853:17;;;;;;;;;;;;;;;:73;;;;16960:32;16985:6;16960:9;:20;16970:9;16960:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16937:9;:20;16947:9;16937:20;;;;;;;;;;;;;;;:55;;;;17025:9;17008:35;;17017:6;17008:35;;;17036:6;17008:35;;;;;;:::i;:::-;;;;;;;;16758:293;;;:::o;16650:100::-;16707:7;16736:1;16734;:3;16733:9;;16741:1;16733:9;;;16739:1;16733:9;16726:16;;16650:100;;;;:::o;19451:928::-;11742:4;11733:6;;:13;;;;;;;;;;;;;;;;;;19518:22:::1;19543:55;19572:7;:25;;;19543:7;:24;;;:28;;:55;;;;:::i;:::-;19518:80;;19609:19;19631:49;19657:7;:22;;;19631:7;:21;;;:25;;:49;;;;:::i;:::-;19609:71;;19691:19;19713:31;19732:11;19713:14;:18;;:31;;;;:::i;:::-;19691:53;;19775:1;19760:11;:16:::0;19757:28:::1;;19778:7;;;;;19757:28;19797:22;19822:21;19797:46;;19854:29;19871:11;19854:16;:29::i;:::-;19894:22;19919:41;19945:14;19919:21;:25;;:41;;;;:::i;:::-;19894:66;;19979:23;20005:51;20044:11;20005:34;20024:14;20005;:18;;:34;;;;:::i;:::-;:38;;:51;;;;:::i;:::-;19979:77;;20067:20;20090:38;20109:18;20090:14;:18;;:38;;;;:::i;:::-;20067:61;;20167:1;20146:18;:22;20143:99;;;20185:16;;;;;;;;;;;:25;;:45;20211:18;20185:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20143:99;20275:1;20257:15;:19;20254:118;;;20297:14;;;;;;;;;;;:22;;;20329:15;20297:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20293:68:::0;20254:118:::1;19505:874;;;;;;;11757:1;11778:5:::0;11769:6;;:14;;;;;;;;;;;;;;;;;;19451:928;:::o;17063:377::-;17147:4;17178:13;;;;;;;;;;;17168:23;;:6;:23;;;:53;;;;17208:13;;;;;;;;;;;17195:26;;:9;:26;;;17168:53;17164:269;;;17246:5;17239:12;;;;17164:269;17281:18;:26;17300:6;17281:26;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;17311:18;:29;17330:9;17311:29;;;;;;;;;;;;;;;;;;;;;;;;;17281:59;17278:155;;;17364:4;17357:11;;;;17278:155;17417:4;17410:11;;17063:377;;;;;:::o;17448:1045::-;17534:7;17564:14;17589;17614:11;17646:12;:10;:12::i;:::-;17718:6;17701:23;;:13;;;;;;;;;;;:23;;;17698:509;;17758:45;17799:3;17758:36;17769:7;:24;;;17758:6;:10;;:36;;;;:::i;:::-;:40;;:45;;;;:::i;:::-;17746:57;;17831:42;17869:3;17831:33;17842:7;:21;;;17831:6;:10;;:33;;;;:::i;:::-;:37;;:42;;;;:::i;:::-;17822:51;;17904:21;17918:6;17904:9;:13;;:21;;;;:::i;:::-;17892:33;;17698:509;;;17980:9;17963:26;;:13;;;;;;;;;;;:26;;;17960:247;;18022:46;18064:3;18022:37;18033:7;:25;;;18022:6;:10;;:37;;;;:::i;:::-;:41;;:46;;;;:::i;:::-;18010:58;;18096:43;18135:3;18096:34;18107:7;:22;;;18096:6;:10;;:34;;;;:::i;:::-;:38;;:43;;;;:::i;:::-;18087:52;;18170:21;18184:6;18170:9;:13;;:21;;;;:::i;:::-;18158:33;;17960:247;17698:509;18250:1;18238:9;:13;18235:185;;;18299:39;18328:9;18299;:24;18317:4;18299:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;18272:9;:24;18290:4;18272:24;;;;;;;;;;;;;;;:66;;;;18387:4;18362:42;;18371:6;18362:42;;;18394:9;18362:42;;;;;;:::i;:::-;;;;;;;;18235:185;18443:21;18454:9;18443:6;:10;;:21;;;;:::i;:::-;18436:28;;;;;17448:1045;;;;;:::o;20387:666::-;20513:21;20551:1;20537:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20513:40;;20582:4;20564;20569:1;20564:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20608:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20598:4;20603:1;20598:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;20643:62;20660:4;20675:15;;;;;;;;;;;20693:11;20643:8;:62::i;:::-;20744:15;;;;;;;;;;;:66;;;20825:11;20851:1;20895:4;20922;20958:15;20744:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21010:35;21027:11;21040:4;21010:35;;;;;;;:::i;:::-;;;;;;;;20442:611;20387:666;:::o;5445:136::-;5503:7;5530:43;5534:1;5537;5530:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5523:50;;5445:136;;;;:::o;5789:250::-;5847:7;5876:1;5871;:6;5867:47;;5901:1;5894:8;;;;5867:47;5926:9;5942:1;5938;:5;;;;:::i;:::-;5926:17;;5971:1;5966;5962;:5;;;;:::i;:::-;:10;5954:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;6030:1;6023:8;;;5789:250;;;;;:::o;6047:132::-;6105:7;6132:39;6136:1;6139;6132:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6125:46;;6047:132;;;;:::o;18501:455::-;18546:10;;;;;;;;;;;18558:7;18543:22;18618:15;18579:35;18595:18;;18579:11;;:15;;:35;;;;:::i;:::-;:54;18575:374;;18660:19;;;;;;;;18670:1;18660:19;;;;18672:1;18660:19;;;;18674:2;18660:19;;;;18677:1;18660:19;;;18650:7;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18575:374;;;18774:15;18711:59;18751:18;;18711:35;18727:18;;18711:11;;:15;;:35;;;;:::i;:::-;:39;;:59;;;;:::i;:::-;:78;18707:242;;18816:18;;;;;;;;18826:1;18816:18;;;;18828:1;18816:18;;;;18830:1;18816:18;;;;18832:1;18816:18;;;18806:7;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18707:242;;;18887:18;;;;;;;;18897:1;18887:18;;;;18899:1;18887:18;;;;18901:1;18887:18;;;;18903:1;18887:18;;;18877:7;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18933:4;18920:10;;:17;;;;;;;;;;;;;;;;;;18707:242;18575:374;18501:455;:::o;6187:278::-;6273:7;6305:1;6301;:5;6308:12;6293:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6332:9;6348:1;6344;:5;;;;:::i;:::-;6332:17;;6456:1;6449:8;;;6187:278;;;;;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:126::-;1279:7;1319:42;1312:5;1308:54;1297:65;;1242:126;;;:::o;1374:96::-;1411:7;1440:24;1458:5;1440:24;:::i;:::-;1429:35;;1374:96;;;:::o;1476:118::-;1563:24;1581:5;1563:24;:::i;:::-;1558:3;1551:37;1476:118;;:::o;1600:222::-;1693:4;1731:2;1720:9;1716:18;1708:26;;1744:71;1812:1;1801:9;1797:17;1788:6;1744:71;:::i;:::-;1600:222;;;;:::o;1909:117::-;2018:1;2015;2008:12;2155:122;2228:24;2246:5;2228:24;:::i;:::-;2221:5;2218:35;2208:63;;2267:1;2264;2257:12;2208:63;2155:122;:::o;2283:139::-;2329:5;2367:6;2354:20;2345:29;;2383:33;2410:5;2383:33;:::i;:::-;2283:139;;;;:::o;2428:77::-;2465:7;2494:5;2483:16;;2428:77;;;:::o;2511:122::-;2584:24;2602:5;2584:24;:::i;:::-;2577:5;2574:35;2564:63;;2623:1;2620;2613:12;2564:63;2511:122;:::o;2639:139::-;2685:5;2723:6;2710:20;2701:29;;2739:33;2766:5;2739:33;:::i;:::-;2639:139;;;;:::o;2784:474::-;2852:6;2860;2909:2;2897:9;2888:7;2884:23;2880:32;2877:119;;;2915:79;;:::i;:::-;2877:119;3035:1;3060:53;3105:7;3096:6;3085:9;3081:22;3060:53;:::i;:::-;3050:63;;3006:117;3162:2;3188:53;3233:7;3224:6;3213:9;3209:22;3188:53;:::i;:::-;3178:63;;3133:118;2784:474;;;;;:::o;3264:90::-;3298:7;3341:5;3334:13;3327:21;3316:32;;3264:90;;;:::o;3360:109::-;3441:21;3456:5;3441:21;:::i;:::-;3436:3;3429:34;3360:109;;:::o;3475:210::-;3562:4;3600:2;3589:9;3585:18;3577:26;;3613:65;3675:1;3664:9;3660:17;3651:6;3613:65;:::i;:::-;3475:210;;;;:::o;3691:118::-;3778:24;3796:5;3778:24;:::i;:::-;3773:3;3766:37;3691:118;;:::o;3815:222::-;3908:4;3946:2;3935:9;3931:18;3923:26;;3959:71;4027:1;4016:9;4012:17;4003:6;3959:71;:::i;:::-;3815:222;;;;:::o;4043:60::-;4071:3;4092:5;4085:12;;4043:60;;;:::o;4109:142::-;4159:9;4192:53;4210:34;4219:24;4237:5;4219:24;:::i;:::-;4210:34;:::i;:::-;4192:53;:::i;:::-;4179:66;;4109:142;;;:::o;4257:126::-;4307:9;4340:37;4371:5;4340:37;:::i;:::-;4327:50;;4257:126;;;:::o;4389:148::-;4461:9;4494:37;4525:5;4494:37;:::i;:::-;4481:50;;4389:148;;;:::o;4543:175::-;4652:59;4705:5;4652:59;:::i;:::-;4647:3;4640:72;4543:175;;:::o;4724:266::-;4839:4;4877:2;4866:9;4862:18;4854:26;;4890:93;4980:1;4969:9;4965:17;4956:6;4890:93;:::i;:::-;4724:266;;;;:::o;4996:619::-;5073:6;5081;5089;5138:2;5126:9;5117:7;5113:23;5109:32;5106:119;;;5144:79;;:::i;:::-;5106:119;5264:1;5289:53;5334:7;5325:6;5314:9;5310:22;5289:53;:::i;:::-;5279:63;;5235:117;5391:2;5417:53;5462:7;5453:6;5442:9;5438:22;5417:53;:::i;:::-;5407:63;;5362:118;5519:2;5545:53;5590:7;5581:6;5570:9;5566:22;5545:53;:::i;:::-;5535:63;;5490:118;4996:619;;;;;:::o;5621:86::-;5656:7;5696:4;5689:5;5685:16;5674:27;;5621:86;;;:::o;5713:112::-;5796:22;5812:5;5796:22;:::i;:::-;5791:3;5784:35;5713:112;;:::o;5831:214::-;5920:4;5958:2;5947:9;5943:18;5935:26;;5971:67;6035:1;6024:9;6020:17;6011:6;5971:67;:::i;:::-;5831:214;;;;:::o;6051:329::-;6110:6;6159:2;6147:9;6138:7;6134:23;6130:32;6127:119;;;6165:79;;:::i;:::-;6127:119;6285:1;6310:53;6355:7;6346:6;6335:9;6331:22;6310:53;:::i;:::-;6300:63;;6256:117;6051:329;;;;:::o;6386:104::-;6431:7;6460:24;6478:5;6460:24;:::i;:::-;6449:35;;6386:104;;;:::o;6496:138::-;6577:32;6603:5;6577:32;:::i;:::-;6570:5;6567:43;6557:71;;6624:1;6621;6614:12;6557:71;6496:138;:::o;6640:155::-;6694:5;6732:6;6719:20;6710:29;;6748:41;6783:5;6748:41;:::i;:::-;6640:155;;;;:::o;6801:345::-;6868:6;6917:2;6905:9;6896:7;6892:23;6888:32;6885:119;;;6923:79;;:::i;:::-;6885:119;7043:1;7068:61;7121:7;7112:6;7101:9;7097:22;7068:61;:::i;:::-;7058:71;;7014:125;6801:345;;;;:::o;7152:765::-;7238:6;7246;7254;7262;7311:3;7299:9;7290:7;7286:23;7282:33;7279:120;;;7318:79;;:::i;:::-;7279:120;7438:1;7463:53;7508:7;7499:6;7488:9;7484:22;7463:53;:::i;:::-;7453:63;;7409:117;7565:2;7591:53;7636:7;7627:6;7616:9;7612:22;7591:53;:::i;:::-;7581:63;;7536:118;7693:2;7719:53;7764:7;7755:6;7744:9;7740:22;7719:53;:::i;:::-;7709:63;;7664:118;7821:2;7847:53;7892:7;7883:6;7872:9;7868:22;7847:53;:::i;:::-;7837:63;;7792:118;7152:765;;;;;;;:::o;7923:553::-;8100:4;8138:3;8127:9;8123:19;8115:27;;8152:71;8220:1;8209:9;8205:17;8196:6;8152:71;:::i;:::-;8233:72;8301:2;8290:9;8286:18;8277:6;8233:72;:::i;:::-;8315;8383:2;8372:9;8368:18;8359:6;8315:72;:::i;:::-;8397;8465:2;8454:9;8450:18;8441:6;8397:72;:::i;:::-;7923:553;;;;;;;:::o;8482:141::-;8547:9;8580:37;8611:5;8580:37;:::i;:::-;8567:50;;8482:141;;;:::o;8629:161::-;8731:52;8777:5;8731:52;:::i;:::-;8726:3;8719:65;8629:161;;:::o;8796:252::-;8904:4;8942:2;8931:9;8927:18;8919:26;;8955:86;9038:1;9027:9;9023:17;9014:6;8955:86;:::i;:::-;8796:252;;;;:::o;9054:116::-;9124:21;9139:5;9124:21;:::i;:::-;9117:5;9114:32;9104:60;;9160:1;9157;9150:12;9104:60;9054:116;:::o;9176:133::-;9219:5;9257:6;9244:20;9235:29;;9273:30;9297:5;9273:30;:::i;:::-;9176:133;;;;:::o;9315:468::-;9380:6;9388;9437:2;9425:9;9416:7;9412:23;9408:32;9405:119;;;9443:79;;:::i;:::-;9405:119;9563:1;9588:53;9633:7;9624:6;9613:9;9609:22;9588:53;:::i;:::-;9578:63;;9534:117;9690:2;9716:50;9758:7;9749:6;9738:9;9734:22;9716:50;:::i;:::-;9706:60;;9661:115;9315:468;;;;;:::o;9789:474::-;9857:6;9865;9914:2;9902:9;9893:7;9889:23;9885:32;9882:119;;;9920:79;;:::i;:::-;9882:119;10040:1;10065:53;10110:7;10101:6;10090:9;10086:22;10065:53;:::i;:::-;10055:63;;10011:117;10167:2;10193:53;10238:7;10229:6;10218:9;10214:22;10193:53;:::i;:::-;10183:63;;10138:118;9789:474;;;;;:::o;10269:182::-;10409:34;10405:1;10397:6;10393:14;10386:58;10269:182;:::o;10457:366::-;10599:3;10620:67;10684:2;10679:3;10620:67;:::i;:::-;10613:74;;10696:93;10785:3;10696:93;:::i;:::-;10814:2;10809:3;10805:12;10798:19;;10457:366;;;:::o;10829:419::-;10995:4;11033:2;11022:9;11018:18;11010:26;;11082:9;11076:4;11072:20;11068:1;11057:9;11053:17;11046:47;11110:131;11236:4;11110:131;:::i;:::-;11102:139;;10829:419;;;:::o;11254:153::-;11394:5;11390:1;11382:6;11378:14;11371:29;11254:153;:::o;11413:365::-;11555:3;11576:66;11640:1;11635:3;11576:66;:::i;:::-;11569:73;;11651:93;11740:3;11651:93;:::i;:::-;11769:2;11764:3;11760:12;11753:19;;11413:365;;;:::o;11784:419::-;11950:4;11988:2;11977:9;11973:18;11965:26;;12037:9;12031:4;12027:20;12023:1;12012:9;12008:17;12001:47;12065:131;12191:4;12065:131;:::i;:::-;12057:139;;11784:419;;;:::o;12209:180::-;12257:77;12254:1;12247:88;12354:4;12351:1;12344:15;12378:4;12375:1;12368:15;12395:102;12437:8;12484:5;12481:1;12477:13;12456:34;;12395:102;;;:::o;12503:848::-;12564:5;12571:4;12595:6;12586:15;;12619:5;12610:14;;12633:712;12654:1;12644:8;12641:15;12633:712;;;12749:4;12744:3;12740:14;12734:4;12731:24;12728:50;;;12758:18;;:::i;:::-;12728:50;12808:1;12798:8;12794:16;12791:451;;;13223:4;13216:5;13212:16;13203:25;;12791:451;13273:4;13267;13263:15;13255:23;;13303:32;13326:8;13303:32;:::i;:::-;13291:44;;12633:712;;;12503:848;;;;;;;:::o;13357:1073::-;13411:5;13602:8;13592:40;;13623:1;13614:10;;13625:5;;13592:40;13651:4;13641:36;;13668:1;13659:10;;13670:5;;13641:36;13737:4;13785:1;13780:27;;;;13821:1;13816:191;;;;13730:277;;13780:27;13798:1;13789:10;;13800:5;;;13816:191;13861:3;13851:8;13848:17;13845:43;;;13868:18;;:::i;:::-;13845:43;13917:8;13914:1;13910:16;13901:25;;13952:3;13945:5;13942:14;13939:40;;;13959:18;;:::i;:::-;13939:40;13992:5;;;13730:277;;14116:2;14106:8;14103:16;14097:3;14091:4;14088:13;14084:36;14066:2;14056:8;14053:16;14048:2;14042:4;14039:12;14035:35;14019:111;14016:246;;;14172:8;14166:4;14162:19;14153:28;;14207:3;14200:5;14197:14;14194:40;;;14214:18;;:::i;:::-;14194:40;14247:5;;14016:246;14287:42;14325:3;14315:8;14309:4;14306:1;14287:42;:::i;:::-;14272:57;;;;14361:4;14356:3;14352:14;14345:5;14342:25;14339:51;;;14370:18;;:::i;:::-;14339:51;14419:4;14412:5;14408:16;14399:25;;13357:1073;;;;;;:::o;14436:281::-;14494:5;14518:23;14536:4;14518:23;:::i;:::-;14510:31;;14562:25;14578:8;14562:25;:::i;:::-;14550:37;;14606:104;14643:66;14633:8;14627:4;14606:104;:::i;:::-;14597:113;;14436:281;;;;:::o;14723:410::-;14763:7;14786:20;14804:1;14786:20;:::i;:::-;14781:25;;14820:20;14838:1;14820:20;:::i;:::-;14815:25;;14875:1;14872;14868:9;14897:30;14915:11;14897:30;:::i;:::-;14886:41;;15076:1;15067:7;15063:15;15060:1;15057:22;15037:1;15030:9;15010:83;14987:139;;15106:18;;:::i;:::-;14987:139;14771:362;14723:410;;;;:::o;15139:160::-;15279:12;15275:1;15267:6;15263:14;15256:36;15139:160;:::o;15305:366::-;15447:3;15468:67;15532:2;15527:3;15468:67;:::i;:::-;15461:74;;15544:93;15633:3;15544:93;:::i;:::-;15662:2;15657:3;15653:12;15646:19;;15305:366;;;:::o;15677:419::-;15843:4;15881:2;15870:9;15866:18;15858:26;;15930:9;15924:4;15920:20;15916:1;15905:9;15901:17;15894:47;15958:131;16084:4;15958:131;:::i;:::-;15950:139;;15677:419;;;:::o;16102:332::-;16223:4;16261:2;16250:9;16246:18;16238:26;;16274:71;16342:1;16331:9;16327:17;16318:6;16274:71;:::i;:::-;16355:72;16423:2;16412:9;16408:18;16399:6;16355:72;:::i;:::-;16102:332;;;;;:::o;16440:98::-;16491:6;16525:5;16519:12;16509:22;;16440:98;;;:::o;16544:147::-;16645:11;16682:3;16667:18;;16544:147;;;;:::o;16697:386::-;16801:3;16829:38;16861:5;16829:38;:::i;:::-;16883:88;16964:6;16959:3;16883:88;:::i;:::-;16876:95;;16980:65;17038:6;17033:3;17026:4;17019:5;17015:16;16980:65;:::i;:::-;17070:6;17065:3;17061:16;17054:23;;16805:278;16697:386;;;;:::o;17089:271::-;17219:3;17241:93;17330:3;17321:6;17241:93;:::i;:::-;17234:100;;17351:3;17344:10;;17089:271;;;;:::o;17366:170::-;17506:22;17502:1;17494:6;17490:14;17483:46;17366:170;:::o;17542:366::-;17684:3;17705:67;17769:2;17764:3;17705:67;:::i;:::-;17698:74;;17781:93;17870:3;17781:93;:::i;:::-;17899:2;17894:3;17890:12;17883:19;;17542:366;;;:::o;17914:419::-;18080:4;18118:2;18107:9;18103:18;18095:26;;18167:9;18161:4;18157:20;18153:1;18142:9;18138:17;18131:47;18195:131;18321:4;18195:131;:::i;:::-;18187:139;;17914:419;;;:::o;18339:114::-;;:::o;18459:398::-;18618:3;18639:83;18720:1;18715:3;18639:83;:::i;:::-;18632:90;;18731:93;18820:3;18731:93;:::i;:::-;18849:1;18844:3;18840:11;18833:18;;18459:398;;;:::o;18863:379::-;19047:3;19069:147;19212:3;19069:147;:::i;:::-;19062:154;;19233:3;19226:10;;18863:379;;;:::o;19248:170::-;19388:22;19384:1;19376:6;19372:14;19365:46;19248:170;:::o;19424:366::-;19566:3;19587:67;19651:2;19646:3;19587:67;:::i;:::-;19580:74;;19663:93;19752:3;19663:93;:::i;:::-;19781:2;19776:3;19772:12;19765:19;;19424:366;;;:::o;19796:419::-;19962:4;20000:2;19989:9;19985:18;19977:26;;20049:9;20043:4;20039:20;20035:1;20024:9;20020:17;20013:47;20077:131;20203:4;20077:131;:::i;:::-;20069:139;;19796:419;;;:::o;20221:225::-;20361:34;20357:1;20349:6;20345:14;20338:58;20430:8;20425:2;20417:6;20413:15;20406:33;20221:225;:::o;20452:366::-;20594:3;20615:67;20679:2;20674:3;20615:67;:::i;:::-;20608:74;;20691:93;20780:3;20691:93;:::i;:::-;20809:2;20804:3;20800:12;20793:19;;20452:366;;;:::o;20824:419::-;20990:4;21028:2;21017:9;21013:18;21005:26;;21077:9;21071:4;21067:20;21063:1;21052:9;21048:17;21041:47;21105:131;21231:4;21105:131;:::i;:::-;21097:139;;20824:419;;;:::o;21249:85::-;21294:7;21323:5;21312:16;;21249:85;;;:::o;21340:158::-;21398:9;21431:61;21449:42;21458:32;21484:5;21458:32;:::i;:::-;21449:42;:::i;:::-;21431:61;:::i;:::-;21418:74;;21340:158;;;:::o;21504:147::-;21599:45;21638:5;21599:45;:::i;:::-;21594:3;21587:58;21504:147;;:::o;21657:348::-;21786:4;21824:2;21813:9;21809:18;21801:26;;21837:71;21905:1;21894:9;21890:17;21881:6;21837:71;:::i;:::-;21918:80;21994:2;21983:9;21979:18;21970:6;21918:80;:::i;:::-;21657:348;;;;;:::o;22011:223::-;22151:34;22147:1;22139:6;22135:14;22128:58;22220:6;22215:2;22207:6;22203:15;22196:31;22011:223;:::o;22240:366::-;22382:3;22403:67;22467:2;22462:3;22403:67;:::i;:::-;22396:74;;22479:93;22568:3;22479:93;:::i;:::-;22597:2;22592:3;22588:12;22581:19;;22240:366;;;:::o;22612:419::-;22778:4;22816:2;22805:9;22801:18;22793:26;;22865:9;22859:4;22855:20;22851:1;22840:9;22836:17;22829:47;22893:131;23019:4;22893:131;:::i;:::-;22885:139;;22612:419;;;:::o;23037:221::-;23177:34;23173:1;23165:6;23161:14;23154:58;23246:4;23241:2;23233:6;23229:15;23222:29;23037:221;:::o;23264:366::-;23406:3;23427:67;23491:2;23486:3;23427:67;:::i;:::-;23420:74;;23503:93;23592:3;23503:93;:::i;:::-;23621:2;23616:3;23612:12;23605:19;;23264:366;;;:::o;23636:419::-;23802:4;23840:2;23829:9;23825:18;23817:26;;23889:9;23883:4;23879:20;23875:1;23864:9;23860:17;23853:47;23917:131;24043:4;23917:131;:::i;:::-;23909:139;;23636:419;;;:::o;24061:224::-;24201:34;24197:1;24189:6;24185:14;24178:58;24270:7;24265:2;24257:6;24253:15;24246:32;24061:224;:::o;24291:366::-;24433:3;24454:67;24518:2;24513:3;24454:67;:::i;:::-;24447:74;;24530:93;24619:3;24530:93;:::i;:::-;24648:2;24643:3;24639:12;24632:19;;24291:366;;;:::o;24663:419::-;24829:4;24867:2;24856:9;24852:18;24844:26;;24916:9;24910:4;24906:20;24902:1;24891:9;24887:17;24880:47;24944:131;25070:4;24944:131;:::i;:::-;24936:139;;24663:419;;;:::o;25088:222::-;25228:34;25224:1;25216:6;25212:14;25205:58;25297:5;25292:2;25284:6;25280:15;25273:30;25088:222;:::o;25316:366::-;25458:3;25479:67;25543:2;25538:3;25479:67;:::i;:::-;25472:74;;25555:93;25644:3;25555:93;:::i;:::-;25673:2;25668:3;25664:12;25657:19;;25316:366;;;:::o;25688:419::-;25854:4;25892:2;25881:9;25877:18;25869:26;;25941:9;25935:4;25931:20;25927:1;25916:9;25912:17;25905:47;25969:131;26095:4;25969:131;:::i;:::-;25961:139;;25688:419;;;:::o;26113:228::-;26253:34;26249:1;26241:6;26237:14;26230:58;26322:11;26317:2;26309:6;26305:15;26298:36;26113:228;:::o;26347:366::-;26489:3;26510:67;26574:2;26569:3;26510:67;:::i;:::-;26503:74;;26586:93;26675:3;26586:93;:::i;:::-;26704:2;26699:3;26695:12;26688:19;;26347:366;;;:::o;26719:419::-;26885:4;26923:2;26912:9;26908:18;26900:26;;26972:9;26966:4;26962:20;26958:1;26947:9;26943:17;26936:47;27000:131;27126:4;27000:131;:::i;:::-;26992:139;;26719:419;;;:::o;27144:176::-;27284:28;27280:1;27272:6;27268:14;27261:52;27144:176;:::o;27326:366::-;27468:3;27489:67;27553:2;27548:3;27489:67;:::i;:::-;27482:74;;27565:93;27654:3;27565:93;:::i;:::-;27683:2;27678:3;27674:12;27667:19;;27326:366;;;:::o;27698:419::-;27864:4;27902:2;27891:9;27887:18;27879:26;;27951:9;27945:4;27941:20;27937:1;27926:9;27922:17;27915:47;27979:131;28105:4;27979:131;:::i;:::-;27971:139;;27698:419;;;:::o;28123:175::-;28263:27;28259:1;28251:6;28247:14;28240:51;28123:175;:::o;28304:366::-;28446:3;28467:67;28531:2;28526:3;28467:67;:::i;:::-;28460:74;;28543:93;28632:3;28543:93;:::i;:::-;28661:2;28656:3;28652:12;28645:19;;28304:366;;;:::o;28676:419::-;28842:4;28880:2;28869:9;28865:18;28857:26;;28929:9;28923:4;28919:20;28915:1;28904:9;28900:17;28893:47;28957:131;29083:4;28957:131;:::i;:::-;28949:139;;28676:419;;;:::o;29101:191::-;29141:3;29160:20;29178:1;29160:20;:::i;:::-;29155:25;;29194:20;29212:1;29194:20;:::i;:::-;29189:25;;29237:1;29234;29230:9;29223:16;;29258:3;29255:1;29252:10;29249:36;;;29265:18;;:::i;:::-;29249:36;29101:191;;;;:::o;29298:176::-;29438:28;29434:1;29426:6;29422:14;29415:52;29298:176;:::o;29480:366::-;29622:3;29643:67;29707:2;29702:3;29643:67;:::i;:::-;29636:74;;29719:93;29808:3;29719:93;:::i;:::-;29837:2;29832:3;29828:12;29821:19;;29480:366;;;:::o;29852:419::-;30018:4;30056:2;30045:9;30041:18;30033:26;;30105:9;30099:4;30095:20;30091:1;30080:9;30076:17;30069:47;30133:131;30259:4;30133:131;:::i;:::-;30125:139;;29852:419;;;:::o;30277:194::-;30317:4;30337:20;30355:1;30337:20;:::i;:::-;30332:25;;30371:20;30389:1;30371:20;:::i;:::-;30366:25;;30415:1;30412;30408:9;30400:17;;30439:1;30433:4;30430:11;30427:37;;;30444:18;;:::i;:::-;30427:37;30277:194;;;;:::o;30477:177::-;30617:29;30613:1;30605:6;30601:14;30594:53;30477:177;:::o;30660:366::-;30802:3;30823:67;30887:2;30882:3;30823:67;:::i;:::-;30816:74;;30899:93;30988:3;30899:93;:::i;:::-;31017:2;31012:3;31008:12;31001:19;;30660:366;;;:::o;31032:419::-;31198:4;31236:2;31225:9;31221:18;31213:26;;31285:9;31279:4;31275:20;31271:1;31260:9;31256:17;31249:47;31313:131;31439:4;31313:131;:::i;:::-;31305:139;;31032:419;;;:::o;31457:180::-;31505:77;31502:1;31495:88;31602:4;31599:1;31592:15;31626:4;31623:1;31616:15;31643:180;31691:77;31688:1;31681:88;31788:4;31785:1;31778:15;31812:4;31809:1;31802:15;31829:143;31886:5;31917:6;31911:13;31902:22;;31933:33;31960:5;31933:33;:::i;:::-;31829:143;;;;:::o;31978:351::-;32048:6;32097:2;32085:9;32076:7;32072:23;32068:32;32065:119;;;32103:79;;:::i;:::-;32065:119;32223:1;32248:64;32304:7;32295:6;32284:9;32280:22;32248:64;:::i;:::-;32238:74;;32194:128;31978:351;;;;:::o;32335:114::-;32402:6;32436:5;32430:12;32420:22;;32335:114;;;:::o;32455:184::-;32554:11;32588:6;32583:3;32576:19;32628:4;32623:3;32619:14;32604:29;;32455:184;;;;:::o;32645:132::-;32712:4;32735:3;32727:11;;32765:4;32760:3;32756:14;32748:22;;32645:132;;;:::o;32783:108::-;32860:24;32878:5;32860:24;:::i;:::-;32855:3;32848:37;32783:108;;:::o;32897:179::-;32966:10;32987:46;33029:3;33021:6;32987:46;:::i;:::-;33065:4;33060:3;33056:14;33042:28;;32897:179;;;;:::o;33082:113::-;33152:4;33184;33179:3;33175:14;33167:22;;33082:113;;;:::o;33231:732::-;33350:3;33379:54;33427:5;33379:54;:::i;:::-;33449:86;33528:6;33523:3;33449:86;:::i;:::-;33442:93;;33559:56;33609:5;33559:56;:::i;:::-;33638:7;33669:1;33654:284;33679:6;33676:1;33673:13;33654:284;;;33755:6;33749:13;33782:63;33841:3;33826:13;33782:63;:::i;:::-;33775:70;;33868:60;33921:6;33868:60;:::i;:::-;33858:70;;33714:224;33701:1;33698;33694:9;33689:14;;33654:284;;;33658:14;33954:3;33947:10;;33355:608;;;33231:732;;;;:::o;33969:831::-;34232:4;34270:3;34259:9;34255:19;34247:27;;34284:71;34352:1;34341:9;34337:17;34328:6;34284:71;:::i;:::-;34365:80;34441:2;34430:9;34426:18;34417:6;34365:80;:::i;:::-;34492:9;34486:4;34482:20;34477:2;34466:9;34462:18;34455:48;34520:108;34623:4;34614:6;34520:108;:::i;:::-;34512:116;;34638:72;34706:2;34695:9;34691:18;34682:6;34638:72;:::i;:::-;34720:73;34788:3;34777:9;34773:19;34764:6;34720:73;:::i;:::-;33969:831;;;;;;;;:::o;34806:483::-;34977:4;35015:2;35004:9;35000:18;34992:26;;35028:71;35096:1;35085:9;35081:17;35072:6;35028:71;:::i;:::-;35146:9;35140:4;35136:20;35131:2;35120:9;35116:18;35109:48;35174:108;35277:4;35268:6;35174:108;:::i;:::-;35166:116;;34806:483;;;;;:::o;35295:180::-;35343:77;35340:1;35333:88;35440:4;35437:1;35430:15;35464:4;35461:1;35454:15;35481:185;35521:1;35538:20;35556:1;35538:20;:::i;:::-;35533:25;;35572:20;35590:1;35572:20;:::i;:::-;35567:25;;35611:1;35601:35;;35616:18;;:::i;:::-;35601:35;35658:1;35655;35651:9;35646:14;;35481:185;;;;:::o;35672:220::-;35812:34;35808:1;35800:6;35796:14;35789:58;35881:3;35876:2;35868:6;35864:15;35857:28;35672:220;:::o;35898:366::-;36040:3;36061:67;36125:2;36120:3;36061:67;:::i;:::-;36054:74;;36137:93;36226:3;36137:93;:::i;:::-;36255:2;36250:3;36246:12;36239:19;;35898:366;;;:::o;36270:419::-;36436:4;36474:2;36463:9;36459:18;36451:26;;36523:9;36517:4;36513:20;36509:1;36498:9;36494:17;36487:47;36551:131;36677:4;36551:131;:::i;:::-;36543:139;;36270:419;;;:::o

Swarm Source

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