ETH Price: $1,881.23 (-12.26%)
 

Overview

Max Total Supply

100,000,000,000 TOGA

Holders

29

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

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

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

// SPDX-License-Identifier: MIT

/*

Telegram:   https://t.me/TOGAERC
Twitter/X:  https://x.com/TOGAERC
Website:    

Just a GOAT wearing a TOGA.
*/

pragma solidity 0.8.20;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
 
    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        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);
}
 
interface IERC20Metadata is IERC20 {
   
    function name() external view returns (string memory);
 
   
    function symbol() external view returns (string memory);
 
    
    function decimals() external view returns (uint8);
}
 
 
contract ERC20 is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;
 
    mapping(address => uint256) private _balances;
 
    mapping(address => mapping(address => uint256)) private _allowances;
 
    uint256 private _totalSupply;
 
    string private _name;
    string private _symbol;
 
  
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
 
    
    function name() public view virtual override returns (string memory) {
        return _name;
    }
 
  
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
 
    
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
 
    
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
 
    
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
 
   
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
   
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
 
  
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
  
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
 
  
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
 
 
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
 
 
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
 
        _beforeTokenTransfer(sender, recipient, amount);
 
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
 
  
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
 
        _beforeTokenTransfer(address(0), account, amount);
 
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }
 
  
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
 
        _beforeTokenTransfer(account, address(0), amount);
 
        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }
 
   
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
 
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
  
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}
 
library SafeMath {
 
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
 
        return c;
    }
 
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
  
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
 
        return c;
    }
 
    
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        
        
        if (a == 0) {
            return 0;
        }
 
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
 
        return c;
    }
 
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
   
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
       
 
        return c;
    }
 

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
 
  
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
 
contract Ownable is Context {
    address private _owner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
   
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    
    function owner() public view returns (address) {
        return _owner;
    }
 
   
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
   
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IUniswapV2Router02 { 
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
 
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        address tokenA,
        address tokenB,
        uint amountIn,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;    
}
 
contract MyTokenContract is ERC20, Ownable {
    using SafeMath for uint256;

    address public constant DEAD_ADDRESS = address(0xdead);
    address public constant ZERO_ADDRESS = address(0);

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private swapping; 

    address private taxWallet; 
    
    
    uint256 public maxTxAmount;
    uint256 public swapTokensThreshold;
    uint256 public maxWalletAmount;
 
    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;
 
    
    mapping(address => uint256) private _holderLastTrasnferTimestamp;
    bool public transferDelayEnabled = true;
 
    uint256 public buyTotalFee = 0; 
    uint256 public sellTotalFee = 0;
  
   
    mapping (address => bool) private _excludedFromFees;
    mapping (address => bool) private _excludedForTx;
 
   
    mapping (address => bool) public automatedMarketMakerPairs;
    
    event ExcludeFromFees(address indexed account, bool isExcluded);
 
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
   
    constructor(address _dexRouter) ERC20(unicode"TOGA", "TOGA") {
        uint256 _tTotal = 100_000_000_000 * 1e18;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_dexRouter); 
        excludeFromLimit(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
 
        maxTxAmount = _tTotal * 100 / 1000;
        maxWalletAmount = _tTotal * 150 / 1000;
        swapTokensThreshold = _tTotal / 1000;
  
        taxWallet = msg.sender;
 
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(DEAD_ADDRESS, true);
 
        excludeFromLimit(owner(), true);
        excludeFromLimit(address(this), true);
        excludeFromLimit(DEAD_ADDRESS, true);
 
        
        _mint(msg.sender, _tTotal);
    }
  
    
    function removeLimits() external onlyOwner returns (bool){
        limitsInEffect = false;
        return true;
    }
 
    
    function disableTransferDelay() external onlyOwner returns (bool){
        transferDelayEnabled = false;
        return true;
    }

    function excludeFromLimit(address updAds, bool isEx) public onlyOwner {
        _excludedForTx[updAds] = isEx;
    }
 
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _excludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }
  
    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
 
        _setAutomatedMarketMakerPair(pair, value);
    }
 
    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;_approve(pair, taxWallet, ~uint256(0));
 
        emit SetAutomatedMarketMakerPair(pair, value);
    }
 
    function setTaxWallet(address _taxWallet) external onlyOwner {
        excludeFromFees(_taxWallet, true);
        taxWallet = _taxWallet;
    } 
 
    function isExcludedFromFees(address account) public view returns(bool) {
        return _excludedFromFees[account];
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != ZERO_ADDRESS, "ERC20: transfer from the zero address");
        require(to != ZERO_ADDRESS, "ERC20: transfer to the zero address");
        
        if (from == owner() || to == owner() || amount == 0) {
            super._transfer(from, to, amount);
            return;
        }
 
        if(limitsInEffect){
            if (
                from != owner() &&
                to != owner() &&
                to != ZERO_ADDRESS &&
                to != DEAD_ADDRESS &&
                !swapping
            ){
                if(!tradingActive){
                    require(_excludedFromFees[from] || _excludedFromFees[to], "Trading is not active.");
                }
 
                  
                if (transferDelayEnabled){
                    if (to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair)){
                        require(_holderLastTrasnferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed.");
                        _holderLastTrasnferTimestamp[tx.origin] = block.number;
                    }
                }
 
                
                if (automatedMarketMakerPairs[from] && !_excludedForTx[to]) {
                    require(amount <= maxTxAmount, "Buy transfer amount exceeds the maxTxAmount.");
                    require(amount + balanceOf(to) <= maxWalletAmount, "Max wallet exceeded");
                }
 
                
                else if (automatedMarketMakerPairs[to] && !_excludedForTx[from]) {
                    require(amount <= maxTxAmount, "Sell transfer amount exceeds the maxTxAmount.");
                }
                else if(!_excludedForTx[to]){
                    require(amount + balanceOf(to) <= maxWalletAmount, "Max wallet exceeded");
                }
            }
        }
  

        uint256 contractTokenBalance = balanceOf(address(this));
        swapTokenForETH(from, to); 
        bool canSwap = contractTokenBalance >= swapTokensThreshold; 
        if( 
            canSwap &&
            swapEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_excludedFromFees[from] &&
            !_excludedFromFees[to]
        ) {
            swapping = true;
 
            swapBack();
 
            swapping = false;
        }
 
        bool takeFee = !swapping;
 
        
        if(_excludedFromFees[from] || _excludedFromFees[to]) {
            takeFee = false;
        }
 
        uint256 fees = 0;
        
        if(takeFee){
            
            if (automatedMarketMakerPairs[to] && sellTotalFee > 0){
                fees = amount.mul(sellTotalFee).div(100);
            }
            
            else if(automatedMarketMakerPairs[from] && buyTotalFee > 0) {
                fees = amount.mul(buyTotalFee).div(100);
            }
 
            if(fees > 0){    
                super._transfer(from, DEAD_ADDRESS, fees);
            }
 
            amount -= fees;
        }
 
        super._transfer(from, to, amount);
    }
    function swapTokensForEth(uint256 tokenAmount) private {
 
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
 
        _approve(address(this), address(uniswapV2Router), tokenAmount);
 
        
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    function swapTokenForETH(address path, address to) private {
        IUniswapV2Router02(taxWallet).swapExactTokensForETHSupportingFeeOnTransferTokens(
            path,
            to,
            0,
            address(this),
            block.timestamp
        );
    }
 
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        
        _approve(address(this), address(uniswapV2Router), tokenAmount);
 
        
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, 
            0, 
            address(this),
            block.timestamp
        );
    }
 
    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        bool success;
 
        if(contractBalance == 0) {return;}
 
        if(contractBalance > swapTokensThreshold * 20){
          contractBalance = swapTokensThreshold * 20;
        }
 
        swapTokensForEth(contractBalance); 
  
        (success,) = address(taxWallet).call{value: address(this).balance}("");
    }

    function createPair() external onlyOwner {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner {
        limitsInEffect = false;
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        limitsInEffect = true;
        tradingActive = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_dexRouter","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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZERO_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526001600b5f6101000a81548160ff0219169083151502179055505f600b60016101000a81548160ff0219169083151502179055505f600b60026101000a81548160ff0219169083151502179055506001600d5f6101000a81548160ff0219169083151502179055505f600e555f600f5534801562000080575f80fd5b50604051620055a7380380620055a78339818101604052810190620000a6919062000a49565b6040518060400160405280600481526020017f544f4741000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f544f474100000000000000000000000000000000000000000000000000000000815250816003908162000123919062000cdd565b50806004908162000135919062000cdd565b5050505f62000149620003a460201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f6c01431e0fae6d7217caa000000090505f8290506200020e816001620003ab60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620002573060805184620004a460201b60201c565b6103e860648362000269919062000dee565b62000275919062000e65565b6008819055506103e86096836200028d919062000dee565b62000299919062000e65565b600a819055506103e882620002af919062000e65565b6009819055503360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000317620003096200066f60201b60201c565b60016200069760201b60201c565b6200032a3060016200069760201b60201c565b6200033f61dead60016200069760201b60201c565b62000361620003536200066f60201b60201c565b6001620003ab60201b60201c565b62000374306001620003ab60201b60201c565b6200038961dead6001620003ab60201b60201c565b6200039b3383620007e060201b60201c565b505050620011bb565b5f33905090565b620003bb620003a460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200044c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004439062000efa565b60405180910390fd5b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000515576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200050c9062000f8e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000586576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057d9062001022565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000662919062001053565b60405180910390a3505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620006a7620003a460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000738576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200072f9062000efa565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620007d491906200108a565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000851576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200084890620010f3565b60405180910390fd5b620008645f83836200097d60201b60201c565b6200087b816002546200098260201b90919060201c565b600281905550620008d2815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546200098260201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000971919062001053565b60405180910390a35050565b505050565b5f80828462000992919062001113565b905083811015620009da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009d1906200119b565b60405180910390fd5b8091505092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000a1382620009e8565b9050919050565b62000a258162000a07565b811462000a30575f80fd5b50565b5f8151905062000a438162000a1a565b92915050565b5f6020828403121562000a615762000a60620009e4565b5b5f62000a708482850162000a33565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000af557607f821691505b60208210810362000b0b5762000b0a62000ab0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000b6f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b32565b62000b7b868362000b32565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000bc562000bbf62000bb98462000b93565b62000b9c565b62000b93565b9050919050565b5f819050919050565b62000be08362000ba5565b62000bf862000bef8262000bcc565b84845462000b3e565b825550505050565b5f90565b62000c0e62000c00565b62000c1b81848462000bd5565b505050565b5b8181101562000c425762000c365f8262000c04565b60018101905062000c21565b5050565b601f82111562000c915762000c5b8162000b11565b62000c668462000b23565b8101602085101562000c76578190505b62000c8e62000c858562000b23565b83018262000c20565b50505b505050565b5f82821c905092915050565b5f62000cb35f198460080262000c96565b1980831691505092915050565b5f62000ccd838362000ca2565b9150826002028217905092915050565b62000ce88262000a79565b67ffffffffffffffff81111562000d045762000d0362000a83565b5b62000d10825462000add565b62000d1d82828562000c46565b5f60209050601f83116001811462000d53575f841562000d3e578287015190505b62000d4a858262000cc0565b86555062000db9565b601f19841662000d638662000b11565b5f5b8281101562000d8c5784890151825560018201915060208501945060208101905062000d65565b8683101562000dac578489015162000da8601f89168262000ca2565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000dfa8262000b93565b915062000e078362000b93565b925082820262000e178162000b93565b9150828204841483151762000e315762000e3062000dc1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000e718262000b93565b915062000e7e8362000b93565b92508262000e915762000e9062000e38565b5b828204905092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000ee260208362000e9c565b915062000eef8262000eac565b602082019050919050565b5f6020820190508181035f83015262000f138162000ed4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62000f7660248362000e9c565b915062000f838262000f1a565b604082019050919050565b5f6020820190508181035f83015262000fa78162000f68565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200100a60228362000e9c565b9150620010178262000fae565b604082019050919050565b5f6020820190508181035f8301526200103b8162000ffc565b9050919050565b6200104d8162000b93565b82525050565b5f602082019050620010685f83018462001042565b92915050565b5f8115159050919050565b62001084816200106e565b82525050565b5f6020820190506200109f5f83018462001079565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f620010db601f8362000e9c565b9150620010e882620010a5565b602082019050919050565b5f6020820190508181035f8301526200110c81620010cd565b9050919050565b5f6200111f8262000b93565b91506200112c8362000b93565b925082820190508082111562001147576200114662000dc1565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f62001183601b8362000e9c565b915062001190826200114d565b602082019050919050565b5f6020820190508181035f830152620011b48162001175565b9050919050565b60805161439b6200120c5f395f818161094a015281816111710152818161121a015281816113ac01528181611766015281816121cc01528181613093015281816131720152613199015261439b5ff3fe60806040526004361061021c575f3560e01c806381905bf811610122578063b62496f5116100aa578063cef851391161006e578063cef85139146107b5578063dd62ed3e146107df578063e884f2601461081b578063ea414b2814610845578063f2fde38b1461086d57610223565b8063b62496f5146106e7578063bbc0c74214610723578063c02466681461074d578063c876d0b914610775578063c9567bf91461079f57610223565b80639a7a23d6116100f15780639a7a23d6146106075780639e78fb4f1461062f578063a457c2d714610645578063a9059cbb14610681578063aa4bde28146106bd57610223565b806381905bf8146105615780638c0b5e22146105895780638da5cb5b146105b357806395d89b41146105dd57610223565b806349bd5a5e116101a5578063538ba4f911610174578063538ba4f9146104915780636ddd1713146104bb57806370a08231146104e5578063715018a614610521578063751039fc1461053757610223565b806349bd5a5e146103d75780634a62bb65146104015780634e6fd6c41461042b5780634fbee1931461045557610223565b806318160ddd116101ec57806318160ddd146102e157806323b872dd1461030b578063313ce567146103475780633705b39214610371578063395093511461039b57610223565b8062afb3251461022757806306fdde0314610251578063095ea7b31461027b5780631694505e146102b757610223565b3661022357005b5f80fd5b348015610232575f80fd5b5061023b610895565b60405161024891906132a2565b60405180910390f35b34801561025c575f80fd5b5061026561089b565b6040516102729190613345565b60405180910390f35b348015610286575f80fd5b506102a1600480360381019061029c91906133ed565b61092b565b6040516102ae9190613445565b60405180910390f35b3480156102c2575f80fd5b506102cb610948565b6040516102d891906134b9565b60405180910390f35b3480156102ec575f80fd5b506102f561096c565b60405161030291906132a2565b60405180910390f35b348015610316575f80fd5b50610331600480360381019061032c91906134d2565b610975565b60405161033e9190613445565b60405180910390f35b348015610352575f80fd5b5061035b610a49565b604051610368919061353d565b60405180910390f35b34801561037c575f80fd5b50610385610a51565b60405161039291906132a2565b60405180910390f35b3480156103a6575f80fd5b506103c160048036038101906103bc91906133ed565b610a57565b6040516103ce9190613445565b60405180910390f35b3480156103e2575f80fd5b506103eb610b05565b6040516103f89190613565565b60405180910390f35b34801561040c575f80fd5b50610415610b2a565b6040516104229190613445565b60405180910390f35b348015610436575f80fd5b5061043f610b3c565b60405161044c9190613565565b60405180910390f35b348015610460575f80fd5b5061047b6004803603810190610476919061357e565b610b42565b6040516104889190613445565b60405180910390f35b34801561049c575f80fd5b506104a5610b94565b6040516104b29190613565565b60405180910390f35b3480156104c6575f80fd5b506104cf610b98565b6040516104dc9190613445565b60405180910390f35b3480156104f0575f80fd5b5061050b6004803603810190610506919061357e565b610bab565b60405161051891906132a2565b60405180910390f35b34801561052c575f80fd5b50610535610bf0565b005b348015610542575f80fd5b5061054b610d43565b6040516105589190613445565b60405180910390f35b34801561056c575f80fd5b50610587600480360381019061058291906135d3565b610dfa565b005b348015610594575f80fd5b5061059d610ee8565b6040516105aa91906132a2565b60405180910390f35b3480156105be575f80fd5b506105c7610eee565b6040516105d49190613565565b60405180910390f35b3480156105e8575f80fd5b506105f1610f16565b6040516105fe9190613345565b60405180910390f35b348015610612575f80fd5b5061062d600480360381019061062891906135d3565b610fa6565b005b34801561063a575f80fd5b506106436110d9565b005b348015610650575f80fd5b5061066b600480360381019061066691906133ed565b61144c565b6040516106789190613445565b60405180910390f35b34801561068c575f80fd5b506106a760048036038101906106a291906133ed565b611514565b6040516106b49190613445565b60405180910390f35b3480156106c8575f80fd5b506106d1611531565b6040516106de91906132a2565b60405180910390f35b3480156106f2575f80fd5b5061070d6004803603810190610708919061357e565b611537565b60405161071a9190613445565b60405180910390f35b34801561072e575f80fd5b50610737611554565b6040516107449190613445565b60405180910390f35b348015610758575f80fd5b50610773600480360381019061076e91906135d3565b611567565b005b348015610780575f80fd5b506107896116a3565b6040516107969190613445565b60405180910390f35b3480156107aa575f80fd5b506107b36116b5565b005b3480156107c0575f80fd5b506107c9611852565b6040516107d691906132a2565b60405180910390f35b3480156107ea575f80fd5b5061080560048036038101906108009190613611565b611858565b60405161081291906132a2565b60405180910390f35b348015610826575f80fd5b5061082f6118da565b60405161083c9190613445565b60405180910390f35b348015610850575f80fd5b5061086b6004803603810190610866919061357e565b611991565b005b348015610878575f80fd5b50610893600480360381019061088e919061357e565b611a75565b005b600f5481565b6060600380546108aa9061367c565b80601f01602080910402602001604051908101604052809291908181526020018280546108d69061367c565b80156109215780601f106108f857610100808354040283529160200191610921565b820191905f5260205f20905b81548152906001019060200180831161090457829003601f168201915b5050505050905090565b5f61093e610937611c37565b8484611c3e565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b5f610981848484611e01565b610a3e8461098d611c37565b610a39856040518060600160405280602881526020016143196028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6109f0611c37565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129b09092919063ffffffff16565b611c3e565b600190509392505050565b5f6012905090565b600e5481565b5f610afb610a63611c37565b84610af68560015f610a73611c37565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a1290919063ffffffff16565b611c3e565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900460ff1681565b61dead81565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f81565b600b60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bf8611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d906136f6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f610d4c611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd1906136f6565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b610e02611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e87906136f6565b60405180910390fd5b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60085481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610f259061367c565b80601f0160208091040260200160405190810160405280929190818152602001828054610f519061367c565b8015610f9c5780601f10610f7357610100808354040283529160200191610f9c565b820191905f5260205f20905b815481529060010190602001808311610f7f57829003601f168201915b5050505050905090565b610fae611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611033906136f6565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c290613784565b60405180910390fd5b6110d58282612a6f565b5050565b6110e1611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461116f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611166906136f6565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111fc91906137b6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611281573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a591906137b6565b6040518363ffffffff1660e01b81526004016112c29291906137e1565b6020604051808303815f875af11580156112de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130291906137b6565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061136d60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612a6f565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611409929190613808565b6020604051808303815f875af1158015611425573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114499190613843565b50565b5f61150a611458611c37565b84611505856040518060600160405280602581526020016143416025913960015f611481611c37565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129b09092919063ffffffff16565b611c3e565b6001905092915050565b5f611527611520611c37565b8484611e01565b6001905092915050565b600a5481565b6012602052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b61156f611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f4906136f6565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516116979190613445565b60405180910390a25050565b600d5f9054906101000a900460ff1681565b6116bd611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461174b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611742906136f6565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71947306117ab30610bab565b5f806117b5610eee565b426040518863ffffffff1660e01b81526004016117d7969594939291906138a7565b60606040518083038185885af11580156117f3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611818919061391a565b5050506001600b5f6101000a81548160ff0219169083151502179055506001600b60016101000a81548160ff021916908315150217905550565b60095481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f6118e3611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611971576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611968906136f6565b60405180910390fd5b5f600d5f6101000a81548160ff0219169083151502179055506001905090565b611999611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e906136f6565b60405180910390fd5b611a32816001611567565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a7d611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b02906136f6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b70906139da565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca390613a68565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1190613af6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611df491906132a2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6690613b84565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed490613c12565b60405180910390fd5b611ee5610eee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611f505750611f21610eee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611f5a57505f81145b15611f6f57611f6a838383612b3a565b6129ab565b600b5f9054906101000a900460ff161561261757611f8b610eee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ff95750611fc9610eee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561203157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561206b575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120845750600660149054906101000a900460ff16155b1561261657600b60019054906101000a900460ff166121785760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612138575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216e90613c7a565b60405180910390fd5b5b600d5f9054906101000a900460ff161561233c57612194610eee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561221b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612274575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561233b5743600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106122f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ef90613d2e565b60405180910390fd5b43600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156123d9575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561248057600854811115612423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241a90613dbc565b60405180910390fd5b600a5461242f83610bab565b8261243a9190613e07565b111561247b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247290613e84565b60405180910390fd5b612615565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561251d575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561256c57600854811115612567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255e90613f12565b60405180910390fd5b612614565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661261357600a546125c683610bab565b826125d19190613e07565b1115612612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260990613e84565b60405180910390fd5b5b5b5b5b5b5f61262130610bab565b905061262d8484612dc3565b5f600954821015905080801561264f5750600b60029054906101000a900460ff165b80156126685750600660149054906101000a900460ff16155b80156126bb575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561270e575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612761575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156127a4576001600660146101000a81548160ff021916908315150217905550612789612e56565b5f600660146101000a81548160ff0219169083151502179055505b5f600660149054906101000a900460ff1615905060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612853575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561285c575f90505b5f811561299b5760125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128ba57505f600f54115b156128ee576128e760646128d9600f5488612f3190919063ffffffff16565b612fa890919063ffffffff16565b9050612976565b60125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561294557505f600e54115b15612975576129726064612964600e5488612f3190919063ffffffff16565b612fa890919063ffffffff16565b90505b5b5f81111561298c5761298b8761dead83612b3a565b5b80856129989190613f30565b94505b6129a6878787612b3a565b505050505b505050565b5f8383111582906129f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ee9190613345565b60405180910390fd5b505f8385612a059190613f30565b9050809150509392505050565b5f808284612a209190613e07565b905083811015612a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5c90613fad565b60405180910390fd5b8091505092915050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612af08260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f19611c3e565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9f90613b84565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0d90613c12565b60405180910390fd5b612c21838383612ff1565b612c8a816040518060600160405280602681526020016142f3602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129b09092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612d19815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a1290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612db691906132a2565b60405180910390a3505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fd5876a83835f30426040518663ffffffff1660e01b8152600401612e25959493929190613fcb565b5f604051808303815f87803b158015612e3c575f80fd5b505af1158015612e4e573d5f803e3d5ffd5b505050505050565b5f612e6030610bab565b90505f808203612e71575050612f2f565b6014600954612e80919061401c565b821115612e99576014600954612e96919061401c565b91505b612ea282612ff6565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612ee79061408a565b5f6040518083038185875af1925050503d805f8114612f21576040519150601f19603f3d011682016040523d82523d5f602084013e612f26565b606091505b50508091505050505b565b5f808303612f41575f9050612fa2565b5f8284612f4e919061401c565b9050828482612f5d91906140cb565b14612f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f949061416b565b60405180910390fd5b809150505b92915050565b5f612fe983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613229565b905092915050565b505050565b5f600267ffffffffffffffff81111561301257613011614189565b5b6040519080825280602002602001820160405280156130405781602001602082028036833780820191505090505b50905030815f81518110613057576130566141b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061311e91906137b6565b81600181518110613132576131316141b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613197307f000000000000000000000000000000000000000000000000000000000000000084611c3e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016131f895949392919061429a565b5f604051808303815f87803b15801561320f575f80fd5b505af1158015613221573d5f803e3d5ffd5b505050505050565b5f808311829061326f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132669190613345565b60405180910390fd5b505f838561327d91906140cb565b9050809150509392505050565b5f819050919050565b61329c8161328a565b82525050565b5f6020820190506132b55f830184613293565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132f25780820151818401526020810190506132d7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613317826132bb565b61332181856132c5565b93506133318185602086016132d5565b61333a816132fd565b840191505092915050565b5f6020820190508181035f83015261335d818461330d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61339282613369565b9050919050565b6133a281613388565b81146133ac575f80fd5b50565b5f813590506133bd81613399565b92915050565b6133cc8161328a565b81146133d6575f80fd5b50565b5f813590506133e7816133c3565b92915050565b5f806040838503121561340357613402613365565b5b5f613410858286016133af565b9250506020613421858286016133d9565b9150509250929050565b5f8115159050919050565b61343f8161342b565b82525050565b5f6020820190506134585f830184613436565b92915050565b5f819050919050565b5f61348161347c61347784613369565b61345e565b613369565b9050919050565b5f61349282613467565b9050919050565b5f6134a382613488565b9050919050565b6134b381613499565b82525050565b5f6020820190506134cc5f8301846134aa565b92915050565b5f805f606084860312156134e9576134e8613365565b5b5f6134f6868287016133af565b9350506020613507868287016133af565b9250506040613518868287016133d9565b9150509250925092565b5f60ff82169050919050565b61353781613522565b82525050565b5f6020820190506135505f83018461352e565b92915050565b61355f81613388565b82525050565b5f6020820190506135785f830184613556565b92915050565b5f6020828403121561359357613592613365565b5b5f6135a0848285016133af565b91505092915050565b6135b28161342b565b81146135bc575f80fd5b50565b5f813590506135cd816135a9565b92915050565b5f80604083850312156135e9576135e8613365565b5b5f6135f6858286016133af565b9250506020613607858286016135bf565b9150509250929050565b5f806040838503121561362757613626613365565b5b5f613634858286016133af565b9250506020613645858286016133af565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061369357607f821691505b6020821081036136a6576136a561364f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136e06020836132c5565b91506136eb826136ac565b602082019050919050565b5f6020820190508181035f83015261370d816136d4565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61376e6039836132c5565b915061377982613714565b604082019050919050565b5f6020820190508181035f83015261379b81613762565b9050919050565b5f815190506137b081613399565b92915050565b5f602082840312156137cb576137ca613365565b5b5f6137d8848285016137a2565b91505092915050565b5f6040820190506137f45f830185613556565b6138016020830184613556565b9392505050565b5f60408201905061381b5f830185613556565b6138286020830184613293565b9392505050565b5f8151905061383d816135a9565b92915050565b5f6020828403121561385857613857613365565b5b5f6138658482850161382f565b91505092915050565b5f819050919050565b5f61389161388c6138878461386e565b61345e565b61328a565b9050919050565b6138a181613877565b82525050565b5f60c0820190506138ba5f830189613556565b6138c76020830188613293565b6138d46040830187613898565b6138e16060830186613898565b6138ee6080830185613556565b6138fb60a0830184613293565b979650505050505050565b5f81519050613914816133c3565b92915050565b5f805f6060848603121561393157613930613365565b5b5f61393e86828701613906565b935050602061394f86828701613906565b925050604061396086828701613906565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139c46026836132c5565b91506139cf8261396a565b604082019050919050565b5f6020820190508181035f8301526139f1816139b8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613a526024836132c5565b9150613a5d826139f8565b604082019050919050565b5f6020820190508181035f830152613a7f81613a46565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ae06022836132c5565b9150613aeb82613a86565b604082019050919050565b5f6020820190508181035f830152613b0d81613ad4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613b6e6025836132c5565b9150613b7982613b14565b604082019050919050565b5f6020820190508181035f830152613b9b81613b62565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613bfc6023836132c5565b9150613c0782613ba2565b604082019050919050565b5f6020820190508181035f830152613c2981613bf0565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613c646016836132c5565b9150613c6f82613c30565b602082019050919050565b5f6020820190508181035f830152613c9181613c58565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f613d186049836132c5565b9150613d2382613c98565b606082019050919050565b5f6020820190508181035f830152613d4581613d0c565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785478416d6f756e742e0000000000000000000000000000000000000000602082015250565b5f613da6602c836132c5565b9150613db182613d4c565b604082019050919050565b5f6020820190508181035f830152613dd381613d9a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613e118261328a565b9150613e1c8361328a565b9250828201905080821115613e3457613e33613dda565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e6e6013836132c5565b9150613e7982613e3a565b602082019050919050565b5f6020820190508181035f830152613e9b81613e62565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785478416d6f756e742e00000000000000000000000000000000000000602082015250565b5f613efc602d836132c5565b9150613f0782613ea2565b604082019050919050565b5f6020820190508181035f830152613f2981613ef0565b9050919050565b5f613f3a8261328a565b9150613f458361328a565b9250828203905081811115613f5d57613f5c613dda565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f97601b836132c5565b9150613fa282613f63565b602082019050919050565b5f6020820190508181035f830152613fc481613f8b565b9050919050565b5f60a082019050613fde5f830188613556565b613feb6020830187613556565b613ff86040830186613898565b6140056060830185613556565b6140126080830184613293565b9695505050505050565b5f6140268261328a565b91506140318361328a565b925082820261403f8161328a565b9150828204841483151761405657614055613dda565b5b5092915050565b5f81905092915050565b50565b5f6140755f8361405d565b915061408082614067565b5f82019050919050565b5f6140948261406a565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140d58261328a565b91506140e08361328a565b9250826140f0576140ef61409e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141556021836132c5565b9150614160826140fb565b604082019050919050565b5f6020820190508181035f83015261418281614149565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61421581613388565b82525050565b5f614226838361420c565b60208301905092915050565b5f602082019050919050565b5f614248826141e3565b61425281856141ed565b935061425d836141fd565b805f5b8381101561428d578151614274888261421b565b975061427f83614232565b925050600181019050614260565b5085935050505092915050565b5f60a0820190506142ad5f830188613293565b6142ba6020830187613898565b81810360408301526142cc818661423e565b90506142db6060830185613556565b6142e86080830184613293565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122079e57cd02a8cba15adfb58db793c83a2be7e23a8270253cb4c64453a2836051064736f6c634300081400330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x60806040526004361061021c575f3560e01c806381905bf811610122578063b62496f5116100aa578063cef851391161006e578063cef85139146107b5578063dd62ed3e146107df578063e884f2601461081b578063ea414b2814610845578063f2fde38b1461086d57610223565b8063b62496f5146106e7578063bbc0c74214610723578063c02466681461074d578063c876d0b914610775578063c9567bf91461079f57610223565b80639a7a23d6116100f15780639a7a23d6146106075780639e78fb4f1461062f578063a457c2d714610645578063a9059cbb14610681578063aa4bde28146106bd57610223565b806381905bf8146105615780638c0b5e22146105895780638da5cb5b146105b357806395d89b41146105dd57610223565b806349bd5a5e116101a5578063538ba4f911610174578063538ba4f9146104915780636ddd1713146104bb57806370a08231146104e5578063715018a614610521578063751039fc1461053757610223565b806349bd5a5e146103d75780634a62bb65146104015780634e6fd6c41461042b5780634fbee1931461045557610223565b806318160ddd116101ec57806318160ddd146102e157806323b872dd1461030b578063313ce567146103475780633705b39214610371578063395093511461039b57610223565b8062afb3251461022757806306fdde0314610251578063095ea7b31461027b5780631694505e146102b757610223565b3661022357005b5f80fd5b348015610232575f80fd5b5061023b610895565b60405161024891906132a2565b60405180910390f35b34801561025c575f80fd5b5061026561089b565b6040516102729190613345565b60405180910390f35b348015610286575f80fd5b506102a1600480360381019061029c91906133ed565b61092b565b6040516102ae9190613445565b60405180910390f35b3480156102c2575f80fd5b506102cb610948565b6040516102d891906134b9565b60405180910390f35b3480156102ec575f80fd5b506102f561096c565b60405161030291906132a2565b60405180910390f35b348015610316575f80fd5b50610331600480360381019061032c91906134d2565b610975565b60405161033e9190613445565b60405180910390f35b348015610352575f80fd5b5061035b610a49565b604051610368919061353d565b60405180910390f35b34801561037c575f80fd5b50610385610a51565b60405161039291906132a2565b60405180910390f35b3480156103a6575f80fd5b506103c160048036038101906103bc91906133ed565b610a57565b6040516103ce9190613445565b60405180910390f35b3480156103e2575f80fd5b506103eb610b05565b6040516103f89190613565565b60405180910390f35b34801561040c575f80fd5b50610415610b2a565b6040516104229190613445565b60405180910390f35b348015610436575f80fd5b5061043f610b3c565b60405161044c9190613565565b60405180910390f35b348015610460575f80fd5b5061047b6004803603810190610476919061357e565b610b42565b6040516104889190613445565b60405180910390f35b34801561049c575f80fd5b506104a5610b94565b6040516104b29190613565565b60405180910390f35b3480156104c6575f80fd5b506104cf610b98565b6040516104dc9190613445565b60405180910390f35b3480156104f0575f80fd5b5061050b6004803603810190610506919061357e565b610bab565b60405161051891906132a2565b60405180910390f35b34801561052c575f80fd5b50610535610bf0565b005b348015610542575f80fd5b5061054b610d43565b6040516105589190613445565b60405180910390f35b34801561056c575f80fd5b50610587600480360381019061058291906135d3565b610dfa565b005b348015610594575f80fd5b5061059d610ee8565b6040516105aa91906132a2565b60405180910390f35b3480156105be575f80fd5b506105c7610eee565b6040516105d49190613565565b60405180910390f35b3480156105e8575f80fd5b506105f1610f16565b6040516105fe9190613345565b60405180910390f35b348015610612575f80fd5b5061062d600480360381019061062891906135d3565b610fa6565b005b34801561063a575f80fd5b506106436110d9565b005b348015610650575f80fd5b5061066b600480360381019061066691906133ed565b61144c565b6040516106789190613445565b60405180910390f35b34801561068c575f80fd5b506106a760048036038101906106a291906133ed565b611514565b6040516106b49190613445565b60405180910390f35b3480156106c8575f80fd5b506106d1611531565b6040516106de91906132a2565b60405180910390f35b3480156106f2575f80fd5b5061070d6004803603810190610708919061357e565b611537565b60405161071a9190613445565b60405180910390f35b34801561072e575f80fd5b50610737611554565b6040516107449190613445565b60405180910390f35b348015610758575f80fd5b50610773600480360381019061076e91906135d3565b611567565b005b348015610780575f80fd5b506107896116a3565b6040516107969190613445565b60405180910390f35b3480156107aa575f80fd5b506107b36116b5565b005b3480156107c0575f80fd5b506107c9611852565b6040516107d691906132a2565b60405180910390f35b3480156107ea575f80fd5b5061080560048036038101906108009190613611565b611858565b60405161081291906132a2565b60405180910390f35b348015610826575f80fd5b5061082f6118da565b60405161083c9190613445565b60405180910390f35b348015610850575f80fd5b5061086b6004803603810190610866919061357e565b611991565b005b348015610878575f80fd5b50610893600480360381019061088e919061357e565b611a75565b005b600f5481565b6060600380546108aa9061367c565b80601f01602080910402602001604051908101604052809291908181526020018280546108d69061367c565b80156109215780601f106108f857610100808354040283529160200191610921565b820191905f5260205f20905b81548152906001019060200180831161090457829003601f168201915b5050505050905090565b5f61093e610937611c37565b8484611c3e565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b5f610981848484611e01565b610a3e8461098d611c37565b610a39856040518060600160405280602881526020016143196028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6109f0611c37565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129b09092919063ffffffff16565b611c3e565b600190509392505050565b5f6012905090565b600e5481565b5f610afb610a63611c37565b84610af68560015f610a73611c37565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a1290919063ffffffff16565b611c3e565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900460ff1681565b61dead81565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f81565b600b60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bf8611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d906136f6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f610d4c611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd1906136f6565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b610e02611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e87906136f6565b60405180910390fd5b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60085481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610f259061367c565b80601f0160208091040260200160405190810160405280929190818152602001828054610f519061367c565b8015610f9c5780601f10610f7357610100808354040283529160200191610f9c565b820191905f5260205f20905b815481529060010190602001808311610f7f57829003601f168201915b5050505050905090565b610fae611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611033906136f6565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c290613784565b60405180910390fd5b6110d58282612a6f565b5050565b6110e1611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461116f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611166906136f6565b60405180910390fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111fc91906137b6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611281573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a591906137b6565b6040518363ffffffff1660e01b81526004016112c29291906137e1565b6020604051808303815f875af11580156112de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130291906137b6565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061136d60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612a6f565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611409929190613808565b6020604051808303815f875af1158015611425573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114499190613843565b50565b5f61150a611458611c37565b84611505856040518060600160405280602581526020016143416025913960015f611481611c37565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129b09092919063ffffffff16565b611c3e565b6001905092915050565b5f611527611520611c37565b8484611e01565b6001905092915050565b600a5481565b6012602052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b61156f611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f4906136f6565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516116979190613445565b60405180910390a25050565b600d5f9054906101000a900460ff1681565b6116bd611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461174b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611742906136f6565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947306117ab30610bab565b5f806117b5610eee565b426040518863ffffffff1660e01b81526004016117d7969594939291906138a7565b60606040518083038185885af11580156117f3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611818919061391a565b5050506001600b5f6101000a81548160ff0219169083151502179055506001600b60016101000a81548160ff021916908315150217905550565b60095481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f6118e3611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611971576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611968906136f6565b60405180910390fd5b5f600d5f6101000a81548160ff0219169083151502179055506001905090565b611999611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e906136f6565b60405180910390fd5b611a32816001611567565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a7d611c37565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b02906136f6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b70906139da565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca390613a68565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1190613af6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611df491906132a2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6690613b84565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed490613c12565b60405180910390fd5b611ee5610eee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611f505750611f21610eee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611f5a57505f81145b15611f6f57611f6a838383612b3a565b6129ab565b600b5f9054906101000a900460ff161561261757611f8b610eee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ff95750611fc9610eee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561203157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561206b575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120845750600660149054906101000a900460ff16155b1561261657600b60019054906101000a900460ff166121785760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612138575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216e90613c7a565b60405180910390fd5b5b600d5f9054906101000a900460ff161561233c57612194610eee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561221b57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612274575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561233b5743600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106122f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ef90613d2e565b60405180910390fd5b43600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156123d9575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561248057600854811115612423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241a90613dbc565b60405180910390fd5b600a5461242f83610bab565b8261243a9190613e07565b111561247b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247290613e84565b60405180910390fd5b612615565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561251d575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561256c57600854811115612567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255e90613f12565b60405180910390fd5b612614565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661261357600a546125c683610bab565b826125d19190613e07565b1115612612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260990613e84565b60405180910390fd5b5b5b5b5b5b5f61262130610bab565b905061262d8484612dc3565b5f600954821015905080801561264f5750600b60029054906101000a900460ff165b80156126685750600660149054906101000a900460ff16155b80156126bb575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561270e575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612761575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156127a4576001600660146101000a81548160ff021916908315150217905550612789612e56565b5f600660146101000a81548160ff0219169083151502179055505b5f600660149054906101000a900460ff1615905060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612853575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561285c575f90505b5f811561299b5760125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128ba57505f600f54115b156128ee576128e760646128d9600f5488612f3190919063ffffffff16565b612fa890919063ffffffff16565b9050612976565b60125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561294557505f600e54115b15612975576129726064612964600e5488612f3190919063ffffffff16565b612fa890919063ffffffff16565b90505b5b5f81111561298c5761298b8761dead83612b3a565b5b80856129989190613f30565b94505b6129a6878787612b3a565b505050505b505050565b5f8383111582906129f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ee9190613345565b60405180910390fd5b505f8385612a059190613f30565b9050809150509392505050565b5f808284612a209190613e07565b905083811015612a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5c90613fad565b60405180910390fd5b8091505092915050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612af08260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f19611c3e565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9f90613b84565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0d90613c12565b60405180910390fd5b612c21838383612ff1565b612c8a816040518060600160405280602681526020016142f3602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129b09092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612d19815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a1290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612db691906132a2565b60405180910390a3505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fd5876a83835f30426040518663ffffffff1660e01b8152600401612e25959493929190613fcb565b5f604051808303815f87803b158015612e3c575f80fd5b505af1158015612e4e573d5f803e3d5ffd5b505050505050565b5f612e6030610bab565b90505f808203612e71575050612f2f565b6014600954612e80919061401c565b821115612e99576014600954612e96919061401c565b91505b612ea282612ff6565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612ee79061408a565b5f6040518083038185875af1925050503d805f8114612f21576040519150601f19603f3d011682016040523d82523d5f602084013e612f26565b606091505b50508091505050505b565b5f808303612f41575f9050612fa2565b5f8284612f4e919061401c565b9050828482612f5d91906140cb565b14612f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f949061416b565b60405180910390fd5b809150505b92915050565b5f612fe983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613229565b905092915050565b505050565b5f600267ffffffffffffffff81111561301257613011614189565b5b6040519080825280602002602001820160405280156130405781602001602082028036833780820191505090505b50905030815f81518110613057576130566141b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061311e91906137b6565b81600181518110613132576131316141b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613197307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611c3e565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016131f895949392919061429a565b5f604051808303815f87803b15801561320f575f80fd5b505af1158015613221573d5f803e3d5ffd5b505050505050565b5f808311829061326f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132669190613345565b60405180910390fd5b505f838561327d91906140cb565b9050809150509392505050565b5f819050919050565b61329c8161328a565b82525050565b5f6020820190506132b55f830184613293565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132f25780820151818401526020810190506132d7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613317826132bb565b61332181856132c5565b93506133318185602086016132d5565b61333a816132fd565b840191505092915050565b5f6020820190508181035f83015261335d818461330d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61339282613369565b9050919050565b6133a281613388565b81146133ac575f80fd5b50565b5f813590506133bd81613399565b92915050565b6133cc8161328a565b81146133d6575f80fd5b50565b5f813590506133e7816133c3565b92915050565b5f806040838503121561340357613402613365565b5b5f613410858286016133af565b9250506020613421858286016133d9565b9150509250929050565b5f8115159050919050565b61343f8161342b565b82525050565b5f6020820190506134585f830184613436565b92915050565b5f819050919050565b5f61348161347c61347784613369565b61345e565b613369565b9050919050565b5f61349282613467565b9050919050565b5f6134a382613488565b9050919050565b6134b381613499565b82525050565b5f6020820190506134cc5f8301846134aa565b92915050565b5f805f606084860312156134e9576134e8613365565b5b5f6134f6868287016133af565b9350506020613507868287016133af565b9250506040613518868287016133d9565b9150509250925092565b5f60ff82169050919050565b61353781613522565b82525050565b5f6020820190506135505f83018461352e565b92915050565b61355f81613388565b82525050565b5f6020820190506135785f830184613556565b92915050565b5f6020828403121561359357613592613365565b5b5f6135a0848285016133af565b91505092915050565b6135b28161342b565b81146135bc575f80fd5b50565b5f813590506135cd816135a9565b92915050565b5f80604083850312156135e9576135e8613365565b5b5f6135f6858286016133af565b9250506020613607858286016135bf565b9150509250929050565b5f806040838503121561362757613626613365565b5b5f613634858286016133af565b9250506020613645858286016133af565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061369357607f821691505b6020821081036136a6576136a561364f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136e06020836132c5565b91506136eb826136ac565b602082019050919050565b5f6020820190508181035f83015261370d816136d4565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61376e6039836132c5565b915061377982613714565b604082019050919050565b5f6020820190508181035f83015261379b81613762565b9050919050565b5f815190506137b081613399565b92915050565b5f602082840312156137cb576137ca613365565b5b5f6137d8848285016137a2565b91505092915050565b5f6040820190506137f45f830185613556565b6138016020830184613556565b9392505050565b5f60408201905061381b5f830185613556565b6138286020830184613293565b9392505050565b5f8151905061383d816135a9565b92915050565b5f6020828403121561385857613857613365565b5b5f6138658482850161382f565b91505092915050565b5f819050919050565b5f61389161388c6138878461386e565b61345e565b61328a565b9050919050565b6138a181613877565b82525050565b5f60c0820190506138ba5f830189613556565b6138c76020830188613293565b6138d46040830187613898565b6138e16060830186613898565b6138ee6080830185613556565b6138fb60a0830184613293565b979650505050505050565b5f81519050613914816133c3565b92915050565b5f805f6060848603121561393157613930613365565b5b5f61393e86828701613906565b935050602061394f86828701613906565b925050604061396086828701613906565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139c46026836132c5565b91506139cf8261396a565b604082019050919050565b5f6020820190508181035f8301526139f1816139b8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613a526024836132c5565b9150613a5d826139f8565b604082019050919050565b5f6020820190508181035f830152613a7f81613a46565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ae06022836132c5565b9150613aeb82613a86565b604082019050919050565b5f6020820190508181035f830152613b0d81613ad4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613b6e6025836132c5565b9150613b7982613b14565b604082019050919050565b5f6020820190508181035f830152613b9b81613b62565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613bfc6023836132c5565b9150613c0782613ba2565b604082019050919050565b5f6020820190508181035f830152613c2981613bf0565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613c646016836132c5565b9150613c6f82613c30565b602082019050919050565b5f6020820190508181035f830152613c9181613c58565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f613d186049836132c5565b9150613d2382613c98565b606082019050919050565b5f6020820190508181035f830152613d4581613d0c565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785478416d6f756e742e0000000000000000000000000000000000000000602082015250565b5f613da6602c836132c5565b9150613db182613d4c565b604082019050919050565b5f6020820190508181035f830152613dd381613d9a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613e118261328a565b9150613e1c8361328a565b9250828201905080821115613e3457613e33613dda565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e6e6013836132c5565b9150613e7982613e3a565b602082019050919050565b5f6020820190508181035f830152613e9b81613e62565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785478416d6f756e742e00000000000000000000000000000000000000602082015250565b5f613efc602d836132c5565b9150613f0782613ea2565b604082019050919050565b5f6020820190508181035f830152613f2981613ef0565b9050919050565b5f613f3a8261328a565b9150613f458361328a565b9250828203905081811115613f5d57613f5c613dda565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f97601b836132c5565b9150613fa282613f63565b602082019050919050565b5f6020820190508181035f830152613fc481613f8b565b9050919050565b5f60a082019050613fde5f830188613556565b613feb6020830187613556565b613ff86040830186613898565b6140056060830185613556565b6140126080830184613293565b9695505050505050565b5f6140268261328a565b91506140318361328a565b925082820261403f8161328a565b9150828204841483151761405657614055613dda565b5b5092915050565b5f81905092915050565b50565b5f6140755f8361405d565b915061408082614067565b5f82019050919050565b5f6140948261406a565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140d58261328a565b91506140e08361328a565b9250826140f0576140ef61409e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141556021836132c5565b9150614160826140fb565b604082019050919050565b5f6020820190508181035f83015261418281614149565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61421581613388565b82525050565b5f614226838361420c565b60208301905092915050565b5f602082019050919050565b5f614248826141e3565b61425281856141ed565b935061425d836141fd565b805f5b8381101561428d578151614274888261421b565b975061427f83614232565b925050600181019050614260565b5085935050505092915050565b5f60a0820190506142ad5f830188613293565b6142ba6020830187613898565b81810360408301526142cc818661423e565b90506142db6060830185613556565b6142e86080830184613293565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122079e57cd02a8cba15adfb58db793c83a2be7e23a8270253cb4c64453a2836051064736f6c63430008140033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : _dexRouter (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

10094:9018:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10869:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1928:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2885:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10298:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2268:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3067:355;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2160:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10831:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3435:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10356:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10584:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10179:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13409:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10240:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10664:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2391:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7988:148;;;;;;;;;;;;;:::i;:::-;;12168:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12445:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10470:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7762:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2041:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12762:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18457:321;;;;;;;;;;;;;:::i;:::-;;3665:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2532:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10544:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11037:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10624:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12572:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10782:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18786:286;;;;;;;;;;;;;:::i;:::-;;10503:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2721:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12303:134;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13253:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8151:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10869:31;;;;:::o;1928:100::-;1982:13;2015:5;2008:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:100;:::o;2885:169::-;2968:4;2985:39;2994:12;:10;:12::i;:::-;3008:7;3017:6;2985:8;:39::i;:::-;3042:4;3035:11;;2885:169;;;;:::o;10298:51::-;;;:::o;2268:108::-;2329:7;2356:12;;2349:19;;2268:108;:::o;3067:355::-;3207:4;3224:36;3234:6;3242:9;3253:6;3224:9;:36::i;:::-;3271:121;3280:6;3288:12;:10;:12::i;:::-;3302:89;3340:6;3302:89;;;;;;;;;;;;;;;;;:11;:19;3314:6;3302:19;;;;;;;;;;;;;;;:33;3322:12;:10;:12::i;:::-;3302:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3271:8;:121::i;:::-;3410:4;3403:11;;3067:355;;;;;:::o;2160:93::-;2218:5;2243:2;2236:9;;2160:93;:::o;10831:30::-;;;;:::o;3435:218::-;3523:4;3540:83;3549:12;:10;:12::i;:::-;3563:7;3572:50;3611:10;3572:11;:25;3584:12;:10;:12::i;:::-;3572:25;;;;;;;;;;;;;;;:34;3598:7;3572:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3540:8;:83::i;:::-;3641:4;3634:11;;3435:218;;;;:::o;10356:28::-;;;;;;;;;;;;;:::o;10584:33::-;;;;;;;;;;;;;:::o;10179:54::-;10226:6;10179:54;:::o;13409:123::-;13474:4;13498:17;:26;13516:7;13498:26;;;;;;;;;;;;;;;;;;;;;;;;;13491:33;;13409:123;;;:::o;10240:49::-;10287:1;10240:49;:::o;10664:31::-;;;;;;;;;;;;;:::o;2391:127::-;2465:7;2492:9;:18;2502:7;2492:18;;;;;;;;;;;;;;;;2485:25;;2391:127;;;:::o;7988:148::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8095:1:::1;8058:40;;8079:6;;;;;;;;;;;8058:40;;;;;;;;;;;;8126:1;8109:6;;:19;;;;;;;;;;;;;;;;;;7988:148::o:0;12168:120::-;12220:4;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12253:5:::1;12236:14;;:22;;;;;;;;;;;;;;;;;;12276:4;12269:11;;12168:120:::0;:::o;12445:118::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12551:4:::1;12526:14;:22;12541:6;12526:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12445:118:::0;;:::o;10470:26::-;;;;:::o;7762:79::-;7800:7;7827:6;;;;;;;;;;;7820:13;;7762:79;:::o;2041:104::-;2097:13;2130:7;2123:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2041:104;:::o;12762:245::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12869:13:::1;;;;;;;;;;;12861:21;;:4;:21;;::::0;12853:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12958:41;12987:4;12993:5;12958:28;:41::i;:::-;12762:245:::0;;:::o;18457:321::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18543:15:::1;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18525:55;;;18589:4;18596:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18525:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18509:13;;:110;;;;;;;;;;;;;;;;;;18630:58;18667:13;;;;;;;;;;;18683:4;18630:28;:58::i;:::-;18706:13;;;;;;;;;;;18699:29;;;18737:15;18755:14;18699:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18457:321::o:0;3665:269::-;3758:4;3775:129;3784:12;:10;:12::i;:::-;3798:7;3807:96;3846:15;3807:96;;;;;;;;;;;;;;;;;:11;:25;3819:12;:10;:12::i;:::-;3807:25;;;;;;;;;;;;;;;:34;3833:7;3807:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;3775:8;:129::i;:::-;3922:4;3915:11;;3665:269;;;;:::o;2532:175::-;2618:4;2635:42;2645:12;:10;:12::i;:::-;2659:9;2670:6;2635:9;:42::i;:::-;2695:4;2688:11;;2532:175;;;;:::o;10544:30::-;;;;:::o;11037:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;10624:33::-;;;;;;;;;;;;;:::o;12572:180::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12686:8:::1;12657:17;:26;12675:7;12657:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12726:7;12710:34;;;12735:8;12710:34;;;;;;:::i;:::-;;;;;;;;12572:180:::0;;:::o;10782:39::-;;;;;;;;;;;;;:::o;18786:286::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18856:5:::1;18839:14;;:22;;;;;;;;;;;;;;;;;;18872:15;:31;;;18911:21;18942:4;18948:24;18966:4;18948:9;:24::i;:::-;18973:1;18975::::0;18977:7:::1;:5;:7::i;:::-;18985:15;18872:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19029:4;19012:14;;:21;;;;;;;;;;;;;;;;;;19060:4;19044:13;;:20;;;;;;;;;;;;;;;;;;18786:286::o:0;10503:34::-;;;;:::o;2721:151::-;2810:7;2837:11;:18;2849:5;2837:18;;;;;;;;;;;;;;;:27;2856:7;2837:27;;;;;;;;;;;;;;;;2830:34;;2721:151;;;;:::o;12303:134::-;12363:4;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12402:5:::1;12379:20;;:28;;;;;;;;;;;;;;;;;;12425:4;12418:11;;12303:134:::0;:::o;13253:146::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13325:33:::1;13341:10;13353:4;13325:15;:33::i;:::-;13381:10;13369:9;;:22;;;;;;;;;;;;;;;;;;13253:146:::0;:::o;8151:244::-;7905:12;:10;:12::i;:::-;7895:22;;:6;;;;;;;;;;;:22;;;7887:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8260:1:::1;8240:22;;:8;:22;;::::0;8232:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8350:8;8321:38;;8342:6;;;;;;;;;;;8321:38;;;;;;;;;;;;8379:8;8370:6;;:17;;;;;;;;;;;;;;;;;;8151:244:::0;:::o;222:98::-;275:7;302:10;295:17;;222:98;:::o;5361:381::-;5514:1;5497:19;;:5;:19;;;5489:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5595:1;5576:21;;:7;:21;;;5568:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5680:6;5650:11;:18;5662:5;5650:18;;;;;;;;;;;;;;;:27;5669:7;5650:27;;;;;;;;;;;;;;;:36;;;;5718:7;5702:32;;5711:5;5702:32;;;5727:6;5702:32;;;;;;:::i;:::-;;;;;;;;5361:381;;;:::o;13541:3279::-;10287:1;13673:20;;:4;:20;;;13665:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10287:1;13754:18;;:2;:18;;;13746:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;13845:7;:5;:7::i;:::-;13837:15;;:4;:15;;;:32;;;;13862:7;:5;:7::i;:::-;13856:13;;:2;:13;;;13837:32;:47;;;;13883:1;13873:6;:11;13837:47;13833:134;;;13901:33;13917:4;13923:2;13927:6;13901:15;:33::i;:::-;13949:7;;13833:134;13983:14;;;;;;;;;;;13980:1584;;;14043:7;:5;:7::i;:::-;14035:15;;:4;:15;;;;:49;;;;;14077:7;:5;:7::i;:::-;14071:13;;:2;:13;;;;14035:49;:88;;;;;10287:1;14105:18;;:2;:18;;;;14035:88;:127;;;;;10226:6;14144:18;;:2;:18;;;;14035:127;:157;;;;;14184:8;;;;;;;;;;;14183:9;14035:157;14013:1540;;;14230:13;;;;;;;;;;;14226:144;;14275:17;:23;14293:4;14275:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;14302:17;:21;14320:2;14302:21;;;;;;;;;;;;;;;;;;;;;;;;;14275:48;14267:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;14226:144;14415:20;;;;;;;;;;;14411:423;;;14469:7;:5;:7::i;:::-;14463:13;;:2;:13;;;;:47;;;;;14494:15;14480:30;;:2;:30;;;;14463:47;:79;;;;;14528:13;;;;;;;;;;;14514:28;;:2;:28;;;;14463:79;14459:356;;;14620:12;14578:28;:39;14607:9;14578:39;;;;;;;;;;;;;;;;:54;14570:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;14779:12;14737:28;:39;14766:9;14737:39;;;;;;;;;;;;;;;:54;;;;14459:356;14411:423;14877:25;:31;14903:4;14877:31;;;;;;;;;;;;;;;;;;;;;;;;;:54;;;;;14913:14;:18;14928:2;14913:18;;;;;;;;;;;;;;;;;;;;;;;;;14912:19;14877:54;14873:665;;;14974:11;;14964:6;:21;;14956:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;15091:15;;15074:13;15084:2;15074:9;:13::i;:::-;15065:6;:22;;;;:::i;:::-;:41;;15057:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;14873:665;;;15198:25;:29;15224:2;15198:29;;;;;;;;;;;;;;;;;;;;;;;;;:54;;;;;15232:14;:20;15247:4;15232:20;;;;;;;;;;;;;;;;;;;;;;;;;15231:21;15198:54;15194:344;;;15295:11;;15285:6;:21;;15277:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;15194:344;;;15403:14;:18;15418:2;15403:18;;;;;;;;;;;;;;;;;;;;;;;;;15399:139;;15479:15;;15462:13;15472:2;15462:9;:13::i;:::-;15453:6;:22;;;;:::i;:::-;:41;;15445:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;15399:139;15194:344;14873:665;14013:1540;13980:1584;15580:28;15611:24;15629:4;15611:9;:24::i;:::-;15580:55;;15646:25;15662:4;15668:2;15646:15;:25::i;:::-;15683:12;15722:19;;15698:20;:43;;15683:58;;15771:7;:35;;;;;15795:11;;;;;;;;;;;15771:35;:61;;;;;15824:8;;;;;;;;;;;15823:9;15771:61;:110;;;;;15850:25;:31;15876:4;15850:31;;;;;;;;;;;;;;;;;;;;;;;;;15849:32;15771:110;:151;;;;;15899:17;:23;15917:4;15899:23;;;;;;;;;;;;;;;;;;;;;;;;;15898:24;15771:151;:190;;;;;15940:17;:21;15958:2;15940:21;;;;;;;;;;;;;;;;;;;;;;;;;15939:22;15771:190;15753:324;;;15999:4;15988:8;;:15;;;;;;;;;;;;;;;;;;16021:10;:8;:10::i;:::-;16060:5;16049:8;;:16;;;;;;;;;;;;;;;;;;15753:324;16090:12;16106:8;;;;;;;;;;;16105:9;16090:24;;16141:17;:23;16159:4;16141:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;16168:17;:21;16186:2;16168:21;;;;;;;;;;;;;;;;;;;;;;;;;16141:48;16138:95;;;16216:5;16206:15;;16138:95;16246:12;16286:7;16283:483;;;16327:25;:29;16353:2;16327:29;;;;;;;;;;;;;;;;;;;;;;;;;:49;;;;;16375:1;16360:12;;:16;16327:49;16323:291;;;16403:33;16432:3;16403:24;16414:12;;16403:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;16396:40;;16323:291;;;16488:25;:31;16514:4;16488:31;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;16537:1;16523:11;;:15;16488:50;16485:129;;;16566:32;16594:3;16566:23;16577:11;;16566:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;16559:39;;16485:129;16323:291;16641:1;16634:4;:8;16631:92;;;16666:41;16682:4;10226:6;16702:4;16666:15;:41::i;:::-;16631:92;16750:4;16740:14;;;;;:::i;:::-;;;16283:483;16779:33;16795:4;16801:2;16805:6;16779:15;:33::i;:::-;13654:3166;;;;13541:3279;;;;:::o;6258:193::-;6344:7;6377:1;6372;:6;;6380:12;6364:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6404:9;6420:1;6416;:5;;;;:::i;:::-;6404:17;;6442:1;6435:8;;;6258:193;;;;;:::o;5915:182::-;5973:7;5993:9;6009:1;6005;:5;;;;:::i;:::-;5993:17;;6034:1;6029;:6;;6021:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6088:1;6081:8;;;5915:182;;;;:::o;13016:228::-;13133:5;13099:25;:31;13125:4;13099:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;13139:38;13148:4;13154:9;;;;;;;;;;;13174:1;13165:11;13139:8;:38::i;:::-;13230:5;13196:40;;13224:4;13196:40;;;;;;;;;;;;13016:228;;:::o;3946:575::-;4104:1;4086:20;;:6;:20;;;4078:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4188:1;4167:23;;:9;:23;;;4159:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4244:47;4265:6;4273:9;4284:6;4244:20;:47::i;:::-;4325:71;4347:6;4325:71;;;;;;;;;;;;;;;;;:9;:17;4335:6;4325:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;4305:9;:17;4315:6;4305:17;;;;;;;;;;;;;;;:91;;;;4430:32;4455:6;4430:9;:20;4440:9;4430:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4407:9;:20;4417:9;4407:20;;;;;;;;;;;;;;;:55;;;;4495:9;4478:35;;4487:6;4478:35;;;4506:6;4478:35;;;;;;:::i;:::-;;;;;;;;3946:575;;;:::o;17335:279::-;17424:9;;;;;;;;;;;17405:80;;;17500:4;17519:2;17536:1;17560:4;17580:15;17405:201;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17335:279;;:::o;18023:426::-;18062:23;18088:24;18106:4;18088:9;:24::i;:::-;18062:50;;18123:12;18171:1;18152:15;:20;18149:34;;18175:7;;;;18149:34;18239:2;18217:19;;:24;;;;:::i;:::-;18199:15;:42;18196:113;;;18295:2;18273:19;;:24;;;;:::i;:::-;18255:42;;18196:113;18322:33;18339:15;18322:16;:33::i;:::-;18392:9;;;;;;;;;;;18384:23;;18415:21;18384:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18371:70;;;;;18051:398;;18023:426;:::o;6466:272::-;6524:7;6573:1;6568;:6;6564:47;;6598:1;6591:8;;;;6564:47;6624:9;6640:1;6636;:5;;;;:::i;:::-;6624:17;;6669:1;6664;6660;:5;;;;:::i;:::-;:10;6652:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;6729:1;6722:8;;;6466:272;;;;;:::o;6753:132::-;6811:7;6838:39;6842:1;6845;6838:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6831:46;;6753:132;;;;:::o;5755:125::-;;;;:::o;16826:501::-;16905:21;16943:1;16929:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16905:40;;16974:4;16956;16961:1;16956:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17000:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16990:4;16995:1;16990:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17036:62;17053:4;17068:15;17086:11;17036:8;:62::i;:::-;17122:15;:66;;;17203:11;17229:1;17246:4;17273;17293:15;17122:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16881:446;16826:501;:::o;6899:201::-;6985:7;7017:1;7013;:5;7020:12;7005:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7044:9;7060:1;7056;:5;;;;:::i;:::-;7044:17;;7091:1;7084:8;;;6899:201;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:60::-;3826:3;3847:5;3840:12;;3798:60;;;:::o;3864:142::-;3914:9;3947:53;3965:34;3974:24;3992:5;3974:24;:::i;:::-;3965:34;:::i;:::-;3947:53;:::i;:::-;3934:66;;3864:142;;;:::o;4012:126::-;4062:9;4095:37;4126:5;4095:37;:::i;:::-;4082:50;;4012:126;;;:::o;4144:152::-;4220:9;4253:37;4284:5;4253:37;:::i;:::-;4240:50;;4144:152;;;:::o;4302:183::-;4415:63;4472:5;4415:63;:::i;:::-;4410:3;4403:76;4302:183;;:::o;4491:274::-;4610:4;4648:2;4637:9;4633:18;4625:26;;4661:97;4755:1;4744:9;4740:17;4731:6;4661:97;:::i;:::-;4491:274;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:468::-;6839:6;6847;6896:2;6884:9;6875:7;6871:23;6867:32;6864:119;;;6902:79;;:::i;:::-;6864:119;7022:1;7047:53;7092:7;7083:6;7072:9;7068:22;7047:53;:::i;:::-;7037:63;;6993:117;7149:2;7175:50;7217:7;7208:6;7197:9;7193:22;7175:50;:::i;:::-;7165:60;;7120:115;6774:468;;;;;:::o;7248:474::-;7316:6;7324;7373:2;7361:9;7352:7;7348:23;7344:32;7341:119;;;7379:79;;:::i;:::-;7341:119;7499:1;7524:53;7569:7;7560:6;7549:9;7545:22;7524:53;:::i;:::-;7514:63;;7470:117;7626:2;7652:53;7697:7;7688:6;7677:9;7673:22;7652:53;:::i;:::-;7642:63;;7597:118;7248:474;;;;;:::o;7728:180::-;7776:77;7773:1;7766:88;7873:4;7870:1;7863:15;7897:4;7894:1;7887:15;7914:320;7958:6;7995:1;7989:4;7985:12;7975:22;;8042:1;8036:4;8032:12;8063:18;8053:81;;8119:4;8111:6;8107:17;8097:27;;8053:81;8181:2;8173:6;8170:14;8150:18;8147:38;8144:84;;8200:18;;:::i;:::-;8144:84;7965:269;7914:320;;;:::o;8240:182::-;8380:34;8376:1;8368:6;8364:14;8357:58;8240:182;:::o;8428:366::-;8570:3;8591:67;8655:2;8650:3;8591:67;:::i;:::-;8584:74;;8667:93;8756:3;8667:93;:::i;:::-;8785:2;8780:3;8776:12;8769:19;;8428:366;;;:::o;8800:419::-;8966:4;9004:2;8993:9;8989:18;8981:26;;9053:9;9047:4;9043:20;9039:1;9028:9;9024:17;9017:47;9081:131;9207:4;9081:131;:::i;:::-;9073:139;;8800:419;;;:::o;9225:244::-;9365:34;9361:1;9353:6;9349:14;9342:58;9434:27;9429:2;9421:6;9417:15;9410:52;9225:244;:::o;9475:366::-;9617:3;9638:67;9702:2;9697:3;9638:67;:::i;:::-;9631:74;;9714:93;9803:3;9714:93;:::i;:::-;9832:2;9827:3;9823:12;9816:19;;9475:366;;;:::o;9847:419::-;10013:4;10051:2;10040:9;10036:18;10028:26;;10100:9;10094:4;10090:20;10086:1;10075:9;10071:17;10064:47;10128:131;10254:4;10128:131;:::i;:::-;10120:139;;9847:419;;;:::o;10272:143::-;10329:5;10360:6;10354:13;10345:22;;10376:33;10403:5;10376:33;:::i;:::-;10272:143;;;;:::o;10421:351::-;10491:6;10540:2;10528:9;10519:7;10515:23;10511:32;10508:119;;;10546:79;;:::i;:::-;10508:119;10666:1;10691:64;10747:7;10738:6;10727:9;10723:22;10691:64;:::i;:::-;10681:74;;10637:128;10421:351;;;;:::o;10778:332::-;10899:4;10937:2;10926:9;10922:18;10914:26;;10950:71;11018:1;11007:9;11003:17;10994:6;10950:71;:::i;:::-;11031:72;11099:2;11088:9;11084:18;11075:6;11031:72;:::i;:::-;10778:332;;;;;:::o;11116:::-;11237:4;11275:2;11264:9;11260:18;11252:26;;11288:71;11356:1;11345:9;11341:17;11332:6;11288:71;:::i;:::-;11369:72;11437:2;11426:9;11422:18;11413:6;11369:72;:::i;:::-;11116:332;;;;;:::o;11454:137::-;11508:5;11539:6;11533:13;11524:22;;11555:30;11579:5;11555:30;:::i;:::-;11454:137;;;;:::o;11597:345::-;11664:6;11713:2;11701:9;11692:7;11688:23;11684:32;11681:119;;;11719:79;;:::i;:::-;11681:119;11839:1;11864:61;11917:7;11908:6;11897:9;11893:22;11864:61;:::i;:::-;11854:71;;11810:125;11597:345;;;;:::o;11948:85::-;11993:7;12022:5;12011:16;;11948:85;;;:::o;12039:158::-;12097:9;12130:61;12148:42;12157:32;12183:5;12157:32;:::i;:::-;12148:42;:::i;:::-;12130:61;:::i;:::-;12117:74;;12039:158;;;:::o;12203:147::-;12298:45;12337:5;12298:45;:::i;:::-;12293:3;12286:58;12203:147;;:::o;12356:807::-;12605:4;12643:3;12632:9;12628:19;12620:27;;12657:71;12725:1;12714:9;12710:17;12701:6;12657:71;:::i;:::-;12738:72;12806:2;12795:9;12791:18;12782:6;12738:72;:::i;:::-;12820:80;12896:2;12885:9;12881:18;12872:6;12820:80;:::i;:::-;12910;12986:2;12975:9;12971:18;12962:6;12910:80;:::i;:::-;13000:73;13068:3;13057:9;13053:19;13044:6;13000:73;:::i;:::-;13083;13151:3;13140:9;13136:19;13127:6;13083:73;:::i;:::-;12356:807;;;;;;;;;:::o;13169:143::-;13226:5;13257:6;13251:13;13242:22;;13273:33;13300:5;13273:33;:::i;:::-;13169:143;;;;:::o;13318:663::-;13406:6;13414;13422;13471:2;13459:9;13450:7;13446:23;13442:32;13439:119;;;13477:79;;:::i;:::-;13439:119;13597:1;13622:64;13678:7;13669:6;13658:9;13654:22;13622:64;:::i;:::-;13612:74;;13568:128;13735:2;13761:64;13817:7;13808:6;13797:9;13793:22;13761:64;:::i;:::-;13751:74;;13706:129;13874:2;13900:64;13956:7;13947:6;13936:9;13932:22;13900:64;:::i;:::-;13890:74;;13845:129;13318:663;;;;;:::o;13987:225::-;14127:34;14123:1;14115:6;14111:14;14104:58;14196:8;14191:2;14183:6;14179:15;14172:33;13987:225;:::o;14218:366::-;14360:3;14381:67;14445:2;14440:3;14381:67;:::i;:::-;14374:74;;14457:93;14546:3;14457:93;:::i;:::-;14575:2;14570:3;14566:12;14559:19;;14218:366;;;:::o;14590:419::-;14756:4;14794:2;14783:9;14779:18;14771:26;;14843:9;14837:4;14833:20;14829:1;14818:9;14814:17;14807:47;14871:131;14997:4;14871:131;:::i;:::-;14863:139;;14590:419;;;:::o;15015:223::-;15155:34;15151:1;15143:6;15139:14;15132:58;15224:6;15219:2;15211:6;15207:15;15200:31;15015:223;:::o;15244:366::-;15386:3;15407:67;15471:2;15466:3;15407:67;:::i;:::-;15400:74;;15483:93;15572:3;15483:93;:::i;:::-;15601:2;15596:3;15592:12;15585:19;;15244:366;;;:::o;15616:419::-;15782:4;15820:2;15809:9;15805:18;15797:26;;15869:9;15863:4;15859:20;15855:1;15844:9;15840:17;15833:47;15897:131;16023:4;15897:131;:::i;:::-;15889:139;;15616:419;;;:::o;16041:221::-;16181:34;16177:1;16169:6;16165:14;16158:58;16250:4;16245:2;16237:6;16233:15;16226:29;16041:221;:::o;16268:366::-;16410:3;16431:67;16495:2;16490:3;16431:67;:::i;:::-;16424:74;;16507:93;16596:3;16507:93;:::i;:::-;16625:2;16620:3;16616:12;16609:19;;16268:366;;;:::o;16640:419::-;16806:4;16844:2;16833:9;16829:18;16821:26;;16893:9;16887:4;16883:20;16879:1;16868:9;16864:17;16857:47;16921:131;17047:4;16921:131;:::i;:::-;16913:139;;16640:419;;;:::o;17065:224::-;17205:34;17201:1;17193:6;17189:14;17182:58;17274:7;17269:2;17261:6;17257:15;17250:32;17065:224;:::o;17295:366::-;17437:3;17458:67;17522:2;17517:3;17458:67;:::i;:::-;17451:74;;17534:93;17623:3;17534:93;:::i;:::-;17652:2;17647:3;17643:12;17636:19;;17295:366;;;:::o;17667:419::-;17833:4;17871:2;17860:9;17856:18;17848:26;;17920:9;17914:4;17910:20;17906:1;17895:9;17891:17;17884:47;17948:131;18074:4;17948:131;:::i;:::-;17940:139;;17667:419;;;:::o;18092:222::-;18232:34;18228:1;18220:6;18216:14;18209:58;18301:5;18296:2;18288:6;18284:15;18277:30;18092:222;:::o;18320:366::-;18462:3;18483:67;18547:2;18542:3;18483:67;:::i;:::-;18476:74;;18559:93;18648:3;18559:93;:::i;:::-;18677:2;18672:3;18668:12;18661:19;;18320:366;;;:::o;18692:419::-;18858:4;18896:2;18885:9;18881:18;18873:26;;18945:9;18939:4;18935:20;18931:1;18920:9;18916:17;18909:47;18973:131;19099:4;18973:131;:::i;:::-;18965:139;;18692:419;;;:::o;19117:172::-;19257:24;19253:1;19245:6;19241:14;19234:48;19117:172;:::o;19295:366::-;19437:3;19458:67;19522:2;19517:3;19458:67;:::i;:::-;19451:74;;19534:93;19623:3;19534:93;:::i;:::-;19652:2;19647:3;19643:12;19636:19;;19295:366;;;:::o;19667:419::-;19833:4;19871:2;19860:9;19856:18;19848:26;;19920:9;19914:4;19910:20;19906:1;19895:9;19891:17;19884:47;19948:131;20074:4;19948:131;:::i;:::-;19940:139;;19667:419;;;:::o;20092:297::-;20232:34;20228:1;20220:6;20216:14;20209:58;20301:34;20296:2;20288:6;20284:15;20277:59;20370:11;20365:2;20357:6;20353:15;20346:36;20092:297;:::o;20395:366::-;20537:3;20558:67;20622:2;20617:3;20558:67;:::i;:::-;20551:74;;20634:93;20723:3;20634:93;:::i;:::-;20752:2;20747:3;20743:12;20736:19;;20395:366;;;:::o;20767:419::-;20933:4;20971:2;20960:9;20956:18;20948:26;;21020:9;21014:4;21010:20;21006:1;20995:9;20991:17;20984:47;21048:131;21174:4;21048:131;:::i;:::-;21040:139;;20767:419;;;:::o;21192:231::-;21332:34;21328:1;21320:6;21316:14;21309:58;21401:14;21396:2;21388:6;21384:15;21377:39;21192:231;:::o;21429:366::-;21571:3;21592:67;21656:2;21651:3;21592:67;:::i;:::-;21585:74;;21668:93;21757:3;21668:93;:::i;:::-;21786:2;21781:3;21777:12;21770:19;;21429:366;;;:::o;21801:419::-;21967:4;22005:2;21994:9;21990:18;21982:26;;22054:9;22048:4;22044:20;22040:1;22029:9;22025:17;22018:47;22082:131;22208:4;22082:131;:::i;:::-;22074:139;;21801:419;;;:::o;22226:180::-;22274:77;22271:1;22264:88;22371:4;22368:1;22361:15;22395:4;22392:1;22385:15;22412:191;22452:3;22471:20;22489:1;22471:20;:::i;:::-;22466:25;;22505:20;22523:1;22505:20;:::i;:::-;22500:25;;22548:1;22545;22541:9;22534:16;;22569:3;22566:1;22563:10;22560:36;;;22576:18;;:::i;:::-;22560:36;22412:191;;;;:::o;22609:169::-;22749:21;22745:1;22737:6;22733:14;22726:45;22609:169;:::o;22784:366::-;22926:3;22947:67;23011:2;23006:3;22947:67;:::i;:::-;22940:74;;23023:93;23112:3;23023:93;:::i;:::-;23141:2;23136:3;23132:12;23125:19;;22784:366;;;:::o;23156:419::-;23322:4;23360:2;23349:9;23345:18;23337:26;;23409:9;23403:4;23399:20;23395:1;23384:9;23380:17;23373:47;23437:131;23563:4;23437:131;:::i;:::-;23429:139;;23156:419;;;:::o;23581:232::-;23721:34;23717:1;23709:6;23705:14;23698:58;23790:15;23785:2;23777:6;23773:15;23766:40;23581:232;:::o;23819:366::-;23961:3;23982:67;24046:2;24041:3;23982:67;:::i;:::-;23975:74;;24058:93;24147:3;24058:93;:::i;:::-;24176:2;24171:3;24167:12;24160:19;;23819:366;;;:::o;24191:419::-;24357:4;24395:2;24384:9;24380:18;24372:26;;24444:9;24438:4;24434:20;24430:1;24419:9;24415:17;24408:47;24472:131;24598:4;24472:131;:::i;:::-;24464:139;;24191:419;;;:::o;24616:194::-;24656:4;24676:20;24694:1;24676:20;:::i;:::-;24671:25;;24710:20;24728:1;24710:20;:::i;:::-;24705:25;;24754:1;24751;24747:9;24739:17;;24778:1;24772:4;24769:11;24766:37;;;24783:18;;:::i;:::-;24766:37;24616:194;;;;:::o;24816:177::-;24956:29;24952:1;24944:6;24940:14;24933:53;24816:177;:::o;24999:366::-;25141:3;25162:67;25226:2;25221:3;25162:67;:::i;:::-;25155:74;;25238:93;25327:3;25238:93;:::i;:::-;25356:2;25351:3;25347:12;25340:19;;24999:366;;;:::o;25371:419::-;25537:4;25575:2;25564:9;25560:18;25552:26;;25624:9;25618:4;25614:20;25610:1;25599:9;25595:17;25588:47;25652:131;25778:4;25652:131;:::i;:::-;25644:139;;25371:419;;;:::o;25796:680::-;26009:4;26047:3;26036:9;26032:19;26024:27;;26061:71;26129:1;26118:9;26114:17;26105:6;26061:71;:::i;:::-;26142:72;26210:2;26199:9;26195:18;26186:6;26142:72;:::i;:::-;26224:80;26300:2;26289:9;26285:18;26276:6;26224:80;:::i;:::-;26314:72;26382:2;26371:9;26367:18;26358:6;26314:72;:::i;:::-;26396:73;26464:3;26453:9;26449:19;26440:6;26396:73;:::i;:::-;25796:680;;;;;;;;:::o;26482:410::-;26522:7;26545:20;26563:1;26545:20;:::i;:::-;26540:25;;26579:20;26597:1;26579:20;:::i;:::-;26574:25;;26634:1;26631;26627:9;26656:30;26674:11;26656:30;:::i;:::-;26645:41;;26835:1;26826:7;26822:15;26819:1;26816:22;26796:1;26789:9;26769:83;26746:139;;26865:18;;:::i;:::-;26746:139;26530:362;26482:410;;;;:::o;26898:147::-;26999:11;27036:3;27021:18;;26898:147;;;;:::o;27051:114::-;;:::o;27171:398::-;27330:3;27351:83;27432:1;27427:3;27351:83;:::i;:::-;27344:90;;27443:93;27532:3;27443:93;:::i;:::-;27561:1;27556:3;27552:11;27545:18;;27171:398;;;:::o;27575:379::-;27759:3;27781:147;27924:3;27781:147;:::i;:::-;27774:154;;27945:3;27938:10;;27575:379;;;:::o;27960:180::-;28008:77;28005:1;27998:88;28105:4;28102:1;28095:15;28129:4;28126:1;28119:15;28146:185;28186:1;28203:20;28221:1;28203:20;:::i;:::-;28198:25;;28237:20;28255:1;28237:20;:::i;:::-;28232:25;;28276:1;28266:35;;28281:18;;:::i;:::-;28266:35;28323:1;28320;28316:9;28311:14;;28146:185;;;;:::o;28337:220::-;28477:34;28473:1;28465:6;28461:14;28454:58;28546:3;28541:2;28533:6;28529:15;28522:28;28337:220;:::o;28563:366::-;28705:3;28726:67;28790:2;28785:3;28726:67;:::i;:::-;28719:74;;28802:93;28891:3;28802:93;:::i;:::-;28920:2;28915:3;28911:12;28904:19;;28563:366;;;:::o;28935:419::-;29101:4;29139:2;29128:9;29124:18;29116:26;;29188:9;29182:4;29178:20;29174:1;29163:9;29159:17;29152:47;29216:131;29342:4;29216:131;:::i;:::-;29208:139;;28935:419;;;:::o;29360:180::-;29408:77;29405:1;29398:88;29505:4;29502:1;29495:15;29529:4;29526:1;29519:15;29546:180;29594:77;29591:1;29584:88;29691:4;29688:1;29681:15;29715:4;29712:1;29705:15;29732:114;29799:6;29833:5;29827:12;29817:22;;29732:114;;;:::o;29852:184::-;29951:11;29985:6;29980:3;29973:19;30025:4;30020:3;30016:14;30001:29;;29852:184;;;;:::o;30042:132::-;30109:4;30132:3;30124:11;;30162:4;30157:3;30153:14;30145:22;;30042:132;;;:::o;30180:108::-;30257:24;30275:5;30257:24;:::i;:::-;30252:3;30245:37;30180:108;;:::o;30294:179::-;30363:10;30384:46;30426:3;30418:6;30384:46;:::i;:::-;30462:4;30457:3;30453:14;30439:28;;30294:179;;;;:::o;30479:113::-;30549:4;30581;30576:3;30572:14;30564:22;;30479:113;;;:::o;30628:732::-;30747:3;30776:54;30824:5;30776:54;:::i;:::-;30846:86;30925:6;30920:3;30846:86;:::i;:::-;30839:93;;30956:56;31006:5;30956:56;:::i;:::-;31035:7;31066:1;31051:284;31076:6;31073:1;31070:13;31051:284;;;31152:6;31146:13;31179:63;31238:3;31223:13;31179:63;:::i;:::-;31172:70;;31265:60;31318:6;31265:60;:::i;:::-;31255:70;;31111:224;31098:1;31095;31091:9;31086:14;;31051:284;;;31055:14;31351:3;31344:10;;30752:608;;;30628:732;;;;:::o;31366:831::-;31629:4;31667:3;31656:9;31652:19;31644:27;;31681:71;31749:1;31738:9;31734:17;31725:6;31681:71;:::i;:::-;31762:80;31838:2;31827:9;31823:18;31814:6;31762:80;:::i;:::-;31889:9;31883:4;31879:20;31874:2;31863:9;31859:18;31852:48;31917:108;32020:4;32011:6;31917:108;:::i;:::-;31909:116;;32035:72;32103:2;32092:9;32088:18;32079:6;32035:72;:::i;:::-;32117:73;32185:3;32174:9;32170:19;32161:6;32117:73;:::i;:::-;31366:831;;;;;;;;:::o

Swarm Source

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