ETH Price: $2,477.23 (-7.38%)

Token

ApeX (APEX)
 

Overview

Max Total Supply

69,420,000 APEX

Holders

90

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
15,102.623084814737724793 APEX

Value
$0.00
0x52f8bb8c5016f5bb55eb566183a8d6a3fabb8a8a
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:
ApeX

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 6969 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-23
*/

// SPDX-License-Identifier: MIT

/*

Twitter: @ApeX_ERC
TG: https://t.me/ApeX_Erc
Website: https://ape-x.fun

░█████╗░██████╗░███████╗██╗░░██╗
██╔══██╗██╔══██╗██╔════╝╚██╗██╔╝
███████║██████╔╝█████╗░░░╚███╔╝░
██╔══██║██╔═══╝░██╔══╝░░░██╔██╗░
██║░░██║██║░░░░░███████╗██╔╝╚██╗
╚═╝░░╚═╝╚═╝░░░░░╚══════╝╚═╝░░╚═╝
                                                                                                    
                                                                                                    
                                             .              .:^~!?JYY5555YYJ?7~^.                   
        ...                                  ..        .^7YG#&&@@@@@@@@@@@@@@@@@#GY~                
          ...              .:^~!!~:            ..      ^7YPG#&@@@@@@@@@@@@@@@@@@@@@&P!              
            ....         :5#&@@@@@@BY!^.       .^!?Y55YJ?!~^::~JB@@@@@@@@@@@@@@@@@@@@@P~            
              ...       ~&@@@&P?777YB@@#BGGGGB#&@@@#B#@@@@@@#GJ^ ~G@@@@@@@@@@@@@@@@@@@@@5^          
                ...    ^&@@@5. 7^    ~B@@@@@@@@&5!:..::~7Y#@@@@@5  5@@@@@@@@@@@@@@@@@@@@@&5~.       
                      .B@@@P  J@~     !@@@@@@@@?~75^      .7#@@@@P  B@@@@@@@@@@@@@@@@@@@@@@@B?:     
                      ?@@@#: 7&!      7@@@@@@@@@@@J.        :B@@@@! 7@@@@@@@@@@@@@@@@@@@@@@@@@&Y.   
                     .#@@@~ ~#~       5@@@@75@@@P:           ~@@@@5 :&@@@@@@@@@@@@@@@@@@@@@@@@@@P   
                     ?@@&! 7G^       .#@@@5 J@@?              G&&@G .B@@@@@@@@@@@@@@@@@@@@@@@@@@5  .
                    .B@B^.PB^ .      !@@@@7 5@5              .#@&&B. P@@@@@@@@@@@@@@@@@@@@@@@@@@~   
                    ?@@~ Y@P ....   ~#@@@@~ Y@?              Y@@@@B:.P@@@@@@@@@@@@@@@@@@@@@@@@@G    
                   !&@@G^.~!    :^!P@@@@@@7 ^@Y            .5@@@@@#. P&&@@@@@@@@@@@@@@@@@@@@@@@~    
                  ?@@@@@@#GPPGGG#&&#&@@@@@#~ !!          :J#@@@@@@B. P@##&@@@@@@@@@@@@@@@@@@@@P     
                :P@@@@@@@@@@@@@@@@@&@@@@@@@@P7^:.....:~JG&@@@@@@@@B. G@@@@@@@@@@@@@@@@@@@@@@@@!     
               7&@@@&PJ7!!7JPB&@@@@@@@@@@@@@@@@&##B##&@@@@@@@@@@@@B. G@@@@@@@@@@@@@@@@@@@@@@@#.     
              Y@@@@#^ ~57     :7P&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&^ J@@@@@@@@@@@@@@@@@@@@@@@?      
              P@@@@P  B@7        ^B@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@G~.:75#@@@@@@@&@@@@@@@@@@Y       
        ...   :#@@@5 .&G          Y@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@#57^.:!JP#@@@&&@@@@@@G~        
          ...  ~@@&^ 7@~         ^&@@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@&BGGGB#BPJ!:.:!JPB#&@#5~          
            .. ^&@7 ^&5        .?&@@@@@@@@@@@@@@@&##@@@@@@@@@@&5!^::^^^::^!JP##GJ!  :~!:            
             .?B&P .B@:      :J#@@@@@@@@@@@@@@@@@@@&#&&@@@@@@5. !PB&@@@@J  ~:.~YG7      ...         
           .7B@@&G. Y7    .!P&@@@@@@@@@@@@@@@@@@@@@@@#&@@@@@Y .G@@@@@@@? :G@&B?           .         
         .?#@@@@@@B7^:^!JP&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#Y^ ~B@@@@@@#^ !&@@@B~                     
       ^5&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B!.:7G@@@@@@@P. J@@@@Y                       
       ?5P###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^ ?@@@@@@@@@P .P@@@@&:                       
     :YGJ ^?!^?JYP&#PPG@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@#. P@@@@&#&@@^ J@@@@@&:                      .
    :#@5:J&@5.!PP~.^??~^P@##&&&@@@@@@@@@@@@@@@@@@##&@@B. G@@@@@@&@&^ 5@@@@@#.                       
   ..7!.G@#7^G@@Y^?&@@@~ ^.:^~!7YGJ!!77J?J5Y7??7~77:J@B. G@#BGGGGPJ..G@@@@@#.                       
   7?:~.~~. JPP~:P@@@@G.^7 ^P#&B? :Y## ~GG! G&P J@&.7@#. ~^:::^^^^~?P##@@@@#.                       
   ^7Y@::BP~ ^!^~!!~~^~5@B G@@@@? G&@B P@@J GGJ ~J! ~P7:^!YB&&@@@@@@@@&##@@#.                       
     7&^~@@~ B@@&@#^ J@@@5 B@@@P  5PP! !?7 ~?J5.:G&! !Y&@@@@@@@@@@@@@@@@@@@G                        
     .^::5#: 5@@@B^~#@@@@B 7@@? ^~~~^ 7##G.7@@#  G#:!@@@@@@@@@@@@@@@@@@@@@@P                        
     ^B&GJ!^::B#J ?@@@@@@&: 77 J@@@@G Y@@G ^P5^~Y7!7#@@@@@@@@@@@@@@@@@@@@@B:                        
      !&@@@@&J~~~ JB#&@@@B.:!^ J@@@&7 ^PP:!5?JG@@@@@@@@@@@@@@@@@@@@@@@@@@5.      .                  
       ~B&@@@@@&@BJ7!~!!~:~G@&7.^77~?#P?JP@@@&&@@@@@@@@@@@@@@@@@@@@@@@@#7        ....               
        :P&&&@@@@@@@@&###&@@@@@&#BB&@@@@@@@@@@@&&&@@@@@@@@@@@@@@@@@@@@5:           ...              
          7B@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#&@@@@@@@@@@@@@@@@P~                ...           
           .!5B#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BP5PGGGGBBBBGGP5J^                    ...         
              .~?YPGB##&&&&@@@@@@@@@@@@@@@@&&B5?~.                                                  
                     ...::::^^^^^^^^^^^^^^^:.                                                       


*/

pragma solidity ^0.8.0 <0.9.0;

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    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);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
    unchecked {
        _approve(sender, _msgSender(), currentAllowance - amount);
    }

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
    unchecked {
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
    }

        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");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
    unchecked {
        _balances[sender] = senderBalance - amount;
    }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

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

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, 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);
    }
}

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() external 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 IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

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

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

contract ApeX is ERC20, Ownable {

    uint256 public maxBuyAmount;
    uint256 public maxSellAmount;
    uint256 public maxWalletAmount;

    IDexRouter public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;

    bool private _swapping;
    uint256 public swapTokensAtAmount;

    address public MarketingAddress;

    uint256 public tradingActiveBlock = 0; 
    uint256 public deadBlocks = 2;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;
    bool public sniperManagementEnabled = true;

    uint256 public buyFee;

    uint256 public sellFee;

    mapping (address => bool) public isExcludedFromFees;
    mapping (address => bool) public isExcludedFromLimits;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) public isSniper;

    constructor() ERC20("ApeX", "APEX") {

        address newOwner = msg.sender; 

        IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludeFromLimits(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        address tokenA = address(this);
        address tokenB = _uniswapV2Router.WETH();
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        uniswapV2Pair = address(uint160(uint(keccak256(abi.encodePacked(
            hex'ff',
            _uniswapV2Router.factory(),
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
        )))));

        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 totalSupply = 69420000  * 1e18;

        maxBuyAmount = totalSupply * 1 / 100;
        maxSellAmount = totalSupply *  1 / 100;
        maxWalletAmount = totalSupply * 2 / 100;
        swapTokensAtAmount = totalSupply * 1 / 100; 

        buyFee = 30;
        sellFee = 30;

        _excludeFromLimits(newOwner, true);
        _excludeFromLimits(address(this), true);

        MarketingAddress = address(0xeF6608cCA26bc9a61b53b3fD9b4Bcc83b177B2C9);

        excludeFromFees(newOwner, true);
        excludeFromFees(address(this), true);

        _createInitialSupply(newOwner, totalSupply);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    function createPair() external onlyOwner {
        IDexFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
    }

    function updateMaxBuyAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 1 / 100), "APEX: new max buy amount less than 1% of total supply");
        maxBuyAmount = newAmount * 1e18;
    }

    function updateMaxSellAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 1 / 100), "APEX: new max sell amount less than 1% of total supply");
        maxSellAmount = newAmount * 1e18;
    }

    function updateMaxWalletAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 2 / 100), "APEX: new max wallet amount less than 2% of total supply");
        maxWalletAmount = newAmount * 1e18;
    }

    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= totalSupply() * 1 / 100000, "APEX: new swap amount less than 0.001% of total supply");
        require(newAmount <= totalSupply() * 1 / 1000, "APEX: new Swap amount exceeds 0.1% of total supply");
        swapTokensAtAmount = newAmount * 1e18;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function _excludeFromLimits(address account, bool isExcluded) private {
        isExcludedFromLimits[account] = isExcluded;
    }

    function excludeFromLimits(address account, bool isExcluded) external onlyOwner {
        if (!isExcluded) {
            require(account != uniswapV2Pair, "APEX: account to be exscluded is pair address");
        }
        _excludeFromLimits(account, isExcluded);
    }

    function updateBuyFee(uint256 newBuyFee) external onlyOwner {
        require(newBuyFee <= 5, "APEX: new buy fee exceeds 5%");
        buyFee = newBuyFee;
    }

    function updateSellFee(uint256 newSellFee) external onlyOwner {
        if (sellFee > 5) {
            require(newSellFee <= sellFee, "APEX: new sell fee exceeds current sell fee");
        } else {
            require(sellFee <= 5, "APEX: new sell fee exceeds 5%");
        }
        sellFee = newSellFee;
    }

    function excludeFromFees(address account, bool isExcluded) public onlyOwner {
        isExcludedFromFees[account] = isExcluded;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(amount > 0, "APEX: amount is zero");
        require(!isSniper[from], "APEX: sender marked as sniper");
        require(!isSniper[to], "APEX: recipient marked as sniper");
 
        if (limitsInEffect) {
            if (from != owner() && to != owner() && !isExcludedFromFees[from] && !isExcludedFromFees[to]) {
                require(tradingActive, "APEX: trading is not active");
                if (tradingActiveBlock > 0 && block.number < (tradingActiveBlock + deadBlocks) ) {
                    isSniper[to] = true;
                }
                // buy
                if (automatedMarketMakerPairs[from] && !isExcludedFromLimits[to]) {
                    require(amount <= maxBuyAmount, "APEX: transfer amount exceeds max buy amount");
                    require(amount + balanceOf(to) <= maxWalletAmount, "APEX: balance exceeds max wallet amount");
                }
                // sell
                else if (automatedMarketMakerPairs[to] && !isExcludedFromLimits[from]) {
                    require(amount <= maxSellAmount, "APEX: transfer amount exceeds max sell amount");
                }
                else if (!isExcludedFromLimits[to]) {
                    require(amount + balanceOf(to) <= maxWalletAmount, "APEX: balance exceeds max wallet amount");
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;
        if(canSwap && swapEnabled && !_swapping && !automatedMarketMakerPairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to]) {
            _swapping = true;
            _swapBack();
            _swapping = false;
        }

        uint256 fee = 0;
        uint256 penaltyAmount = 0;
        if(!isExcludedFromFees[from] && !isExcludedFromFees[to]){
            // sniper penalty
            if (tradingActiveBlock > 0 && block.number < (tradingActiveBlock + deadBlocks) ) {
                penaltyAmount = amount * 98 / 100;
                super._transfer(from, MarketingAddress, penaltyAmount);
            }
            // sell
            else if (automatedMarketMakerPairs[to] && sellFee > 0){
                fee = amount * sellFee / 100;
            }
            // buy
            else if(automatedMarketMakerPairs[from] && buyFee > 0) {
                fee = amount * buyFee / 100;
            }
            if(fee > 0){
                super._transfer(from, address(this), fee);
            }
            amount -= fee + penaltyAmount;
        }

        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 setAutomatedMarketMakerPair(address pair, bool isAMM) external onlyOwner {
        if(!isAMM) {
            require(pair != uniswapV2Pair, "Flirtchat: automated market maker pair is uniswap V2 pair");
        }
        _setAutomatedMarketMakerPair(pair, isAMM);
    }

    function _setAutomatedMarketMakerPair(address pair, bool isAMM) private {
        automatedMarketMakerPairs[pair] = isAMM;
        _excludeFromLimits(pair, isAMM);
    }

    // once enabled, can never be turned off
    function enableTrading(bool _status, uint256 _deadBlocks) external onlyOwner {
        require(!tradingActive, "Flirtchat: trading is already active");
        require(_deadBlocks <= 5, "Flirtchat: deadblocks amount exceeds 5");
        tradingActive = _status;
        swapEnabled = true;

        if (tradingActive && tradingActiveBlock == 0) {
            tradingActiveBlock = block.number;
            deadBlocks = _deadBlocks;
        }
    }

    function setMarketingAddress(address newMarketingAddress) external onlyOwner {
        require(newMarketingAddress != address(0), "Flirtchat: new marketing address is the zero address");
        MarketingAddress = payable(newMarketingAddress);
    }

    function manageSniper(address sniperAddress, bool status) external onlyOwner {
        require(sniperManagementEnabled, "Flirtchat: sniper management permanently disabled");
        isSniper[sniperAddress] = status;
    }

    function manageSnipers(address[] calldata addresses, bool status) external onlyOwner {
        require(sniperManagementEnabled, "Flirtchat: snipers management permanently disabled");
        for (uint256 i; i < addresses.length; ++i) {
            isSniper[addresses[i]] = status;
        }
    }

    // permanently disable sniper management
    function disableSniperManagement() external onlyOwner {
        sniperManagementEnabled = false;
    }

    function _swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) {
            return;
        }
        if (contractBalance > swapTokensAtAmount * 10) {
            contractBalance = swapTokensAtAmount * 10;
        }
        _swapTokensForEth(contractBalance);
        bool success;
        (success,) = address(MarketingAddress).call{value: address(this).balance}("");
    }

    function transferForeignToken(address token, address to) external onlyOwner returns (bool) {
        require(token != address(0), "Flirtchat: token is the zero address");
        uint256 _contractBalance = IERC20(token).balanceOf(address(this));
        return IERC20(token).transfer(to, _contractBalance);
    }

    function withdrawStuckETH() external onlyOwner {
        bool success;
        (success,) = address(msg.sender).call{value: address(this).balance}("");
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MarketingAddress","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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableSniperManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint256","name":"_deadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"excludeFromLimits","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":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniperAddress","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"isAMM","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sniperManagementEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526000600c556002600d55600e805463ffffffff191663010000011790553480156200002e57600080fd5b5060405180604001604052806004815260200163082e0cab60e31b81525060405180604001604052806004815260200163082a08ab60e31b81525081600390816200007a919062000776565b50600462000089828262000776565b50505060006200009e6200047160201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062003e24833981519152908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d600081905260126020527f3c6737805ae477fd0cfdda13dc5f99b32fcbfecb81e47f9e11e1b03813c08ec2805460ff191660011790553390806001600160a01b03166080816001600160a01b03168152505060003090506000826001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000188573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ae919062000842565b9050600080826001600160a01b0316846001600160a01b031610620001d5578284620001d8565b83835b91509150846001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000241919062000842565b6040516001600160601b0319606085811b8216602084015284901b16603482015260480160405160208183030381529060405280519060200120604051602001620002f19291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291815281516020928301206001600160a01b031660a08190526000908152601383528181208054600160ff199182168117909255601290945291902080549092161790556a396c41bd9e54ada380000060646200035d8260016200088a565b620003699190620008aa565b60065560646200037b8260016200088a565b620003879190620008aa565b6007556064620003998260026200088a565b620003a59190620008aa565b6008556064620003b78260016200088a565b620003c39190620008aa565b600a55601e600f8190556010556001600160a01b0387166000908152601260205260409020805460ff19166001179055306000908152601260205260409020805460ff19166001179055600b80546001600160a01b03191673ef6608cca26bc9a61b53b3fd9b4bcc83b177b2c91790556200044087600162000475565b6200044d30600162000475565b620004598782620004ef565b6200046487620005d4565b50505050505050620008e3565b3390565b6005546001600160a01b03163314620004c45760405162461bcd60e51b8152602060048201819052602482015260008051602062003e0483398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6001600160a01b038216620005475760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004bb565b80600260008282546200055b9190620008cd565b90915550506001600160a01b038216600090815260208190526040812080548392906200058a908490620008cd565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200061f5760405162461bcd60e51b8152602060048201819052602482015260008051602062003e048339815191526044820152606401620004bb565b6001600160a01b038116620006865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004bb565b6005546040516001600160a01b0380841692169060008051602062003e2483398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006fc57607f821691505b6020821081036200071d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200077157600081815260208120601f850160051c810160208610156200074c5750805b601f850160051c820191505b818110156200076d5782815560010162000758565b5050505b505050565b81516001600160401b03811115620007925762000792620006d1565b620007aa81620007a38454620006e7565b8462000723565b602080601f831160018114620007e25760008415620007c95750858301515b600019600386901b1c1916600185901b1785556200076d565b600085815260208120601f198616915b828110156200081357888601518255948401946001909101908401620007f2565b5085821015620008325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200085557600080fd5b81516001600160a01b03811681146200086d57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620008a457620008a462000874565b92915050565b600082620008c857634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620008a457620008a462000874565b60805160a0516134ca6200093a60003960008181610556015281816115f20152611a730152600081816103e101528181611732015281816117c301528181612ea901528181612f620152612fb701526134ca6000f3fe6080604052600436106103385760003560e01c80638366e79a116101b0578063c0a904a2116100ec578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b1461097e578063f5648a4f1461099e578063fabb0b4f146109b3578063faf216e3146109c957600080fd5b8063e2f4560514610932578063ed49418914610948578063ee40166e1461096857600080fd5b8063dbf5b916116100c6578063dbf5b916146108ab578063dc3f0d0f146108cc578063dd62ed3e146108ec57600080fd5b8063c0a904a21461084b578063c18bc1951461086b578063d257b34f1461088b57600080fd5b80639e78fb4f11610159578063aa4bde2811610133578063aa4bde28146107c6578063b62496f5146107dc578063bbc0c7421461080c578063c02466681461082b57600080fd5b80639e78fb4f14610771578063a457c2d714610786578063a9059cbb146107a657600080fd5b8063906e9dd01161018a578063906e9dd01461071c57806395d89b411461073c5780639a7a23d61461075157600080fd5b80638366e79a146106c857806388e765ff146106e85780638da5cb5b146106fe57600080fd5b8063467abe0a1161027f5780635e83ae761161022857806370a082311161020257806370a0823114610648578063715018a61461067e578063751039fc14610693578063819d38d2146106a857600080fd5b80635e83ae76146105f257806366d602ae146106125780636ddd17131461062857600080fd5b80634a62bb65116102595780634a62bb65146105785780634fbee193146105925780635cce86cd146105c257600080fd5b8063467abe0a1461050e578063470624021461052e57806349bd5a5e1461054457600080fd5b806323b872dd116102e1578063313ce567116102bb578063313ce567146104b25780633936e8b9146104ce57806339509351146104ee57600080fd5b806323b872dd1461045c5780632b14ca561461047c5780632be32b611461049257600080fd5b80631694505e116103125780631694505e146103cf57806318160ddd1461041b5780631d933a4a1461043a57600080fd5b806306fdde0314610344578063095ea7b31461036f5780630f3a325f1461039f57600080fd5b3661033f57005b600080fd5b34801561035057600080fd5b506103596109de565b604051610366919061302b565b60405180910390f35b34801561037b57600080fd5b5061038f61038a3660046130ac565b610a70565b6040519015158152602001610366565b3480156103ab57600080fd5b5061038f6103ba3660046130d8565b60146020526000908152604090205460ff1681565b3480156103db57600080fd5b506104037f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610366565b34801561042757600080fd5b506002545b604051908152602001610366565b34801561044657600080fd5b5061045a6104553660046130fc565b610a87565b005b34801561046857600080fd5b5061038f610477366004613115565b610bc1565b34801561048857600080fd5b5061042c60105481565b34801561049e57600080fd5b5061045a6104ad3660046130fc565b610c80565b3480156104be57600080fd5b5060405160128152602001610366565b3480156104da57600080fd5b50600b54610403906001600160a01b031681565b3480156104fa57600080fd5b5061038f6105093660046130ac565b610d98565b34801561051a57600080fd5b5061045a6105293660046130fc565b610dd4565b34801561053a57600080fd5b5061042c600f5481565b34801561055057600080fd5b506104037f000000000000000000000000000000000000000000000000000000000000000081565b34801561058457600080fd5b50600e5461038f9060ff1681565b34801561059e57600080fd5b5061038f6105ad3660046130d8565b60116020526000908152604090205460ff1681565b3480156105ce57600080fd5b5061038f6105dd3660046130d8565b60126020526000908152604090205460ff1681565b3480156105fe57600080fd5b5061045a61060d366004613164565b610e84565b34801561061e57600080fd5b5061042c60075481565b34801561063457600080fd5b50600e5461038f9062010000900460ff1681565b34801561065457600080fd5b5061042c6106633660046130d8565b6001600160a01b031660009081526020819052604090205490565b34801561068a57600080fd5b5061045a611058565b34801561069f57600080fd5b5061045a611114565b3480156106b457600080fd5b5061045a6106c3366004613182565b61117a565b3480156106d457600080fd5b5061038f6106e33660046131bb565b61127e565b3480156106f457600080fd5b5061042c60065481565b34801561070a57600080fd5b506005546001600160a01b0316610403565b34801561072857600080fd5b5061045a6107373660046130d8565b611472565b34801561074857600080fd5b50610359611582565b34801561075d57600080fd5b5061045a61076c366004613182565b611591565b34801561077d57600080fd5b5061045a6116d6565b34801561079257600080fd5b5061038f6107a13660046130ac565b6118cf565b3480156107b257600080fd5b5061038f6107c13660046130ac565b611980565b3480156107d257600080fd5b5061042c60085481565b3480156107e857600080fd5b5061038f6107f73660046130d8565b60136020526000908152604090205460ff1681565b34801561081857600080fd5b50600e5461038f90610100900460ff1681565b34801561083757600080fd5b5061045a610846366004613182565b61198d565b34801561085757600080fd5b5061045a610866366004613182565b611a12565b34801561087757600080fd5b5061045a6108863660046130fc565b611b40565b34801561089757600080fd5b5061045a6108a63660046130fc565b611c58565b3480156108b757600080fd5b50600e5461038f906301000000900460ff1681565b3480156108d857600080fd5b5061045a6108e73660046130fc565b611e08565b3480156108f857600080fd5b5061042c6109073660046131bb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561093e57600080fd5b5061042c600a5481565b34801561095457600080fd5b5061045a6109633660046131e9565b611f20565b34801561097457600080fd5b5061042c600c5481565b34801561098a57600080fd5b5061045a6109993660046130d8565b61206e565b3480156109aa57600080fd5b5061045a6121b8565b3480156109bf57600080fd5b5061042c600d5481565b3480156109d557600080fd5b5061045a612254565b6060600380546109ed9061326f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a199061326f565b8015610a665780601f10610a3b57610100808354040283529160200191610a66565b820191906000526020600020905b815481529060010190602001808311610a4957829003601f168201915b5050505050905090565b6000610a7d3384846122d8565b5060015b92915050565b6005546001600160a01b03163314610ae65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60056010541115610b6e57601054811115610b695760405162461bcd60e51b815260206004820152602b60248201527f415045583a206e65772073656c6c20666565206578636565647320637572726560448201527f6e742073656c6c206665650000000000000000000000000000000000000000006064820152608401610add565b601055565b60056010541115610b695760405162461bcd60e51b815260206004820152601d60248201527f415045583a206e65772073656c6c2066656520657863656564732035250000006044820152606401610add565b6000610bce848484612430565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610c685760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63650000000000000000000000000000000000000000000000006064820152608401610add565b610c7585338584036122d8565b506001949350505050565b6005546001600160a01b03163314610cda5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6064610ce560025490565b610cf09060016132f1565b610cfa9190613308565b610d0c82670de0b6b3a76400006132f1565b1015610d805760405162461bcd60e51b815260206004820152603560248201527f415045583a206e6577206d61782062757920616d6f756e74206c65737320746860448201527f616e203125206f6620746f74616c20737570706c7900000000000000000000006064820152608401610add565b610d9281670de0b6b3a76400006132f1565b60065550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a7d918590610dcf908690613343565b6122d8565b6005546001600160a01b03163314610e2e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6005811115610e7f5760405162461bcd60e51b815260206004820152601c60248201527f415045583a206e657720627579206665652065786365656473203525000000006044820152606401610add565b600f55565b6005546001600160a01b03163314610ede5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e54610100900460ff1615610f5b5760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a2074726164696e6720697320616c726561647920616360448201527f74697665000000000000000000000000000000000000000000000000000000006064820152608401610add565b6005811115610fd25760405162461bcd60e51b815260206004820152602660248201527f466c697274636861743a2064656164626c6f636b7320616d6f756e742065786360448201527f65656473203500000000000000000000000000000000000000000000000000006064820152608401610add565b600e8054620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90911661010085151581027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1691909117919091179182905560ff91041680156110455750600c54155b156110545743600c55600d8190555b5050565b6005546001600160a01b031633146110b25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6005546001600160a01b0316331461116e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e805460ff19169055565b6005546001600160a01b031633146111d45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e546301000000900460ff166112535760405162461bcd60e51b815260206004820152603160248201527f466c697274636861743a20736e69706572206d616e6167656d656e742070657260448201527f6d616e656e746c792064697361626c65640000000000000000000000000000006064820152608401610add565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546000906001600160a01b031633146112db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b0383166113565760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a20746f6b656e20697320746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610add565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da9190613356565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146a919061336f565b949350505050565b6005546001600160a01b031633146114cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b0381166115485760405162461bcd60e51b815260206004820152603460248201527f466c697274636861743a206e6577206d61726b6574696e67206164647265737360448201527f20697320746865207a65726f20616464726573730000000000000000000000006064820152608401610add565b600b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6060600480546109ed9061326f565b6005546001600160a01b031633146115eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b80611697577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036116975760405162461bcd60e51b815260206004820152603960248201527f466c697274636861743a206175746f6d61746564206d61726b6574206d616b6560448201527f72207061697220697320756e69737761702056322070616972000000000000006064820152608401610add565b6001600160a01b03919091166000908152601360209081526040808320805494151560ff19958616811790915560129092529091208054909216179055565b6005546001600160a01b031633146117305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061338c565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611843919061338c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156118a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cc919061338c565b50565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156119695760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610add565b61197633858584036122d8565b5060019392505050565b6000610a7d338484612430565b6005546001600160a01b031633146119e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314611a6c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b80611b18577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611b185760405162461bcd60e51b815260206004820152602d60248201527f415045583a206163636f756e7420746f20626520657873636c7564656420697360448201527f20706169722061646472657373000000000000000000000000000000000000006064820152608401610add565b6001600160a01b0382166000908152601260205260409020805460ff19168215151790555050565b6005546001600160a01b03163314611b9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6064611ba560025490565b611bb09060026132f1565b611bba9190613308565b611bcc82670de0b6b3a76400006132f1565b1015611c405760405162461bcd60e51b815260206004820152603860248201527f415045583a206e6577206d61782077616c6c657420616d6f756e74206c65737360448201527f207468616e203225206f6620746f74616c20737570706c7900000000000000006064820152608401610add565b611c5281670de0b6b3a76400006132f1565b60085550565b6005546001600160a01b03163314611cb25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b620186a0611cbf60025490565b611cca9060016132f1565b611cd49190613308565b611ce682670de0b6b3a76400006132f1565b1015611d5a5760405162461bcd60e51b815260206004820152603660248201527f415045583a206e6577207377617020616d6f756e74206c657373207468616e2060448201527f302e30303125206f6620746f74616c20737570706c79000000000000000000006064820152608401610add565b6103e8611d6660025490565b611d719060016132f1565b611d7b9190613308565b811115611df05760405162461bcd60e51b815260206004820152603260248201527f415045583a206e6577205377617020616d6f756e74206578636565647320302e60448201527f3125206f6620746f74616c20737570706c7900000000000000000000000000006064820152608401610add565b611e0281670de0b6b3a76400006132f1565b600a5550565b6005546001600160a01b03163314611e625760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6064611e6d60025490565b611e789060016132f1565b611e829190613308565b611e9482670de0b6b3a76400006132f1565b1015611f085760405162461bcd60e51b815260206004820152603660248201527f415045583a206e6577206d61782073656c6c20616d6f756e74206c657373207460448201527f68616e203125206f6620746f74616c20737570706c79000000000000000000006064820152608401610add565b611f1a81670de0b6b3a76400006132f1565b60075550565b6005546001600160a01b03163314611f7a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e546301000000900460ff16611ff95760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a20736e6970657273206d616e6167656d656e7420706560448201527f726d616e656e746c792064697361626c656400000000000000000000000000006064820152608401610add565b60005b8281101561206857816014600086868581811061201b5761201b6133a9565b905060200201602081019061203091906130d8565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055612061816133d8565b9050611ffc565b50505050565b6005546001600160a01b031633146120c85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b0381166121445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610add565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6005546001600160a01b031633146122125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b604051600090339047908381818185875af1925050503d8060008114612068576040519150601f19603f3d011682016040523d82523d6000602084013e612068565b6005546001600160a01b031633146122ae5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff169055565b6001600160a01b0383166123535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b0382166123cf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116124805760405162461bcd60e51b815260206004820152601460248201527f415045583a20616d6f756e74206973207a65726f0000000000000000000000006044820152606401610add565b6001600160a01b03831660009081526014602052604090205460ff16156124e95760405162461bcd60e51b815260206004820152601d60248201527f415045583a2073656e646572206d61726b656420617320736e697065720000006044820152606401610add565b6001600160a01b03821660009081526014602052604090205460ff16156125525760405162461bcd60e51b815260206004820181905260248201527f415045583a20726563697069656e74206d61726b656420617320736e697065726044820152606401610add565b600e5460ff161561294d576005546001600160a01b0384811691161480159061258957506005546001600160a01b03838116911614155b80156125ae57506001600160a01b03831660009081526011602052604090205460ff16155b80156125d357506001600160a01b03821660009081526011602052604090205460ff16155b1561294d57600e54610100900460ff1661262f5760405162461bcd60e51b815260206004820152601b60248201527f415045583a2074726164696e67206973206e6f742061637469766500000000006044820152606401610add565b6000600c5411801561264f5750600d54600c5461264c9190613343565b43105b15612678576001600160a01b0382166000908152601460205260409020805460ff191660011790555b6001600160a01b03831660009081526013602052604090205460ff1680156126b957506001600160a01b03821660009081526012602052604090205460ff16155b156127d5576006548111156127365760405162461bcd60e51b815260206004820152602c60248201527f415045583a207472616e7366657220616d6f756e742065786365656473206d6160448201527f782062757920616d6f756e7400000000000000000000000000000000000000006064820152608401610add565b6008546001600160a01b03831660009081526020819052604090205461275c9083613343565b11156127d05760405162461bcd60e51b815260206004820152602760248201527f415045583a2062616c616e63652065786365656473206d61782077616c6c657460448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152608401610add565b61294d565b6001600160a01b03821660009081526013602052604090205460ff16801561281657506001600160a01b03831660009081526012602052604090205460ff16155b15612893576007548111156127d05760405162461bcd60e51b815260206004820152602d60248201527f415045583a207472616e7366657220616d6f756e742065786365656473206d6160448201527f782073656c6c20616d6f756e74000000000000000000000000000000000000006064820152608401610add565b6001600160a01b03821660009081526012602052604090205460ff1661294d576008546001600160a01b0383166000908152602081905260409020546128d99083613343565b111561294d5760405162461bcd60e51b815260206004820152602760248201527f415045583a2062616c616e63652065786365656473206d61782077616c6c657460448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152608401610add565b30600090815260208190526040902054600a54811080159081906129795750600e5462010000900460ff165b8015612988575060095460ff16155b80156129ad57506001600160a01b03851660009081526013602052604090205460ff16155b80156129d257506001600160a01b03851660009081526011602052604090205460ff16155b80156129f757506001600160a01b03841660009081526011602052604090205460ff16155b15612a1c576009805460ff19166001179055612a11612b99565b6009805460ff191690555b6001600160a01b038516600090815260116020526040812054819060ff16158015612a6057506001600160a01b03861660009081526011602052604090205460ff16155b15612b85576000600c54118015612a855750600d54600c54612a829190613343565b43105b15612ac1576064612a978660626132f1565b612aa19190613308565b600b54909150612abc9088906001600160a01b031683612c3a565b612b5d565b6001600160a01b03861660009081526013602052604090205460ff168015612aeb57506000601054115b15612b1157606460105486612b0091906132f1565b612b0a9190613308565b9150612b5d565b6001600160a01b03871660009081526013602052604090205460ff168015612b3b57506000600f54115b15612b5d576064600f5486612b5091906132f1565b612b5a9190613308565b91505b8115612b6e57612b6e873084612c3a565b612b788183613343565b612b829086613410565b94505b612b90878787612c3a565b50505050505050565b3060009081526020819052604081205490819003612bb45750565b600a8054612bc1916132f1565b811115612bd857600a8054612bd5916132f1565b90505b612be181612e52565b600b546040516000916001600160a01b03169047908381818185875af1925050503d8060008114612c2e576040519150601f19603f3d011682016040523d82523d6000602084013e612c33565b606091505b5050505050565b6001600160a01b038316612cb65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b038216612d325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b03831660009081526020819052604090205481811015612dc15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612df8908490613343565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e4491815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612e8757612e876133a9565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f29919061338c565b81600181518110612f3c57612f3c6133a9565b60200260200101906001600160a01b031690816001600160a01b031681525050612f87307f0000000000000000000000000000000000000000000000000000000000000000846122d8565b6040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790612ff5908590600090869030904290600401613423565b600060405180830381600087803b15801561300f57600080fd5b505af1158015613023573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156130585785810183015185820160400152820161303c565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6001600160a01b03811681146118cc57600080fd5b600080604083850312156130bf57600080fd5b82356130ca81613097565b946020939093013593505050565b6000602082840312156130ea57600080fd5b81356130f581613097565b9392505050565b60006020828403121561310e57600080fd5b5035919050565b60008060006060848603121561312a57600080fd5b833561313581613097565b9250602084013561314581613097565b929592945050506040919091013590565b80151581146118cc57600080fd5b6000806040838503121561317757600080fd5b82356130ca81613156565b6000806040838503121561319557600080fd5b82356131a081613097565b915060208301356131b081613156565b809150509250929050565b600080604083850312156131ce57600080fd5b82356131d981613097565b915060208301356131b081613097565b6000806000604084860312156131fe57600080fd5b833567ffffffffffffffff8082111561321657600080fd5b818601915086601f83011261322a57600080fd5b81358181111561323957600080fd5b8760208260051b850101111561324e57600080fd5b6020928301955093505084013561326481613156565b809150509250925092565b600181811c9082168061328357607f821691505b6020821081036132bc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610a8157610a816132c2565b60008261333e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610a8157610a816132c2565b60006020828403121561336857600080fd5b5051919050565b60006020828403121561338157600080fd5b81516130f581613156565b60006020828403121561339e57600080fd5b81516130f581613097565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613409576134096132c2565b5060010190565b81810381811115610a8157610a816132c2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156134735784516001600160a01b03168352938301939183019160010161344e565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122058a902135b15e8865d4026cfd0c97a7b69b683a6dded42c8cf31da22dddb0a8864736f6c634300081200334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x6080604052600436106103385760003560e01c80638366e79a116101b0578063c0a904a2116100ec578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b1461097e578063f5648a4f1461099e578063fabb0b4f146109b3578063faf216e3146109c957600080fd5b8063e2f4560514610932578063ed49418914610948578063ee40166e1461096857600080fd5b8063dbf5b916116100c6578063dbf5b916146108ab578063dc3f0d0f146108cc578063dd62ed3e146108ec57600080fd5b8063c0a904a21461084b578063c18bc1951461086b578063d257b34f1461088b57600080fd5b80639e78fb4f11610159578063aa4bde2811610133578063aa4bde28146107c6578063b62496f5146107dc578063bbc0c7421461080c578063c02466681461082b57600080fd5b80639e78fb4f14610771578063a457c2d714610786578063a9059cbb146107a657600080fd5b8063906e9dd01161018a578063906e9dd01461071c57806395d89b411461073c5780639a7a23d61461075157600080fd5b80638366e79a146106c857806388e765ff146106e85780638da5cb5b146106fe57600080fd5b8063467abe0a1161027f5780635e83ae761161022857806370a082311161020257806370a0823114610648578063715018a61461067e578063751039fc14610693578063819d38d2146106a857600080fd5b80635e83ae76146105f257806366d602ae146106125780636ddd17131461062857600080fd5b80634a62bb65116102595780634a62bb65146105785780634fbee193146105925780635cce86cd146105c257600080fd5b8063467abe0a1461050e578063470624021461052e57806349bd5a5e1461054457600080fd5b806323b872dd116102e1578063313ce567116102bb578063313ce567146104b25780633936e8b9146104ce57806339509351146104ee57600080fd5b806323b872dd1461045c5780632b14ca561461047c5780632be32b611461049257600080fd5b80631694505e116103125780631694505e146103cf57806318160ddd1461041b5780631d933a4a1461043a57600080fd5b806306fdde0314610344578063095ea7b31461036f5780630f3a325f1461039f57600080fd5b3661033f57005b600080fd5b34801561035057600080fd5b506103596109de565b604051610366919061302b565b60405180910390f35b34801561037b57600080fd5b5061038f61038a3660046130ac565b610a70565b6040519015158152602001610366565b3480156103ab57600080fd5b5061038f6103ba3660046130d8565b60146020526000908152604090205460ff1681565b3480156103db57600080fd5b506104037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610366565b34801561042757600080fd5b506002545b604051908152602001610366565b34801561044657600080fd5b5061045a6104553660046130fc565b610a87565b005b34801561046857600080fd5b5061038f610477366004613115565b610bc1565b34801561048857600080fd5b5061042c60105481565b34801561049e57600080fd5b5061045a6104ad3660046130fc565b610c80565b3480156104be57600080fd5b5060405160128152602001610366565b3480156104da57600080fd5b50600b54610403906001600160a01b031681565b3480156104fa57600080fd5b5061038f6105093660046130ac565b610d98565b34801561051a57600080fd5b5061045a6105293660046130fc565b610dd4565b34801561053a57600080fd5b5061042c600f5481565b34801561055057600080fd5b506104037f0000000000000000000000009043a810ea9f710722dea939ddaf2a142f62296a81565b34801561058457600080fd5b50600e5461038f9060ff1681565b34801561059e57600080fd5b5061038f6105ad3660046130d8565b60116020526000908152604090205460ff1681565b3480156105ce57600080fd5b5061038f6105dd3660046130d8565b60126020526000908152604090205460ff1681565b3480156105fe57600080fd5b5061045a61060d366004613164565b610e84565b34801561061e57600080fd5b5061042c60075481565b34801561063457600080fd5b50600e5461038f9062010000900460ff1681565b34801561065457600080fd5b5061042c6106633660046130d8565b6001600160a01b031660009081526020819052604090205490565b34801561068a57600080fd5b5061045a611058565b34801561069f57600080fd5b5061045a611114565b3480156106b457600080fd5b5061045a6106c3366004613182565b61117a565b3480156106d457600080fd5b5061038f6106e33660046131bb565b61127e565b3480156106f457600080fd5b5061042c60065481565b34801561070a57600080fd5b506005546001600160a01b0316610403565b34801561072857600080fd5b5061045a6107373660046130d8565b611472565b34801561074857600080fd5b50610359611582565b34801561075d57600080fd5b5061045a61076c366004613182565b611591565b34801561077d57600080fd5b5061045a6116d6565b34801561079257600080fd5b5061038f6107a13660046130ac565b6118cf565b3480156107b257600080fd5b5061038f6107c13660046130ac565b611980565b3480156107d257600080fd5b5061042c60085481565b3480156107e857600080fd5b5061038f6107f73660046130d8565b60136020526000908152604090205460ff1681565b34801561081857600080fd5b50600e5461038f90610100900460ff1681565b34801561083757600080fd5b5061045a610846366004613182565b61198d565b34801561085757600080fd5b5061045a610866366004613182565b611a12565b34801561087757600080fd5b5061045a6108863660046130fc565b611b40565b34801561089757600080fd5b5061045a6108a63660046130fc565b611c58565b3480156108b757600080fd5b50600e5461038f906301000000900460ff1681565b3480156108d857600080fd5b5061045a6108e73660046130fc565b611e08565b3480156108f857600080fd5b5061042c6109073660046131bb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561093e57600080fd5b5061042c600a5481565b34801561095457600080fd5b5061045a6109633660046131e9565b611f20565b34801561097457600080fd5b5061042c600c5481565b34801561098a57600080fd5b5061045a6109993660046130d8565b61206e565b3480156109aa57600080fd5b5061045a6121b8565b3480156109bf57600080fd5b5061042c600d5481565b3480156109d557600080fd5b5061045a612254565b6060600380546109ed9061326f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a199061326f565b8015610a665780601f10610a3b57610100808354040283529160200191610a66565b820191906000526020600020905b815481529060010190602001808311610a4957829003601f168201915b5050505050905090565b6000610a7d3384846122d8565b5060015b92915050565b6005546001600160a01b03163314610ae65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60056010541115610b6e57601054811115610b695760405162461bcd60e51b815260206004820152602b60248201527f415045583a206e65772073656c6c20666565206578636565647320637572726560448201527f6e742073656c6c206665650000000000000000000000000000000000000000006064820152608401610add565b601055565b60056010541115610b695760405162461bcd60e51b815260206004820152601d60248201527f415045583a206e65772073656c6c2066656520657863656564732035250000006044820152606401610add565b6000610bce848484612430565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610c685760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63650000000000000000000000000000000000000000000000006064820152608401610add565b610c7585338584036122d8565b506001949350505050565b6005546001600160a01b03163314610cda5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6064610ce560025490565b610cf09060016132f1565b610cfa9190613308565b610d0c82670de0b6b3a76400006132f1565b1015610d805760405162461bcd60e51b815260206004820152603560248201527f415045583a206e6577206d61782062757920616d6f756e74206c65737320746860448201527f616e203125206f6620746f74616c20737570706c7900000000000000000000006064820152608401610add565b610d9281670de0b6b3a76400006132f1565b60065550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a7d918590610dcf908690613343565b6122d8565b6005546001600160a01b03163314610e2e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6005811115610e7f5760405162461bcd60e51b815260206004820152601c60248201527f415045583a206e657720627579206665652065786365656473203525000000006044820152606401610add565b600f55565b6005546001600160a01b03163314610ede5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e54610100900460ff1615610f5b5760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a2074726164696e6720697320616c726561647920616360448201527f74697665000000000000000000000000000000000000000000000000000000006064820152608401610add565b6005811115610fd25760405162461bcd60e51b815260206004820152602660248201527f466c697274636861743a2064656164626c6f636b7320616d6f756e742065786360448201527f65656473203500000000000000000000000000000000000000000000000000006064820152608401610add565b600e8054620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff90911661010085151581027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1691909117919091179182905560ff91041680156110455750600c54155b156110545743600c55600d8190555b5050565b6005546001600160a01b031633146110b25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6005546001600160a01b0316331461116e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e805460ff19169055565b6005546001600160a01b031633146111d45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e546301000000900460ff166112535760405162461bcd60e51b815260206004820152603160248201527f466c697274636861743a20736e69706572206d616e6167656d656e742070657260448201527f6d616e656e746c792064697361626c65640000000000000000000000000000006064820152608401610add565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546000906001600160a01b031633146112db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b0383166113565760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a20746f6b656e20697320746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610add565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da9190613356565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146a919061336f565b949350505050565b6005546001600160a01b031633146114cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b0381166115485760405162461bcd60e51b815260206004820152603460248201527f466c697274636861743a206e6577206d61726b6574696e67206164647265737360448201527f20697320746865207a65726f20616464726573730000000000000000000000006064820152608401610add565b600b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6060600480546109ed9061326f565b6005546001600160a01b031633146115eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b80611697577f0000000000000000000000009043a810ea9f710722dea939ddaf2a142f62296a6001600160a01b0316826001600160a01b0316036116975760405162461bcd60e51b815260206004820152603960248201527f466c697274636861743a206175746f6d61746564206d61726b6574206d616b6560448201527f72207061697220697320756e69737761702056322070616972000000000000006064820152608401610add565b6001600160a01b03919091166000908152601360209081526040808320805494151560ff19958616811790915560129092529091208054909216179055565b6005546001600160a01b031633146117305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061338c565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611843919061338c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156118a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cc919061338c565b50565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156119695760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610add565b61197633858584036122d8565b5060019392505050565b6000610a7d338484612430565b6005546001600160a01b031633146119e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314611a6c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b80611b18577f0000000000000000000000009043a810ea9f710722dea939ddaf2a142f62296a6001600160a01b0316826001600160a01b031603611b185760405162461bcd60e51b815260206004820152602d60248201527f415045583a206163636f756e7420746f20626520657873636c7564656420697360448201527f20706169722061646472657373000000000000000000000000000000000000006064820152608401610add565b6001600160a01b0382166000908152601260205260409020805460ff19168215151790555050565b6005546001600160a01b03163314611b9a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6064611ba560025490565b611bb09060026132f1565b611bba9190613308565b611bcc82670de0b6b3a76400006132f1565b1015611c405760405162461bcd60e51b815260206004820152603860248201527f415045583a206e6577206d61782077616c6c657420616d6f756e74206c65737360448201527f207468616e203225206f6620746f74616c20737570706c7900000000000000006064820152608401610add565b611c5281670de0b6b3a76400006132f1565b60085550565b6005546001600160a01b03163314611cb25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b620186a0611cbf60025490565b611cca9060016132f1565b611cd49190613308565b611ce682670de0b6b3a76400006132f1565b1015611d5a5760405162461bcd60e51b815260206004820152603660248201527f415045583a206e6577207377617020616d6f756e74206c657373207468616e2060448201527f302e30303125206f6620746f74616c20737570706c79000000000000000000006064820152608401610add565b6103e8611d6660025490565b611d719060016132f1565b611d7b9190613308565b811115611df05760405162461bcd60e51b815260206004820152603260248201527f415045583a206e6577205377617020616d6f756e74206578636565647320302e60448201527f3125206f6620746f74616c20737570706c7900000000000000000000000000006064820152608401610add565b611e0281670de0b6b3a76400006132f1565b600a5550565b6005546001600160a01b03163314611e625760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6064611e6d60025490565b611e789060016132f1565b611e829190613308565b611e9482670de0b6b3a76400006132f1565b1015611f085760405162461bcd60e51b815260206004820152603660248201527f415045583a206e6577206d61782073656c6c20616d6f756e74206c657373207460448201527f68616e203125206f6620746f74616c20737570706c79000000000000000000006064820152608401610add565b611f1a81670de0b6b3a76400006132f1565b60075550565b6005546001600160a01b03163314611f7a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e546301000000900460ff16611ff95760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a20736e6970657273206d616e6167656d656e7420706560448201527f726d616e656e746c792064697361626c656400000000000000000000000000006064820152608401610add565b60005b8281101561206857816014600086868581811061201b5761201b6133a9565b905060200201602081019061203091906130d8565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055612061816133d8565b9050611ffc565b50505050565b6005546001600160a01b031633146120c85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b6001600160a01b0381166121445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610add565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6005546001600160a01b031633146122125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b604051600090339047908381818185875af1925050503d8060008114612068576040519150601f19603f3d011682016040523d82523d6000602084013e612068565b6005546001600160a01b031633146122ae5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610add565b600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff169055565b6001600160a01b0383166123535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b0382166123cf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116124805760405162461bcd60e51b815260206004820152601460248201527f415045583a20616d6f756e74206973207a65726f0000000000000000000000006044820152606401610add565b6001600160a01b03831660009081526014602052604090205460ff16156124e95760405162461bcd60e51b815260206004820152601d60248201527f415045583a2073656e646572206d61726b656420617320736e697065720000006044820152606401610add565b6001600160a01b03821660009081526014602052604090205460ff16156125525760405162461bcd60e51b815260206004820181905260248201527f415045583a20726563697069656e74206d61726b656420617320736e697065726044820152606401610add565b600e5460ff161561294d576005546001600160a01b0384811691161480159061258957506005546001600160a01b03838116911614155b80156125ae57506001600160a01b03831660009081526011602052604090205460ff16155b80156125d357506001600160a01b03821660009081526011602052604090205460ff16155b1561294d57600e54610100900460ff1661262f5760405162461bcd60e51b815260206004820152601b60248201527f415045583a2074726164696e67206973206e6f742061637469766500000000006044820152606401610add565b6000600c5411801561264f5750600d54600c5461264c9190613343565b43105b15612678576001600160a01b0382166000908152601460205260409020805460ff191660011790555b6001600160a01b03831660009081526013602052604090205460ff1680156126b957506001600160a01b03821660009081526012602052604090205460ff16155b156127d5576006548111156127365760405162461bcd60e51b815260206004820152602c60248201527f415045583a207472616e7366657220616d6f756e742065786365656473206d6160448201527f782062757920616d6f756e7400000000000000000000000000000000000000006064820152608401610add565b6008546001600160a01b03831660009081526020819052604090205461275c9083613343565b11156127d05760405162461bcd60e51b815260206004820152602760248201527f415045583a2062616c616e63652065786365656473206d61782077616c6c657460448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152608401610add565b61294d565b6001600160a01b03821660009081526013602052604090205460ff16801561281657506001600160a01b03831660009081526012602052604090205460ff16155b15612893576007548111156127d05760405162461bcd60e51b815260206004820152602d60248201527f415045583a207472616e7366657220616d6f756e742065786365656473206d6160448201527f782073656c6c20616d6f756e74000000000000000000000000000000000000006064820152608401610add565b6001600160a01b03821660009081526012602052604090205460ff1661294d576008546001600160a01b0383166000908152602081905260409020546128d99083613343565b111561294d5760405162461bcd60e51b815260206004820152602760248201527f415045583a2062616c616e63652065786365656473206d61782077616c6c657460448201527f20616d6f756e74000000000000000000000000000000000000000000000000006064820152608401610add565b30600090815260208190526040902054600a54811080159081906129795750600e5462010000900460ff165b8015612988575060095460ff16155b80156129ad57506001600160a01b03851660009081526013602052604090205460ff16155b80156129d257506001600160a01b03851660009081526011602052604090205460ff16155b80156129f757506001600160a01b03841660009081526011602052604090205460ff16155b15612a1c576009805460ff19166001179055612a11612b99565b6009805460ff191690555b6001600160a01b038516600090815260116020526040812054819060ff16158015612a6057506001600160a01b03861660009081526011602052604090205460ff16155b15612b85576000600c54118015612a855750600d54600c54612a829190613343565b43105b15612ac1576064612a978660626132f1565b612aa19190613308565b600b54909150612abc9088906001600160a01b031683612c3a565b612b5d565b6001600160a01b03861660009081526013602052604090205460ff168015612aeb57506000601054115b15612b1157606460105486612b0091906132f1565b612b0a9190613308565b9150612b5d565b6001600160a01b03871660009081526013602052604090205460ff168015612b3b57506000600f54115b15612b5d576064600f5486612b5091906132f1565b612b5a9190613308565b91505b8115612b6e57612b6e873084612c3a565b612b788183613343565b612b829086613410565b94505b612b90878787612c3a565b50505050505050565b3060009081526020819052604081205490819003612bb45750565b600a8054612bc1916132f1565b811115612bd857600a8054612bd5916132f1565b90505b612be181612e52565b600b546040516000916001600160a01b03169047908381818185875af1925050503d8060008114612c2e576040519150601f19603f3d011682016040523d82523d6000602084013e612c33565b606091505b5050505050565b6001600160a01b038316612cb65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b038216612d325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b03831660009081526020819052604090205481811015612dc15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610add565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612df8908490613343565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e4491815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612e8757612e876133a9565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f29919061338c565b81600181518110612f3c57612f3c6133a9565b60200260200101906001600160a01b031690816001600160a01b031681525050612f87307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846122d8565b6040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790612ff5908590600090869030904290600401613423565b600060405180830381600087803b15801561300f57600080fd5b505af1158015613023573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156130585785810183015185820160400152820161303c565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6001600160a01b03811681146118cc57600080fd5b600080604083850312156130bf57600080fd5b82356130ca81613097565b946020939093013593505050565b6000602082840312156130ea57600080fd5b81356130f581613097565b9392505050565b60006020828403121561310e57600080fd5b5035919050565b60008060006060848603121561312a57600080fd5b833561313581613097565b9250602084013561314581613097565b929592945050506040919091013590565b80151581146118cc57600080fd5b6000806040838503121561317757600080fd5b82356130ca81613156565b6000806040838503121561319557600080fd5b82356131a081613097565b915060208301356131b081613156565b809150509250929050565b600080604083850312156131ce57600080fd5b82356131d981613097565b915060208301356131b081613097565b6000806000604084860312156131fe57600080fd5b833567ffffffffffffffff8082111561321657600080fd5b818601915086601f83011261322a57600080fd5b81358181111561323957600080fd5b8760208260051b850101111561324e57600080fd5b6020928301955093505084013561326481613156565b809150509250925092565b600181811c9082168061328357607f821691505b6020821081036132bc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610a8157610a816132c2565b60008261333e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610a8157610a816132c2565b60006020828403121561336857600080fd5b5051919050565b60006020828403121561338157600080fd5b81516130f581613156565b60006020828403121561339e57600080fd5b81516130f581613097565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613409576134096132c2565b5060010190565b81810381811115610a8157610a816132c2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156134735784516001600160a01b03168352938301939183019160010161344e565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122058a902135b15e8865d4026cfd0c97a7b69b683a6dded42c8cf31da22dddb0a8864736f6c63430008120033

Deployed Bytecode Sourcemap

12012:11002:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6730:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7644:169;;;;;;;;;;-1:-1:-1;7644:169:0;;;;;:::i;:::-;;:::i;:::-;;;1270:14:1;;1263:22;1245:41;;1233:2;1218:18;7644:169:0;1105:187:1;12865:41:0;;;;;;;;;;-1:-1:-1;12865:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12161:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1731:55:1;;;1713:74;;1701:2;1686:18;12161:43:0;1549:244:1;7051:108:0;;;;;;;;;;-1:-1:-1;7139:12:0;;7051:108;;;1944:25:1;;;1932:2;1917:18;7051:108:0;1798:177:1;16435:319:0;;;;;;;;;;-1:-1:-1;16435:319:0;;;;;:::i;:::-;;:::i;:::-;;7821:480;;;;;;;;;;-1:-1:-1;7821:480:0;;;;;:::i;:::-;;:::i;12651:22::-;;;;;;;;;;;;;;;;14630:238;;;;;;;;;;-1:-1:-1;14630:238:0;;;;;:::i;:::-;;:::i;6950:93::-;;;;;;;;;;-1:-1:-1;6950:93:0;;7033:2;2768:36:1;;2756:2;2741:18;6950:93:0;2626:184:1;12329:31:0;;;;;;;;;;-1:-1:-1;12329:31:0;;;;-1:-1:-1;;;;;12329:31:0;;;8309:215;;;;;;;;;;-1:-1:-1;8309:215:0;;;;;:::i;:::-;;:::i;16264:163::-;;;;;;;;;;-1:-1:-1;16264:163:0;;;;;:::i;:::-;;:::i;12621:21::-;;;;;;;;;;;;;;;;12211:38;;;;;;;;;;;;;;;12452:33;;;;;;;;;;-1:-1:-1;12452:33:0;;;;;;;;12682:51;;;;;;;;;;-1:-1:-1;12682:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12740:53;;;;;;;;;;-1:-1:-1;12740:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20645:457;;;;;;;;;;-1:-1:-1;20645:457:0;;;;;:::i;:::-;;:::i;12087:28::-;;;;;;;;;;;;;;;;12532:31;;;;;;;;;;-1:-1:-1;12532:31:0;;;;;;;;;;;7167:127;;;;;;;;;;-1:-1:-1;7167:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7268:18:0;7241:7;7268:18;;;;;;;;;;;;7167:127;10771:150;;;;;;;;;;;;;:::i;15751:84::-;;;;;;;;;;;;;:::i;21370:224::-;;;;;;;;;;-1:-1:-1;21370:224:0;;;;;:::i;:::-;;:::i;22525:316::-;;;;;;;;;;-1:-1:-1;22525:316:0;;;;;:::i;:::-;;:::i;12053:27::-;;;;;;;;;;;;;;;;10557:79;;;;;;;;;;-1:-1:-1;10622:6:0;;-1:-1:-1;;;;;10622:6:0;10557:79;;21110:252;;;;;;;;;;-1:-1:-1;21110:252:0;;;;;:::i;:::-;;:::i;6838:104::-;;;;;;;;;;;;;:::i;20130:281::-;;;;;;;;;;-1:-1:-1;20130:281:0;;;;;:::i;:::-;;:::i;14474:148::-;;;;;;;;;;;;;:::i;8532:401::-;;;;;;;;;;-1:-1:-1;8532:401:0;;;;;:::i;:::-;;:::i;7302:175::-;;;;;;;;;;-1:-1:-1;7302:175:0;;;;;:::i;:::-;;:::i;12122:30::-;;;;;;;;;;;;;;;;12800:58;;;;;;;;;;-1:-1:-1;12800:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12492:33;;;;;;;;;;-1:-1:-1;12492:33:0;;;;;;;;;;;16762:135;;;;;;;;;;-1:-1:-1;16762:135:0;;;;;:::i;:::-;;:::i;15982:274::-;;;;;;;;;;-1:-1:-1;15982:274:0;;;;;:::i;:::-;;:::i;15125:247::-;;;;;;;;;;-1:-1:-1;15125:247:0;;;;;:::i;:::-;;:::i;15380:363::-;;;;;;;;;;-1:-1:-1;15380:363:0;;;;;:::i;:::-;;:::i;12570:42::-;;;;;;;;;;-1:-1:-1;12570:42:0;;;;;;;;;;;14876:241;;;;;;;;;;-1:-1:-1;14876:241:0;;;;;:::i;:::-;;:::i;7485:151::-;;;;;;;;;;-1:-1:-1;7485:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;7601:18:0;;;7574:7;7601:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7485:151;12287:33;;;;;;;;;;;;;;;;21602:301;;;;;;;;;;-1:-1:-1;21602:301:0;;;;;:::i;:::-;;:::i;12369:37::-;;;;;;;;;;;;;;;;10929:244;;;;;;;;;;-1:-1:-1;10929:244:0;;;;;:::i;:::-;;:::i;22849:160::-;;;;;;;;;;;;;:::i;12414:29::-;;;;;;;;;;;;;;;;21957:104;;;;;;;;;;;;;:::i;6730:100::-;6784:13;6817:5;6810:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6730:100;:::o;7644:169::-;7727:4;7744:39;6181:10;7767:7;7776:6;7744:8;:39::i;:::-;-1:-1:-1;7801:4:0;7644:169;;;;;:::o;16435:319::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;;;;;;;;;16522:1:::1;16512:7;;:11;16508:208;;;16562:7;;16548:10;:21;;16540:77;;;::::0;-1:-1:-1;;;16540:77:0;;6023:2:1;16540:77:0::1;::::0;::::1;6005:21:1::0;6062:2;6042:18;;;6035:30;6101:34;6081:18;;;6074:62;6172:13;6152:18;;;6145:41;6203:19;;16540:77:0::1;5821:407:1::0;16540:77:0::1;16726:7;:20:::0;16435:319::o;16508:208::-:1;16669:1;16658:7;;:12;;16650:54;;;::::0;-1:-1:-1;;;16650:54:0;;6435:2:1;16650:54:0::1;::::0;::::1;6417:21:1::0;6474:2;6454:18;;;6447:30;6513:31;6493:18;;;6486:59;6562:18;;16650:54:0::1;6233:353:1::0;7821:480:0;7961:4;7978:36;7988:6;7996:9;8007:6;7978:9;:36::i;:::-;-1:-1:-1;;;;;8054:19:0;;8027:24;8054:19;;;:11;:19;;;;;;;;6181:10;8054:33;;;;;;;;8106:26;;;;8098:79;;;;-1:-1:-1;;;8098:79:0;;6793:2:1;8098:79:0;;;6775:21:1;6832:2;6812:18;;;6805:30;6871:34;6851:18;;;6844:62;6942:10;6922:18;;;6915:38;6970:19;;8098:79:0;6591:404:1;8098:79:0;8205:57;8214:6;6181:10;8255:6;8236:16;:25;8205:8;:57::i;:::-;-1:-1:-1;8289:4:0;;7821:480;-1:-1:-1;;;;7821:480:0:o;14630:238::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;14756:3:::1;14736:13;7139:12:::0;;;7051:108;14736:13:::1;:17;::::0;14752:1:::1;14736:17;:::i;:::-;:23;;;;:::i;:::-;14715:16;:9:::0;14727:4:::1;14715:16;:::i;:::-;:45;;14707:111;;;::::0;-1:-1:-1;;;14707:111:0;;7843:2:1;14707:111:0::1;::::0;::::1;7825:21:1::0;7882:2;7862:18;;;7855:30;7921:34;7901:18;;;7894:62;7992:23;7972:18;;;7965:51;8033:19;;14707:111:0::1;7641:417:1::0;14707:111:0::1;14844:16;:9:::0;14856:4:::1;14844:16;:::i;:::-;14829:12;:31:::0;-1:-1:-1;14630:238:0:o;8309:215::-;6181:10;8397:4;8446:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8446:34:0;;;;;;;;;;8397:4;;8414:80;;8437:7;;8446:47;;8483:10;;8446:47;:::i;:::-;8414:8;:80::i;16264:163::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;16356:1:::1;16343:9;:14;;16335:55;;;::::0;-1:-1:-1;;;16335:55:0;;8395:2:1;16335:55:0::1;::::0;::::1;8377:21:1::0;8434:2;8414:18;;;8407:30;8473;8453:18;;;8446:58;8521:18;;16335:55:0::1;8193:352:1::0;16335:55:0::1;16401:6;:18:::0;16264:163::o;20645:457::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;20742:13:::1;::::0;::::1;::::0;::::1;;;20741:14;20733:63;;;::::0;-1:-1:-1;;;20733:63:0;;8752:2:1;20733:63:0::1;::::0;::::1;8734:21:1::0;8791:2;8771:18;;;8764:30;8830:34;8810:18;;;8803:62;8901:6;8881:18;;;8874:34;8925:19;;20733:63:0::1;8550:400:1::0;20733:63:0::1;20830:1;20815:11;:16;;20807:67;;;::::0;-1:-1:-1;;;20807:67:0;;9157:2:1;20807:67:0::1;::::0;::::1;9139:21:1::0;9196:2;9176:18;;;9169:30;9235:34;9215:18;;;9208:62;9306:8;9286:18;;;9279:36;9332:19;;20807:67:0::1;8955:402:1::0;20807:67:0::1;20885:13;:23:::0;;20919:18;;;;;20885:23:::1;::::0;::::1;;::::0;::::1;20919:18:::0;;;;;;;;;::::1;::::0;;;;20885:23:::1;20954:13:::0;::::1;;:40:::0;::::1;;;-1:-1:-1::0;20971:18:0::1;::::0;:23;20954:40:::1;20950:145;;;21032:12;21011:18;:33:::0;21059:10:::1;:24:::0;;;20950:145:::1;20645:457:::0;;:::o;10771:150::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;10864:6:::1;::::0;10843:40:::1;::::0;10880:1:::1;::::0;-1:-1:-1;;;;;10864:6:0::1;::::0;10843:40:::1;::::0;10880:1;;10843:40:::1;10894:6;:19:::0;;;::::1;::::0;;10771:150::o;15751:84::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;15805:14:::1;:22:::0;;-1:-1:-1;;15805:22:0::1;::::0;;15751:84::o;21370:224::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;21466:23:::1;::::0;;;::::1;;;21458:85;;;::::0;-1:-1:-1;;;21458:85:0;;9564:2:1;21458:85:0::1;::::0;::::1;9546:21:1::0;9603:2;9583:18;;;9576:30;9642:34;9622:18;;;9615:62;9713:19;9693:18;;;9686:47;9750:19;;21458:85:0::1;9362:413:1::0;21458:85:0::1;-1:-1:-1::0;;;;;21554:23:0;;;::::1;;::::0;;;:8:::1;:23;::::0;;;;:32;;-1:-1:-1;;21554:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21370:224::o;22525:316::-;10684:6;;22610:4;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;-1:-1:-1;;;;;22635:19:0;::::1;22627:68;;;::::0;-1:-1:-1;;;22627:68:0;;9982:2:1;22627:68:0::1;::::0;::::1;9964:21:1::0;10021:2;10001:18;;;9994:30;10060:34;10040:18;;;10033:62;10131:6;10111:18;;;10104:34;10155:19;;22627:68:0::1;9780:400:1::0;22627:68:0::1;22733:38;::::0;;;;22765:4:::1;22733:38;::::0;::::1;1713:74:1::0;22706:24:0::1;::::0;-1:-1:-1;;;;;22733:23:0;::::1;::::0;::::1;::::0;1686:18:1;;22733:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22789:44;::::0;;;;-1:-1:-1;;;;;10566:55:1;;;22789:44:0::1;::::0;::::1;10548:74:1::0;10638:18;;;10631:34;;;22706:65:0;;-1:-1:-1;22789:22:0;;::::1;::::0;::::1;::::0;10521:18:1;;22789:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22782:51:::0;22525:316;-1:-1:-1;;;;22525:316:0:o;21110:252::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;-1:-1:-1;;;;;21206:33:0;::::1;21198:98;;;::::0;-1:-1:-1;;;21198:98:0;;11128:2:1;21198:98:0::1;::::0;::::1;11110:21:1::0;11167:2;11147:18;;;11140:30;11206:34;11186:18;;;11179:62;11277:22;11257:18;;;11250:50;11317:19;;21198:98:0::1;10926:416:1::0;21198:98:0::1;21307:16;:47:::0;;;::::1;-1:-1:-1::0;;;;;21307:47:0;;;::::1;::::0;;;::::1;::::0;;21110:252::o;6838:104::-;6894:13;6927:7;6920:14;;;;;:::i;20130:281::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;20227:5:::1;20223:129;;20265:13;-1:-1:-1::0;;;;;20257:21:0::1;:4;-1:-1:-1::0;;;;;20257:21:0::1;::::0;20249:91:::1;;;::::0;-1:-1:-1;;;20249:91:0;;11549:2:1;20249:91:0::1;::::0;::::1;11531:21:1::0;11588:2;11568:18;;;11561:30;11627:34;11607:18;;;11600:62;11698:27;11678:18;;;11671:55;11743:19;;20249:91:0::1;11347:421:1::0;20249:91:0::1;-1:-1:-1::0;;;;;20502:31:0;;;;;;;;:25;:31;;;;;;;;:39;;;;;-1:-1:-1;;20502:39:0;;;;;;;;15924:20;:29;;;;;;:42;;;;;;;;20645:457::o;14474:148::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;14538:15:::1;-1:-1:-1::0;;;;;14538:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14526:49:0::1;;14584:4;14591:15;-1:-1:-1::0;;;;;14591:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14526:88;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;12282:15:1;;;14526:88:0::1;::::0;::::1;12264:34:1::0;12334:15;;12314:18;;;12307:43;12176:18;;14526:88:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14474:148::o:0;8532:401::-;6181:10;8625:4;8669:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8669:34:0;;;;;;;;;;8722:35;;;;8714:85;;;;-1:-1:-1;;;8714:85:0;;12563:2:1;8714:85:0;;;12545:21:1;12602:2;12582:18;;;12575:30;12641:34;12621:18;;;12614:62;12712:7;12692:18;;;12685:35;12737:19;;8714:85:0;12361:401:1;8714:85:0;8827:67;6181:10;8850:7;8878:15;8859:16;:34;8827:8;:67::i;:::-;-1:-1:-1;8921:4:0;;8532:401;-1:-1:-1;;;8532:401:0:o;7302:175::-;7388:4;7405:42;6181:10;7429:9;7440:6;7405:9;:42::i;16762:135::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;-1:-1:-1;;;;;16849:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:40;;-1:-1:-1;;16849:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16762:135::o;15982:274::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;16078:10:::1;16073:126;;16124:13;-1:-1:-1::0;;;;;16113:24:0::1;:7;-1:-1:-1::0;;;;;16113:24:0::1;::::0;16105:82:::1;;;::::0;-1:-1:-1;;;16105:82:0;;12969:2:1;16105:82:0::1;::::0;::::1;12951:21:1::0;13008:2;12988:18;;;12981:30;13047:34;13027:18;;;13020:62;13118:15;13098:18;;;13091:43;13151:19;;16105:82:0::1;12767:409:1::0;16105:82:0::1;-1:-1:-1::0;;;;;15924:29:0;;;;;;:20;:29;;;;;:42;;-1:-1:-1;;15924:42:0;;;;;;;20645:457;;:::o;15125:247::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;15254:3:::1;15234:13;7139:12:::0;;;7051:108;15234:13:::1;:17;::::0;15250:1:::1;15234:17;:::i;:::-;:23;;;;:::i;:::-;15213:16;:9:::0;15225:4:::1;15213:16;:::i;:::-;:45;;15205:114;;;::::0;-1:-1:-1;;;15205:114:0;;13383:2:1;15205:114:0::1;::::0;::::1;13365:21:1::0;13422:2;13402:18;;;13395:30;13461:34;13441:18;;;13434:62;13532:26;13512:18;;;13505:54;13576:19;;15205:114:0::1;13181:420:1::0;15205:114:0::1;15348:16;:9:::0;15360:4:::1;15348:16;:::i;:::-;15330:15;:34:::0;-1:-1:-1;15125:247:0:o;15380:363::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;15511:6:::1;15491:13;7139:12:::0;;;7051:108;15491:13:::1;:17;::::0;15507:1:::1;15491:17;:::i;:::-;:26;;;;:::i;:::-;15471:16;:9:::0;15483:4:::1;15471:16;:::i;:::-;:46;;15463:113;;;::::0;-1:-1:-1;;;15463:113:0;;13808:2:1;15463:113:0::1;::::0;::::1;13790:21:1::0;13847:2;13827:18;;;13820:30;13886:34;13866:18;;;13859:62;13957:24;13937:18;;;13930:52;13999:19;;15463:113:0::1;13606:418:1::0;15463:113:0::1;15628:4;15608:13;7139:12:::0;;;7051:108;15608:13:::1;:17;::::0;15624:1:::1;15608:17;:::i;:::-;:24;;;;:::i;:::-;15595:9;:37;;15587:100;;;::::0;-1:-1:-1;;;15587:100:0;;14231:2:1;15587:100:0::1;::::0;::::1;14213:21:1::0;14270:2;14250:18;;;14243:30;14309:34;14289:18;;;14282:62;14380:20;14360:18;;;14353:48;14418:19;;15587:100:0::1;14029:414:1::0;15587:100:0::1;15719:16;:9:::0;15731:4:::1;15719:16;:::i;:::-;15698:18;:37:::0;-1:-1:-1;15380:363:0:o;14876:241::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;15003:3:::1;14983:13;7139:12:::0;;;7051:108;14983:13:::1;:17;::::0;14999:1:::1;14983:17;:::i;:::-;:23;;;;:::i;:::-;14962:16;:9:::0;14974:4:::1;14962:16;:::i;:::-;:45;;14954:112;;;::::0;-1:-1:-1;;;14954:112:0;;14650:2:1;14954:112:0::1;::::0;::::1;14632:21:1::0;14689:2;14669:18;;;14662:30;14728:34;14708:18;;;14701:62;14799:24;14779:18;;;14772:52;14841:19;;14954:112:0::1;14448:418:1::0;14954:112:0::1;15093:16;:9:::0;15105:4:::1;15093:16;:::i;:::-;15077:13;:32:::0;-1:-1:-1;14876:241:0:o;21602:301::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;21706:23:::1;::::0;;;::::1;;;21698:86;;;::::0;-1:-1:-1;;;21698:86:0;;15073:2:1;21698:86:0::1;::::0;::::1;15055:21:1::0;15112:2;15092:18;;;15085:30;15151:34;15131:18;;;15124:62;15222:20;15202:18;;;15195:48;15260:19;;21698:86:0::1;14871:414:1::0;21698:86:0::1;21800:9;21795:101;21811:20:::0;;::::1;21795:101;;;21878:6;21853:8;:22;21862:9;;21872:1;21862:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21853:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;21853:22:0;:31;;-1:-1:-1;;21853:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21833:3:::1;::::0;::::1;:::i;:::-;;;21795:101;;;;21602:301:::0;;;:::o;10929:244::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;-1:-1:-1;;;;;11018:22:0;::::1;11010:73;;;::::0;-1:-1:-1;;;11010:73:0;;15881:2:1;11010:73:0::1;::::0;::::1;15863:21:1::0;15920:2;15900:18;;;15893:30;15959:34;15939:18;;;15932:62;16030:8;16010:18;;;16003:36;16056:19;;11010:73:0::1;15679:402:1::0;11010:73:0::1;11120:6;::::0;11099:38:::1;::::0;-1:-1:-1;;;;;11099:38:0;;::::1;::::0;11120:6:::1;::::0;11099:38:::1;::::0;11120:6:::1;::::0;11099:38:::1;11148:6;:17:::0;;;::::1;-1:-1:-1::0;;;;;11148:17:0;;;::::1;::::0;;;::::1;::::0;;10929:244::o;22849:160::-;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;22943:58:::1;::::0;22907:12:::1;::::0;22951:10:::1;::::0;22975:21:::1;::::0;22907:12;22943:58;22907:12;22943:58;22975:21;22951:10;22943:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21957:104:::0;10684:6;;-1:-1:-1;;;;;10684:6:0;6181:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;5662:2:1;10676:67:0;;;5644:21:1;;;5681:18;;;5674:30;5740:34;5720:18;;;5713:62;5792:18;;10676:67:0;5460:356:1;10676:67:0;22022:23:::1;:31:::0;;;::::1;::::0;;21957:104::o;9850:380::-;-1:-1:-1;;;;;9986:19:0;;9978:68;;;;-1:-1:-1;;;9978:68:0;;16498:2:1;9978:68:0;;;16480:21:1;16537:2;16517:18;;;16510:30;16576:34;16556:18;;;16549:62;16647:6;16627:18;;;16620:34;16671:19;;9978:68:0;16296:400:1;9978:68:0;-1:-1:-1;;;;;10065:21:0;;10057:68;;;;-1:-1:-1;;;10057:68:0;;16903:2:1;10057:68:0;;;16885:21:1;16942:2;16922:18;;;16915:30;16981:34;16961:18;;;16954:62;17052:4;17032:18;;;17025:32;17074:19;;10057:68:0;16701:398:1;10057:68:0;-1:-1:-1;;;;;10138:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10190:32;;1944:25:1;;;10190:32:0;;1917:18:1;10190:32:0;;;;;;;9850:380;;;:::o;16905:2737::-;17012:1;17003:6;:10;16995:43;;;;-1:-1:-1;;;16995:43:0;;17306:2:1;16995:43:0;;;17288:21:1;17345:2;17325:18;;;17318:30;17384:22;17364:18;;;17357:50;17424:18;;16995:43:0;17104:344:1;16995:43:0;-1:-1:-1;;;;;17058:14:0;;;;;;:8;:14;;;;;;;;17057:15;17049:57;;;;-1:-1:-1;;;17049:57:0;;17655:2:1;17049:57:0;;;17637:21:1;17694:2;17674:18;;;17667:30;17733:31;17713:18;;;17706:59;17782:18;;17049:57:0;17453:353:1;17049:57:0;-1:-1:-1;;;;;17126:12:0;;;;;;:8;:12;;;;;;;;17125:13;17117:58;;;;-1:-1:-1;;;17117:58:0;;18013:2:1;17117:58:0;;;17995:21:1;;;18032:18;;;18025:30;18091:34;18071:18;;;18064:62;18143:18;;17117:58:0;17811:356:1;17117:58:0;17193:14;;;;17189:1163;;;10622:6;;-1:-1:-1;;;;;17228:15:0;;;10622:6;;17228:15;;;;:32;;-1:-1:-1;10622:6:0;;-1:-1:-1;;;;;17247:13:0;;;10622:6;;17247:13;;17228:32;:61;;;;-1:-1:-1;;;;;;17265:24:0;;;;;;:18;:24;;;;;;;;17264:25;17228:61;:88;;;;-1:-1:-1;;;;;;17294:22:0;;;;;;:18;:22;;;;;;;;17293:23;17228:88;17224:1117;;;17345:13;;;;;;;17337:53;;;;-1:-1:-1;;;17337:53:0;;18374:2:1;17337:53:0;;;18356:21:1;18413:2;18393:18;;;18386:30;18452:29;18432:18;;;18425:57;18499:18;;17337:53:0;18172:351:1;17337:53:0;17434:1;17413:18;;:22;:74;;;;;17476:10;;17455:18;;:31;;;;:::i;:::-;17439:12;:48;17413:74;17409:143;;;-1:-1:-1;;;;;17513:12:0;;;;;;:8;:12;;;;;:19;;-1:-1:-1;;17513:19:0;17528:4;17513:19;;;17409:143;-1:-1:-1;;;;;17598:31:0;;;;;;:25;:31;;;;;;;;:60;;;;-1:-1:-1;;;;;;17634:24:0;;;;;;:20;:24;;;;;;;;17633:25;17598:60;17594:732;;;17701:12;;17691:6;:22;;17683:79;;;;-1:-1:-1;;;17683:79:0;;18730:2:1;17683:79:0;;;18712:21:1;18769:2;18749:18;;;18742:30;18808:34;18788:18;;;18781:62;18879:14;18859:18;;;18852:42;18911:19;;17683:79:0;18528:408:1;17683:79:0;17819:15;;-1:-1:-1;;;;;7268:18:0;;7241:7;7268:18;;;;;;;;;;;17793:22;;:6;:22;:::i;:::-;:41;;17785:93;;;;-1:-1:-1;;;17785:93:0;;19143:2:1;17785:93:0;;;19125:21:1;19182:2;19162:18;;;19155:30;19221:34;19201:18;;;19194:62;19292:9;19272:18;;;19265:37;19319:19;;17785:93:0;18941:403:1;17785:93:0;17594:732;;;-1:-1:-1;;;;;17950:29:0;;;;;;:25;:29;;;;;;;;:60;;;;-1:-1:-1;;;;;;17984:26:0;;;;;;:20;:26;;;;;;;;17983:27;17950:60;17946:380;;;18053:13;;18043:6;:23;;18035:81;;;;-1:-1:-1;;;18035:81:0;;19551:2:1;18035:81:0;;;19533:21:1;19590:2;19570:18;;;19563:30;19629:34;19609:18;;;19602:62;19700:15;19680:18;;;19673:43;19733:19;;18035:81:0;19349:409:1;17946:380:0;-1:-1:-1;;;;;18164:24:0;;;;;;:20;:24;;;;;;;;18159:167;;18247:15;;-1:-1:-1;;;;;7268:18:0;;7241:7;7268:18;;;;;;;;;;;18221:22;;:6;:22;:::i;:::-;:41;;18213:93;;;;-1:-1:-1;;;18213:93:0;;19143:2:1;18213:93:0;;;19125:21:1;19182:2;19162:18;;;19155:30;19221:34;19201:18;;;19194:62;19292:9;19272:18;;;19265:37;19319:19;;18213:93:0;18941:403:1;18213:93:0;18413:4;18364:28;7268:18;;;;;;;;;;;18469;;18445:42;;;;;;;18501:22;;-1:-1:-1;18512:11:0;;;;;;;18501:22;:36;;;;-1:-1:-1;18528:9:0;;;;18527:10;18501:36;:72;;;;-1:-1:-1;;;;;;18542:31:0;;;;;;:25;:31;;;;;;;;18541:32;18501:72;:101;;;;-1:-1:-1;;;;;;18578:24:0;;;;;;:18;:24;;;;;;;;18577:25;18501:101;:128;;;;-1:-1:-1;;;;;;18607:22:0;;;;;;:18;:22;;;;;;;;18606:23;18501:128;18498:234;;;18646:9;:16;;-1:-1:-1;;18646:16:0;18658:4;18646:16;;;18677:11;:9;:11::i;:::-;18703:9;:17;;-1:-1:-1;;18703:17:0;;;18498:234;-1:-1:-1;;;;;18810:24:0;;18744:11;18810:24;;;:18;:24;;;;;;18744:11;;18810:24;;18809:25;:52;;;;-1:-1:-1;;;;;;18839:22:0;;;;;;:18;:22;;;;;;;;18838:23;18809:52;18806:783;;;18933:1;18912:18;;:22;:74;;;;;18975:10;;18954:18;;:31;;;;:::i;:::-;18938:12;:48;18912:74;18908:525;;;19038:3;19024:11;:6;19033:2;19024:11;:::i;:::-;:17;;;;:::i;:::-;19082:16;;19008:33;;-1:-1:-1;19060:54:0;;19076:4;;-1:-1:-1;;;;;19082:16:0;19008:33;19060:15;:54::i;:::-;18908:525;;;-1:-1:-1;;;;;19174:29:0;;;;;;:25;:29;;;;;;;;:44;;;;;19217:1;19207:7;;:11;19174:44;19170:263;;;19263:3;19253:7;;19244:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;19238:28;;19170:263;;;-1:-1:-1;;;;;19324:31:0;;;;;;:25;:31;;;;;;;;:45;;;;;19368:1;19359:6;;:10;19324:45;19321:112;;;19414:3;19405:6;;19396;:15;;;;:::i;:::-;:21;;;;:::i;:::-;19390:27;;19321:112;19450:7;;19447:87;;19477:41;19493:4;19507;19514:3;19477:15;:41::i;:::-;19558:19;19564:13;19558:3;:19;:::i;:::-;19548:29;;;;:::i;:::-;;;18806:783;19601:33;19617:4;19623:2;19627:6;19601:15;:33::i;:::-;16984:2658;;;;16905:2737;;;:::o;22069:448::-;22153:4;22109:23;7268:18;;;;;;;;;;;;22174:20;;;22170:59;;22211:7;22069:448::o;22170:59::-;22261:18;;;:23;;;:::i;:::-;22243:15;:41;22239:115;;;22319:18;;;:23;;;:::i;:::-;22301:41;;22239:115;22364:34;22382:15;22364:17;:34::i;:::-;22453:16;;22445:64;;22409:12;;-1:-1:-1;;;;;22453:16:0;;22483:21;;22409:12;22445:64;22409:12;22445:64;22483:21;22453:16;22445:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22069:448:0:o;8941:602::-;-1:-1:-1;;;;;9081:20:0;;9073:70;;;;-1:-1:-1;;;9073:70:0;;20098:2:1;9073:70:0;;;20080:21:1;20137:2;20117:18;;;20110:30;20176:34;20156:18;;;20149:62;20247:7;20227:18;;;20220:35;20272:19;;9073:70:0;19896:401:1;9073:70:0;-1:-1:-1;;;;;9162:23:0;;9154:71;;;;-1:-1:-1;;;9154:71:0;;20504:2:1;9154:71:0;;;20486:21:1;20543:2;20523:18;;;20516:30;20582:34;20562:18;;;20555:62;20653:5;20633:18;;;20626:33;20676:19;;9154:71:0;20302:399:1;9154:71:0;-1:-1:-1;;;;;9262:17:0;;9238:21;9262:17;;;;;;;;;;;9298:23;;;;9290:74;;;;-1:-1:-1;;;9290:74:0;;20908:2:1;9290:74:0;;;20890:21:1;20947:2;20927:18;;;20920:30;20986:34;20966:18;;;20959:62;21057:8;21037:18;;;21030:36;21083:19;;9290:74:0;20706:402:1;9290:74:0;-1:-1:-1;;;;;9392:17:0;;;:9;:17;;;;;;;;;;;9412:22;;;9392:42;;9452:20;;;;;;;;:30;;9428:6;;9392:9;9452:30;;9428:6;;9452:30;:::i;:::-;;;;;;;;9517:9;-1:-1:-1;;;;;9500:35:0;9509:6;-1:-1:-1;;;;;9500:35:0;;9528:6;9500:35;;;;1944:25:1;;1932:2;1917:18;;1798:177;9500:35:0;;;;;;;;9062:481;8941:602;;;:::o;19650:472::-;19741:16;;;19755:1;19741:16;;;;;;;;19717:21;;19741:16;;;;;;;;;;-1:-1:-1;19741:16:0;19717:40;;19786:4;19768;19773:1;19768:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19768:23:0;;;-1:-1:-1;;;;;19768:23:0;;;;;19812:15;-1:-1:-1;;;;;19812:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19802:4;19807:1;19802:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;19802:32:0;;;-1:-1:-1;;;;;19802:32:0;;;;;19845:62;19862:4;19877:15;19895:11;19845:8;:62::i;:::-;19918:196;;;;;-1:-1:-1;;;;;19918:15:0;:66;;;;:196;;19999:11;;20025:1;;20041:4;;20068;;20088:15;;19918:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19706:416;19650:472;:::o;14:607:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:154::-;-1:-1:-1;;;;;705:5:1;701:54;694:5;691:65;681:93;;770:1;767;760:12;785:315;853:6;861;914:2;902:9;893:7;889:23;885:32;882:52;;;930:1;927;920:12;882:52;969:9;956:23;988:31;1013:5;988:31;:::i;:::-;1038:5;1090:2;1075:18;;;;1062:32;;-1:-1:-1;;;785:315:1:o;1297:247::-;1356:6;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1464:9;1451:23;1483:31;1508:5;1483:31;:::i;:::-;1533:5;1297:247;-1:-1:-1;;;1297:247:1:o;1980:180::-;2039:6;2092:2;2080:9;2071:7;2067:23;2063:32;2060:52;;;2108:1;2105;2098:12;2060:52;-1:-1:-1;2131:23:1;;1980:180;-1:-1:-1;1980:180:1:o;2165:456::-;2242:6;2250;2258;2311:2;2299:9;2290:7;2286:23;2282:32;2279:52;;;2327:1;2324;2317:12;2279:52;2366:9;2353:23;2385:31;2410:5;2385:31;:::i;:::-;2435:5;-1:-1:-1;2492:2:1;2477:18;;2464:32;2505:33;2464:32;2505:33;:::i;:::-;2165:456;;2557:7;;-1:-1:-1;;;2611:2:1;2596:18;;;;2583:32;;2165:456::o;3046:118::-;3132:5;3125:13;3118:21;3111:5;3108:32;3098:60;;3154:1;3151;3144:12;3169:309;3234:6;3242;3295:2;3283:9;3274:7;3270:23;3266:32;3263:52;;;3311:1;3308;3301:12;3263:52;3350:9;3337:23;3369:28;3391:5;3369:28;:::i;3483:382::-;3548:6;3556;3609:2;3597:9;3588:7;3584:23;3580:32;3577:52;;;3625:1;3622;3615:12;3577:52;3664:9;3651:23;3683:31;3708:5;3683:31;:::i;:::-;3733:5;-1:-1:-1;3790:2:1;3775:18;;3762:32;3803:30;3762:32;3803:30;:::i;:::-;3852:7;3842:17;;;3483:382;;;;;:::o;3870:388::-;3938:6;3946;3999:2;3987:9;3978:7;3974:23;3970:32;3967:52;;;4015:1;4012;4005:12;3967:52;4054:9;4041:23;4073:31;4098:5;4073:31;:::i;:::-;4123:5;-1:-1:-1;4180:2:1;4165:18;;4152:32;4193:33;4152:32;4193:33;:::i;4263:750::-;4355:6;4363;4371;4424:2;4412:9;4403:7;4399:23;4395:32;4392:52;;;4440:1;4437;4430:12;4392:52;4480:9;4467:23;4509:18;4550:2;4542:6;4539:14;4536:34;;;4566:1;4563;4556:12;4536:34;4604:6;4593:9;4589:22;4579:32;;4649:7;4642:4;4638:2;4634:13;4630:27;4620:55;;4671:1;4668;4661:12;4620:55;4711:2;4698:16;4737:2;4729:6;4726:14;4723:34;;;4753:1;4750;4743:12;4723:34;4808:7;4801:4;4791:6;4788:1;4784:14;4780:2;4776:23;4772:34;4769:47;4766:67;;;4829:1;4826;4819:12;4766:67;4860:4;4852:13;;;;-1:-1:-1;4884:6:1;-1:-1:-1;;4925:20:1;;4912:34;4955:28;4912:34;4955:28;:::i;:::-;5002:5;4992:15;;;4263:750;;;;;:::o;5018:437::-;5097:1;5093:12;;;;5140;;;5161:61;;5215:4;5207:6;5203:17;5193:27;;5161:61;5268:2;5260:6;5257:14;5237:18;5234:38;5231:218;;5305:77;5302:1;5295:88;5406:4;5403:1;5396:15;5434:4;5431:1;5424:15;5231:218;;5018:437;;;:::o;7000:184::-;7052:77;7049:1;7042:88;7149:4;7146:1;7139:15;7173:4;7170:1;7163:15;7189:168;7262:9;;;7293;;7310:15;;;7304:22;;7290:37;7280:71;;7331:18;;:::i;7362:274::-;7402:1;7428;7418:189;;7463:77;7460:1;7453:88;7564:4;7561:1;7554:15;7592:4;7589:1;7582:15;7418:189;-1:-1:-1;7621:9:1;;7362:274::o;8063:125::-;8128:9;;;8149:10;;;8146:36;;;8162:18;;:::i;10185:184::-;10255:6;10308:2;10296:9;10287:7;10283:23;10279:32;10276:52;;;10324:1;10321;10314:12;10276:52;-1:-1:-1;10347:16:1;;10185:184;-1:-1:-1;10185:184:1:o;10676:245::-;10743:6;10796:2;10784:9;10775:7;10771:23;10767:32;10764:52;;;10812:1;10809;10802:12;10764:52;10844:9;10838:16;10863:28;10885:5;10863:28;:::i;11773:251::-;11843:6;11896:2;11884:9;11875:7;11871:23;11867:32;11864:52;;;11912:1;11909;11902:12;11864:52;11944:9;11938:16;11963:31;11988:5;11963:31;:::i;15290:184::-;15342:77;15339:1;15332:88;15439:4;15436:1;15429:15;15463:4;15460:1;15453:15;15479:195;15518:3;15549:66;15542:5;15539:77;15536:103;;15619:18;;:::i;:::-;-1:-1:-1;15666:1:1;15655:13;;15479:195::o;19763:128::-;19830:9;;;19851:11;;;19848:37;;;19865:18;;:::i;21302:1026::-;21564:4;21612:3;21601:9;21597:19;21643:6;21632:9;21625:25;21669:2;21707:6;21702:2;21691:9;21687:18;21680:34;21750:3;21745:2;21734:9;21730:18;21723:31;21774:6;21809;21803:13;21840:6;21832;21825:22;21878:3;21867:9;21863:19;21856:26;;21917:2;21909:6;21905:15;21891:29;;21938:1;21948:218;21962:6;21959:1;21956:13;21948:218;;;22027:13;;-1:-1:-1;;;;;22023:62:1;22011:75;;22141:15;;;;22106:12;;;;21984:1;21977:9;21948:218;;;-1:-1:-1;;;;;;;22222:55:1;;;;22217:2;22202:18;;22195:83;-1:-1:-1;;;22309:3:1;22294:19;22287:35;22183:3;21302:1026;-1:-1:-1;;;21302:1026:1:o

Swarm Source

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