ETH Price: $2,888.57 (-5.84%)
Gas: 1 Gwei

Token

METH TOKEN (METH)
 

Overview

Max Total Supply

1,000,000,000,000 METH

Holders

123

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,327,364,214.236289036 METH

Value
$0.00
0x0b97924d9876fb4a8f13a81de64517d5585eb072
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:
METH

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-24
*/

/**
 * 
 * $METH - METH TOKEN
 *
 * 
 * 💻 Website: https://themethtoken.com/
 * 💬 Telegram: http://t.me/methtoken
 * Twitter: https://twitter.com/MethToken
 *
 *
 * 
 *                                                                                                                     
 *                                                                                                                    
 *                                     `,;i+#zznxxMMMMxxxnzz#+i;:,`                                                   
 *                               `:*zx@############################@Wxz+i:.`                                          
 *                           `;zM##########################################@Mn#i:.                                    
 *                          n#####################################################Wx#*:`                              
 *                         `############################################################Wn+;.                         
 *                         ,#################################################################Wn.                      
 *                         i###################################################################*                      
 *                         +###################################################################z                      
 *                         z###################################################################M                      
 *                         x###################################################################@`                     
 *                         @####################################################################,                     
 *                        `#####################################################################i                     
 *                        ,#####################################################################+                     
 *                        ;#####################################################################n                     
 *                        +#####################################################################M                     
 *                        z#####################################################################@                     
 *                        x######################################################################`                    
 *                        W######################################################################,                    
 *                       `#######################################################################;                    
 *                       ,#######################################################################*                    
 *                       i########################################################################                    
 *                       +#######################################################################n                    
 *                       n#######################################################################x                    
 *                       M#######################################################################W                    
 *                      `@########################################################################`                   
 *                      ,#########################################################################.                   
 *                      i#########################################################################:                   
 *                     :x#########################################################################i                   
 *               .:i+n@###########################################################################M*,                 
 *        `:*#nW@####################################################################################Wn#i:.           
 *     `ix@################################################################################################@x#i`      
 *    ,W########################################################################################################n:    
 *   .W############################################################################################################   
 *   i#############################################################################################################,  
 *   *############################################################################################################M   
 *   :############################################################################################################:   
 *    ###########################################################################################################+    
 *     iW#######################################################################################################*     
 *       :#M##################################################################################################M:      
 *          .:*zx@##########################################################################################x;        
 *                .:*zM#################################################################################Wzi.          
 *                     .*M#######################################################################@Mn#*:.              
 *                       ;########@#####################################################M++@#####z                    
 *                       ,#######W;###x##zznxxMMW@@@##########@@WMxnz+*i::..````.:i#M####  +#####z                    
 *                       `#####x@@ n#n             `````...```                       :x#M  :#####z                    
 *                        @###n *W ;@.                                                 *@` :######                    
 *                        W#### :x `i                                                   ,  i#####*                    
 *                        MM@#z ,+                                                         +#x###:                    
 *                        xi*#x `.                                                         xz x##.                    
 *                        x;i#M                                                            +. x#@                     
 *                        x;z#M                                                               @#x`zMn*`               
 *                        WM@#z                        `....,,,::::::::::::,,...``           .##z,n###+               
 *                ,zMMn+,.####:``.,:;;i*+##znnxMMWW@@##############################@WWMxxz#+**##+  :@#i               
 *                z##MnW#M####@#################################################################W###*#;               
 *                x#*  `z###########################################################################iW,               
 *                nx    `@############################################################################`               
 *                *+     x##########################################################################x,                
 *                `i  .#xW##########################################################################W                 
 *                `   +#############################################################################@                 
 *                z.  ;#############################################################################@                 
 *                xz  .#############################################################################W                 
 *                n@`  @#@@#########################################################################x                 
 *                z#:  M##+#########################################################################z                 
 *                +#i  x##;W##################################W@####################################*                 
 *                :#+  n##i#################################@;  +###################################,                 
 *                `@#  z##*;################################+    x#################################W                  
 *                 zz  ###*.################################.    ;#################################z                  
 *                 :z  +##i @##############################x     `@################################:                  
 *                  *  *##; W##############################+      z###############################W                   
 *                  `  i##: x##############################,      ,###############################+.                  
 *                     i##, n#############################M        @##############################.*`                 
 *                     :##. n#############################;       .##############################n z,                 
 *                     ,##` z############################+        .##############################; M,                 
 *                     `#@  ###x:n#####################@i          @#z:#M#######################W `@,                 
 *                      @@` +##x  .*x@###############@#.           z#M   .;+nW##################+ :#.                 
 *                      x#` *##x     `:*zxW@#####Wx#;`             :##,       `,i*#zxxMWWWWW####. z@`                 
 *                      ##: i##@`          ``..``                   M@#                    ;###x .@i                  
 *                      :#z :###;                                   *M,                    +###*.M#                   
 *                       W#*,###x                                   .@`                    x###M@n                    
 *                       *##@####i                   i               W:  .`               `@###@+                     
 *                       `M#####Wi                  `#               n+  ,*               :####.                      
 *                        .M####M`                  ;z `             zM  *#               +###.                       
 *                         `#@###*                  +MW#M;           n#.`W*               x##W                        
 *                           ####W                  .@####+        ,x##+#@`              `@##z                        
 *                           *####;   ;              :W####+      *####@#*               :###;                        
 *                           ;####z   ;:             *W#####z`  .z######x:            ,  +##@`                        
 *                           .####W   `z            #in#@####@xx@#####W, z,          .;  x##x                         
 *                            W####.   W           #*`@M############@;x. :x          ;, `@##*                         
 *                            z####i   @,  .`    `:x i#z+*+n####W@#zx ;n  W, :,      +` :###.                         
 *                            i#####  `@i :#    ;,M: z@**`i#zWx. .#i+  n: ## ,#      z  ###x                          
 *                            `@###x  `#z M.    zix i+#:*.,z;*i  + *:; :n ;M,,W`     n  M##i                          
 *                             n###@  .#M,n    `*M*`W*#.#  x:i` *z`;`x  W..@;;x;    ,# .##@`                          
 *                             ;####. .##+*    ;z#,*[email protected]  W:*  z#..:@, z+`@i++#    *; i##z                           
 *                              W###; .##W:    *#@`Wz@M*z `@i#  n*; #W* iW`W##:M    z. n##:                           
 *                              *###+ `@##,    +#Mi#z#nW# `#+n  n*# WM# ,#;WWn.@    M `@#M                            
 *                              `W##n  M##.    ##Mx#W#@##ni#zM  zz@,@#Mnn#M@#@,#`  .n ;##*                            
 *                               i##@  ###,    ##@@##########@;`z##@#########@*@`  i+ z#@`                            
 *                                M##, :##;    ################@#############@@W   n;`@##                             
 *                                :##*  M#*    .;i*++#zzzznnnnnnnnxxxxxxxxMMW@@n   @`;#@.                             
 *                                 n#x  *#z                                    `  :W z#z                              
 *                                 .@#, `@W  ,          `:**+*;:`                 #n`@#.                              
 *                                  +#z  z#. #         *@########Wn+;.            W+i#z                               
 *                                   M#: ;#+ z`          ,*nW#########@x,        ;#;M@.                               
 *                                   :#W,`#W *,              .;*#nxxn#i`         x#;##                                
 *                                    z#@*W#;:i                                `n#@z@`                                
 *                                    `W####M.+                                n##@@+                                 
 *                                     i#####zz                               ;####W`                                 
 *                                      n#####x                               x####i                                  
 *                                      .W####W                              :####M                                   
 *                                       ;#####.                             M####i                                   
 *                                        +####:                            i####M                                    
 *                                         n###+                           .@####;                                    
 *                                         `x##M`                         `M####n                                     
 *                                          `n##M,                       .M####W.                                     
 *                                            +###z,                   `*@####M,                                      
 *                                             :M###M+:`          `,i#M#####xi                                        
 *                                               ;x#####Wxz###znxW######Mzi.                                          
 *                                                 .*nW########@WMn#*;,`                                              
 *                                                     `.,,,..`                                
 * 
 * Tokenomics:
 * 
 * Normal Buy Tax = 10% 
 * Normal Sell Tax = 10%
 * Early snipers/movers advantage will be limited.
 * Anti-dump Tokenomics where sell tax will be proportional to price impact
 * 
 * 10% of all taxes collected will be redistributed to reward the holders
 *
 * Max Tx at the start - 0.5% of the supply, Max Wallet 1.5% 
 * Tax will keep reducing by 1% every 400 transactions to make it more affordable 
 * and long-term growth of the project 
 * 
 * 
 * SPDX-License-Identifier: UNLICENSED 
 * 
*/

pragma solidity ^0.8.4;

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

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if(a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

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

contract METH is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _bots;
    mapping (address => User) private trader;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = unicode"METH TOKEN";
    string private constant _symbol = unicode"METH";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 3;
    uint256 private _launchTime;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private _FeeAddress;
    address payable private _marketingWalletAddress;
    address payable private _donationWalletAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private _communityMode = false;
    bool private inSwap = false;
    uint256 private _launchBlock = 0;
    uint256 private _botsTaxed = 0;
    uint256 private _impactMultiplier = 1000;
    bool public swapAndLiquifyEnabled = true;

    //Keep it 0.5% of the supply
    uint256 public _maxTxAmount = 1000000000000 * 10**9;
    //1.5% of the supply
    uint256 public _maxWallet = 15000000000 * 10**9;

    uint256 public numTokensSellToAddToLiquidity = 1000000000 * 10**9;


    struct User {
        uint256 buyCD;
        bool exists;
    }

    // event MaxBuyAmountUpdated(uint _maxBuyAmount);
    event CooldownEnabledUpdated(bool _cooldown);
    event FeeMultiplierUpdated(uint _multiplier);
    event FeeRateUpdated(uint _rate);

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress, address payable marketingWalletAddress, address payable donationWalletAddress) {
        _FeeAddress = FeeAddress;
        _marketingWalletAddress = marketingWalletAddress;
        _donationWalletAddress = donationWalletAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[marketingWalletAddress] = true;
        _isExcludedFromFee[donationWalletAddress] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

    function botsTaxed() public view returns (uint256) {
        return _botsTaxed;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(from != owner() && to != owner()) {
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            require(!_bots[from] && !_bots[to]);
            
            if(!trader[msg.sender].exists) {
                trader[msg.sender] = User(0,true);
            }
            uint256 totalFee = 10;
            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                require(amount + balanceOf(to) <= _maxWallet, "Cannot exceed max wallet");

                if(block.number < _launchBlock + 3) {
                    totalFee = 80;
                    _botsTaxed++;
                } else if(block.timestamp > _launchTime + (300 minutes)) {
                    totalFee = 0;
                } else if(block.timestamp > _launchTime + (270 minutes)) {
                    totalFee = 1;
                } else if(block.timestamp > _launchTime + (240 minutes)) {
                    totalFee = 2;
                } else if(block.timestamp > _launchTime + (210 minutes)) {
                    totalFee = 3;
                } else if(block.timestamp > _launchTime + (180 minutes)) {
                    totalFee = 4;
                } else if(block.timestamp > _launchTime + (150 minutes)) {
                    totalFee = 5;
                } else if(block.timestamp > _launchTime + (120 minutes)) {
                    totalFee = 6;
                } else if(block.timestamp > _launchTime + (90 minutes)) {
                    totalFee = 7;
                } else if(block.timestamp > _launchTime + (60 minutes)) {
                    totalFee = 8;
                } else if(block.timestamp > _launchTime + (30 minutes)) {
                    totalFee = 9;
                } else if(block.timestamp > _launchTime + (2 minutes)) {
                    totalFee = 10;
                } else if (block.timestamp > _launchTime + (45 seconds)) {
                    totalFee = 20;
                } else {
                    totalFee = 40;
                }
                _taxFee = (totalFee).div(10);
                _teamFee = (totalFee.mul(9)).div(10);
                
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            // sell
            if(!inSwap && from != uniswapV2Pair && tradingOpen) {

                //price impact based sell tax
                uint256 amountImpactMultiplier = amount.mul(_impactMultiplier);
                uint256 priceImpact = amountImpactMultiplier.div(balanceOf(uniswapV2Pair).add(amount));
                
                if (priceImpact <= 10) {
                    totalFee = 10;
                } else if (priceImpact >= 40) {
                    totalFee = 40;
                } else if (priceImpact.mod(2) != 0) {
                    totalFee = ++priceImpact;
                } else {
                    totalFee = priceImpact;
                }
                
                _taxFee = (totalFee).div(10);
                _teamFee = (totalFee.mul(9)).div(10);

                //To limit big dumps by the contract before the sells
                if(contractTokenBalance >= _maxTxAmount) {
                    contractTokenBalance = _maxTxAmount;
                }

                if (contractTokenBalance >= numTokensSellToAddToLiquidity) {
                    swapTokensForEth(numTokensSellToAddToLiquidity);
                }

                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || _communityMode){
            takeFee = false;
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 sendETHToFee(uint256 amount) private {
        _marketingWalletAddress.transfer(amount.mul(8).div(10));
        _donationWalletAddress.transfer(amount.mul(2).div(10));
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _transferStandard(sender, recipient, amount);
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 

        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _maxTxAmount = 5000000001 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingOpen = true;
        _launchTime = block.timestamp;
        _launchBlock = block.number;
    }

    function setMarketingWallet (address payable marketingWalletAddress) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[_marketingWalletAddress] = false;
        _marketingWalletAddress = marketingWalletAddress;
        _isExcludedFromFee[marketingWalletAddress] = true;
    }

    function removeTransactionLimits() external onlyOwner() {
        //Meaning 2.0% max limits on transaction, max possible wallet
        _maxTxAmount = 20000000000 * 10**9;
    }

    function increaseMaxWallet() external onlyOwner() {
        //Max wallet increased to 2.0% of the supply if at all it is ever required
        _maxWallet = 20000000000 * 10**9;
    }

    function setSwapThresholdAmount(uint256 SwapThresholdAmount) external onlyOwner() {
        require(SwapThresholdAmount > 1000000000, "Swap Threshold Amount cannot be less than 1 Billion");
        numTokensSellToAddToLiquidity = SwapThresholdAmount * 10**9;
    }
    
    function claimTokens () public onlyOwner {
        payable(_marketingWalletAddress).transfer(address(this).balance);
    }
    
    function claimOtherTokens(IERC20 tokenAddress, address walletaddress) external onlyOwner() {
        tokenAddress.transfer(walletaddress, tokenAddress.balanceOf(address(this)));
    }
    
    function clearStuckBalance (address payable walletaddress) external onlyOwner() {
        walletaddress.transfer(address(this).balance);
    }

    function excludeFromFee (address payable ad) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[ad] = true;
    }
    
    function includeToFee (address payable ad) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[ad] = false;
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        //Cannot set bots after 20 minutes of launch time making users fund SAFU
        if (block.timestamp < _launchTime + (20 minutes)) {
            for (uint i = 0; i < bots_.length; i++) {
                if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                    _bots[bots_[i]] = true;
                }
            }
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        _bots[notbot] = false;
    }
    
    function isBot(address ad) public view returns (bool) {
        return _bots[ad];
    }
    
    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split the contract balance into halves
        // add the marketing wallet
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

        // capture the contract's current ETH balance.
        // this is so that we can capture exactly the amount of ETH that the
        // swap creates, and not make the liquidity event include any ETH that
        // has been manually sent to the contract
        uint256 initialBalance = address(this).balance;

        // swap tokens for ETH
        swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered

        // how much ETH did we just swap into?
        uint256 newBalance = address(this).balance.sub(initialBalance);
        //90
        uint256 marketingshare = newBalance.mul(80).div(100);
        payable(_marketingWalletAddress).transfer(marketingshare);
        newBalance -= marketingshare;
        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);
        
        emit SwapAndLiquify(half, newBalance, otherHalf);
    }

    function timeToBuy(address buyer) public view returns (uint) {
        return block.timestamp - trader[buyer].buyCD;
    }
    
    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"},{"internalType":"address payable","name":"donationWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"botsTaxed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenAddress","type":"address"},{"internalType":"address","name":"walletaddress","type":"address"}],"name":"claimOtherTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"walletaddress","type":"address"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"increaseMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"SwapThresholdAmount","type":"uint256"}],"name":"setSwapThresholdAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea00000600019620002ff565b6200002990600019620002db565b6008556001600a8190556003600b819055600d829055600e556013805462ffffff60a01b19169055600060148190556015556103e86016556017805460ff19169091179055683635c9adc5dea0000060185567d02ab486cedc0000601955670de0b6b3a7640000601a55348015620000a057600080fd5b506040516200298b3803806200298b833981016040819052620000c39162000292565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b038086166001600160a01b03199283161790925560108054858416908316179055601180549284169290911691909117905560085460026000620001503390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200018a6200026660201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260059093528183208054851660019081179091558782168452828420805486168217905586821684528284208054861682179055908516835291208054909216179055620002063390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200025591815260200190565b60405180910390a350505062000320565b6000546001600160a01b031690565b80516001600160a01b03811681146200028d57600080fd5b919050565b600080600060608486031215620002a7578283fd5b620002b28462000275565b9250620002c26020850162000275565b9150620002d26040850162000275565b90509250925092565b600082821015620002fa57634e487b7160e01b81526011600452602481fd5b500390565b6000826200031b57634e487b7160e01b81526012600452602481fd5b500690565b61265b80620003306000396000f3fe6080604052600436106101f25760003560e01c806370a082311161010d578063b515566a116100a0578063c9567bf91161006f578063c9567bf914610589578063cf0848f71461059e578063d12a7688146105be578063db92dbb6146105d4578063dd62ed3e146105e957600080fd5b8063b515566a1461051f578063b667110d1461053f578063c1b207d514610554578063c49b9a801461056957600080fd5b806382247ec0116100dc57806382247ec0146104945780638da5cb5b146104aa57806395d89b41146104d2578063a9059cbb146104ff57600080fd5b806370a0823114610429578063715018a614610449578063764d72bf1461045e5780637d1db4a51461047e57600080fd5b80633ae7dc201161018557806348c54b9d1161015457806348c54b9d146103ba5780634a74bb02146103cf5780635d098b38146103e957806368a3a6a51461040957600080fd5b80633ae7dc201461032c5780633bbac5791461034c578063437823ec1461038557806343d8bf33146103a557600080fd5b8063273123b7116101c1578063273123b7146102b957806327f3a72a146102db57806329e04b4a146102f0578063313ce5671461031057600080fd5b806306fdde03146101fe578063095ea7b31461024357806318160ddd1461027357806323b872dd1461029957600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152600a81526926a2aa24102a27a5a2a760b11b60208201525b60405161023a919061240f565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004612276565b61062f565b604051901515815260200161023a565b34801561027f57600080fd5b50683635c9adc5dea000005b60405190815260200161023a565b3480156102a557600080fd5b506102636102b4366004612236565b610646565b3480156102c557600080fd5b506102d96102d43660046121c6565b6106af565b005b3480156102e757600080fd5b5061028b610703565b3480156102fc57600080fd5b506102d961030b3660046123b2565b610713565b34801561031c57600080fd5b506040516009815260200161023a565b34801561033857600080fd5b506102d96103473660046123a0565b6107c0565b34801561035857600080fd5b506102636103673660046121c6565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561039157600080fd5b506102d96103a03660046121c6565b6108ee565b3480156103b157600080fd5b5060155461028b565b3480156103c657600080fd5b506102d9610932565b3480156103db57600080fd5b506017546102639060ff1681565b3480156103f557600080fd5b506102d96104043660046121c6565b610998565b34801561041557600080fd5b5061028b6104243660046121c6565b610a08565b34801561043557600080fd5b5061028b6104443660046121c6565b610a2b565b34801561045557600080fd5b506102d9610a4d565b34801561046a57600080fd5b506102d96104793660046121c6565b610ac1565b34801561048a57600080fd5b5061028b60185481565b3480156104a057600080fd5b5061028b60195481565b3480156104b657600080fd5b506000546040516001600160a01b03909116815260200161023a565b3480156104de57600080fd5b5060408051808201909152600481526309a8aa8960e31b602082015261022d565b34801561050b57600080fd5b5061026361051a366004612276565b610b24565b34801561052b57600080fd5b506102d961053a3660046122a1565b610b31565b34801561054b57600080fd5b506102d9610c8a565b34801561056057600080fd5b506102d9610cc3565b34801561057557600080fd5b506102d9610584366004612368565b610cfc565b34801561059557600080fd5b506102d9610d6d565b3480156105aa57600080fd5b506102d96105b93660046121c6565b611137565b3480156105ca57600080fd5b5061028b601a5481565b3480156105e057600080fd5b5061028b611178565b3480156105f557600080fd5b5061028b6106043660046121fe565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061063c338484611190565b5060015b92915050565b60006106538484846112b4565b6106a584336106a0856040518060600160405280602881526020016125fe602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061199c565b611190565b5060019392505050565b6000546001600160a01b031633146106e25760405162461bcd60e51b81526004016106d990612462565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b600061070e30610a2b565b905090565b6000546001600160a01b0316331461073d5760405162461bcd60e51b81526004016106d990612462565b633b9aca0081116107ac5760405162461bcd60e51b815260206004820152603360248201527f53776170205468726573686f6c6420416d6f756e742063616e6e6f74206265206044820152723632b9b9903a3430b71018902134b63634b7b760691b60648201526084016106d9565b6107ba81633b9aca00612533565b601a5550565b6000546001600160a01b031633146107ea5760405162461bcd60e51b81526004016106d990612462565b6040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a082319060240160206040518083038186803b15801561083357600080fd5b505afa158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b91906123ca565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e99190612384565b505050565b600f546001600160a01b0316336001600160a01b03161461090e57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461095c5760405162461bcd60e51b81526004016106d990612462565b6010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610995573d6000803e3d6000fd5b50565b600f546001600160a01b0316336001600160a01b0316146109b857600080fd5b601080546001600160a01b03908116600090815260056020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b0381166000908152600760205260408120546106409042612552565b6001600160a01b038116600090815260026020526040812054610640906119d6565b6000546001600160a01b03163314610a775760405162461bcd60e51b81526004016106d990612462565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610aeb5760405162461bcd60e51b81526004016106d990612462565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610b20573d6000803e3d6000fd5b5050565b600061063c3384846112b4565b6000546001600160a01b03163314610b5b5760405162461bcd60e51b81526004016106d990612462565b600c54610b6a906104b0612507565b4210156109955760005b8151811015610b205760135482516001600160a01b0390911690839083908110610bae57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614158015610c0d575060125482516001600160a01b0390911690839083908110610bf957634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614155b15610c7857600160066000848481518110610c3857634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610c8281612569565b915050610b74565b6000546001600160a01b03163314610cb45760405162461bcd60e51b81526004016106d990612462565b6801158e460913d00000601955565b6000546001600160a01b03163314610ced5760405162461bcd60e51b81526004016106d990612462565b6801158e460913d00000601855565b6000546001600160a01b03163314610d265760405162461bcd60e51b81526004016106d990612462565b6017805460ff19168215159081179091556040519081527f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599060200160405180910390a150565b6000546001600160a01b03163314610d975760405162461bcd60e51b81526004016106d990612462565b601354600160a01b900460ff1615610df15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106d9565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610e2e3082683635c9adc5dea00000611190565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6757600080fd5b505afa158015610e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9f91906121e2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f91906121e2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610f6757600080fd5b505af1158015610f7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9f91906121e2565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730610fcf81610a2b565b600080610fe46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061108091906123e2565b50506745639182808eca006018555060135460125460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b1580156110e057600080fd5b505af11580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612384565b50506013805460ff60a01b1916600160a01b17905542600c5543601455565b600f546001600160a01b0316336001600160a01b03161461115757600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b60135460009061070e906001600160a01b0316610a2b565b6001600160a01b0383166111f25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d9565b6001600160a01b0382166112535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113185760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d9565b6001600160a01b03821661137a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106d9565b600081116113dc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106d9565b6000546001600160a01b0384811691161480159061140857506000546001600160a01b03838116911614155b1561192b576018548111156114705760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016106d9565b6001600160a01b03831660009081526006602052604090205460ff161580156114b257506001600160a01b03821660009081526006602052604090205460ff16155b6114bb57600080fd5b3360009081526007602052604090206001015460ff16611511576040805180820182526000808252600160208084018281523384526007909152939091209151825591519101805460ff19169115159190911790555b601354600a906001600160a01b03858116911614801561153f57506012546001600160a01b03848116911614155b801561156457506001600160a01b03831660009081526005602052604090205460ff16155b156117eb57601354600160a01b900460ff166115c25760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016106d9565b6019546115ce84610a2b565b6115d89084612507565b11156116265760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420657863656564206d61782077616c6c6574000000000000000060448201526064016106d9565b601454611634906003612507565b431015611658575060158054605091600061164e83612569565b91905055506117c2565b600c5461166790614650612507565b421115611676575060006117c2565b600c5461168590613f48612507565b421115611694575060016117c2565b600c546116a390613840612507565b4211156116b2575060026117c2565b600c546116c190613138612507565b4211156116d0575060036117c2565b600c546116df90612a30612507565b4211156116ee575060046117c2565b600c546116fd90612328612507565b42111561170c575060056117c2565b600c5461171b90611c20612507565b42111561172a575060066117c2565b600c5461173990611518612507565b421115611748575060076117c2565b600c5461175790610e10612507565b421115611766575060086117c2565b600c5461177590610708612507565b421115611784575060096117c2565b600c54611792906078612507565b4211156117a15750600a6117c2565b600c546117af90602d612507565b4211156117be575060146117c2565b5060285b6117cd81600a611a5a565b600a9081556117e7906117e1836009611a9c565b90611a5a565b600b555b60006117f630610a2b565b601354909150600160b01b900460ff1615801561182157506013546001600160a01b03868116911614155b80156118365750601354600160a01b900460ff165b1561192857600061185260165485611a9c90919063ffffffff16565b6013549091506000906118849061187d908790611877906001600160a01b0316610a2b565b90611b1b565b8390611a5a565b9050600a811161189757600a93506118cf565b602881106118a857602893506118cf565b6118b3816002611b7a565b156118cb576118c181612569565b90508093506118cf565b8093505b6118da84600a611a5a565b600a9081556118ee906117e1866009611a9c565b600b5560185483106119005760185492505b601a54831061191457611914601a54611bbc565b4780156119245761192447611d61565b5050505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061196d57506001600160a01b03831660009081526005602052604090205460ff165b806119815750601354600160a81b900460ff165b1561198a575060005b61199684848484611df0565b50505050565b600081848411156119c05760405162461bcd60e51b81526004016106d9919061240f565b5060006119cd8486612552565b95945050505050565b6000600854821115611a3d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106d9565b6000611a47611e1e565b9050611a538382611a5a565b9392505050565b6000611a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e41565b600082611aab57506000610640565b6000611ab78385612533565b905082611ac4858361251f565b14611a535760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106d9565b600080611b288385612507565b905083811015611a535760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d9565b6000611a5383836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250611e6f565b6013805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611c1257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c6657600080fd5b505afa158015611c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9e91906121e2565b81600181518110611cbf57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601254611ce59130911684611190565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d1e908590600090869030904290600401612497565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b50506013805460ff60b01b1916905550505050565b6010546001600160a01b03166108fc611d80600a6117e1856008611a9c565b6040518115909202916000818181858888f19350505050158015611da8573d6000803e3d6000fd5b506011546001600160a01b03166108fc611dc8600a6117e1856002611a9c565b6040518115909202916000818181858888f19350505050158015610b20573d6000803e3d6000fd5b80611dfd57611dfd611ea3565b611e08848484611ed1565b8061199657611996600d54600a55600e54600b55565b6000806000611e2b611fc8565b9092509050611e3a8282611a5a565b9250505090565b60008183611e625760405162461bcd60e51b81526004016106d9919061240f565b5060006119cd848661251f565b60008183611e905760405162461bcd60e51b81526004016106d9919061240f565b50611e9b8385612584565b949350505050565b600a54158015611eb35750600b54155b15611eba57565b600a8054600d55600b8054600e5560009182905555565b600080600080600080611ee38761200a565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611f159087612067565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611f449086611b1b565b6001600160a01b038916600090815260026020526040902055611f66816120a9565b611f7084836120f3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611fb591815260200190565b60405180910390a3505050505050505050565b6008546000908190683635c9adc5dea00000611fe48282611a5a565b82101561200157505060085492683635c9adc5dea0000092509050565b90939092509050565b60008060008060008060008060006120278a600a54600b54612117565b9250925092506000612037611e1e565b9050600080600061204a8e878787612166565b919e509c509a509598509396509194505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199c565b60006120b3611e1e565b905060006120c18383611a9c565b306000908152600260205260409020549091506120de9082611b1b565b30600090815260026020526040902055505050565b6008546121009083612067565b6008556009546121109082611b1b565b6009555050565b600080808061212b60646117e18989611a9c565b9050600061213e60646117e18a89611a9c565b90506000612156826121508b86612067565b90612067565b9992985090965090945050505050565b60008080806121758886611a9c565b905060006121838887611a9c565b905060006121918888611a9c565b905060006121a3826121508686612067565b939b939a50919850919650505050505050565b80356121c1816125da565b919050565b6000602082840312156121d7578081fd5b8135611a53816125da565b6000602082840312156121f3578081fd5b8151611a53816125da565b60008060408385031215612210578081fd5b823561221b816125da565b9150602083013561222b816125da565b809150509250929050565b60008060006060848603121561224a578081fd5b8335612255816125da565b92506020840135612265816125da565b929592945050506040919091013590565b60008060408385031215612288578182fd5b8235612293816125da565b946020939093013593505050565b600060208083850312156122b3578182fd5b823567ffffffffffffffff808211156122ca578384fd5b818501915085601f8301126122dd578384fd5b8135818111156122ef576122ef6125c4565b8060051b604051601f19603f83011681018181108582111715612314576123146125c4565b604052828152858101935084860182860187018a1015612332578788fd5b8795505b8386101561235b57612347816121b6565b855260019590950194938601938601612336565b5098975050505050505050565b600060208284031215612379578081fd5b8135611a53816125ef565b600060208284031215612395578081fd5b8151611a53816125ef565b60008060408385031215612210578182fd5b6000602082840312156123c3578081fd5b5035919050565b6000602082840312156123db578081fd5b5051919050565b6000806000606084860312156123f6578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561243b5785810183015185820160400152820161241f565b8181111561244c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156124e65784516001600160a01b0316835293830193918301916001016124c1565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561251a5761251a612598565b500190565b60008261252e5761252e6125ae565b500490565b600081600019048311821515161561254d5761254d612598565b500290565b60008282101561256457612564612598565b500390565b600060001982141561257d5761257d612598565b5060010190565b600082612593576125936125ae565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461099557600080fd5b801515811461099557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206e237c635072d2fe38f658154940e5377233ca6b1c3ce941bbe0f95fdcbfa87f64736f6c6343000804003300000000000000000000000092aed2a7d4c265c1fbae445c1543ef3294e6d3d200000000000000000000000092aed2a7d4c265c1fbae445c1543ef3294e6d3d2000000000000000000000000e94a12d5e74d8c6bc1925f0d60815a11cccfe09a

Deployed Bytecode

0x6080604052600436106101f25760003560e01c806370a082311161010d578063b515566a116100a0578063c9567bf91161006f578063c9567bf914610589578063cf0848f71461059e578063d12a7688146105be578063db92dbb6146105d4578063dd62ed3e146105e957600080fd5b8063b515566a1461051f578063b667110d1461053f578063c1b207d514610554578063c49b9a801461056957600080fd5b806382247ec0116100dc57806382247ec0146104945780638da5cb5b146104aa57806395d89b41146104d2578063a9059cbb146104ff57600080fd5b806370a0823114610429578063715018a614610449578063764d72bf1461045e5780637d1db4a51461047e57600080fd5b80633ae7dc201161018557806348c54b9d1161015457806348c54b9d146103ba5780634a74bb02146103cf5780635d098b38146103e957806368a3a6a51461040957600080fd5b80633ae7dc201461032c5780633bbac5791461034c578063437823ec1461038557806343d8bf33146103a557600080fd5b8063273123b7116101c1578063273123b7146102b957806327f3a72a146102db57806329e04b4a146102f0578063313ce5671461031057600080fd5b806306fdde03146101fe578063095ea7b31461024357806318160ddd1461027357806323b872dd1461029957600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152600a81526926a2aa24102a27a5a2a760b11b60208201525b60405161023a919061240f565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004612276565b61062f565b604051901515815260200161023a565b34801561027f57600080fd5b50683635c9adc5dea000005b60405190815260200161023a565b3480156102a557600080fd5b506102636102b4366004612236565b610646565b3480156102c557600080fd5b506102d96102d43660046121c6565b6106af565b005b3480156102e757600080fd5b5061028b610703565b3480156102fc57600080fd5b506102d961030b3660046123b2565b610713565b34801561031c57600080fd5b506040516009815260200161023a565b34801561033857600080fd5b506102d96103473660046123a0565b6107c0565b34801561035857600080fd5b506102636103673660046121c6565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561039157600080fd5b506102d96103a03660046121c6565b6108ee565b3480156103b157600080fd5b5060155461028b565b3480156103c657600080fd5b506102d9610932565b3480156103db57600080fd5b506017546102639060ff1681565b3480156103f557600080fd5b506102d96104043660046121c6565b610998565b34801561041557600080fd5b5061028b6104243660046121c6565b610a08565b34801561043557600080fd5b5061028b6104443660046121c6565b610a2b565b34801561045557600080fd5b506102d9610a4d565b34801561046a57600080fd5b506102d96104793660046121c6565b610ac1565b34801561048a57600080fd5b5061028b60185481565b3480156104a057600080fd5b5061028b60195481565b3480156104b657600080fd5b506000546040516001600160a01b03909116815260200161023a565b3480156104de57600080fd5b5060408051808201909152600481526309a8aa8960e31b602082015261022d565b34801561050b57600080fd5b5061026361051a366004612276565b610b24565b34801561052b57600080fd5b506102d961053a3660046122a1565b610b31565b34801561054b57600080fd5b506102d9610c8a565b34801561056057600080fd5b506102d9610cc3565b34801561057557600080fd5b506102d9610584366004612368565b610cfc565b34801561059557600080fd5b506102d9610d6d565b3480156105aa57600080fd5b506102d96105b93660046121c6565b611137565b3480156105ca57600080fd5b5061028b601a5481565b3480156105e057600080fd5b5061028b611178565b3480156105f557600080fd5b5061028b6106043660046121fe565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600061063c338484611190565b5060015b92915050565b60006106538484846112b4565b6106a584336106a0856040518060600160405280602881526020016125fe602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061199c565b611190565b5060019392505050565b6000546001600160a01b031633146106e25760405162461bcd60e51b81526004016106d990612462565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b600061070e30610a2b565b905090565b6000546001600160a01b0316331461073d5760405162461bcd60e51b81526004016106d990612462565b633b9aca0081116107ac5760405162461bcd60e51b815260206004820152603360248201527f53776170205468726573686f6c6420416d6f756e742063616e6e6f74206265206044820152723632b9b9903a3430b71018902134b63634b7b760691b60648201526084016106d9565b6107ba81633b9aca00612533565b601a5550565b6000546001600160a01b031633146107ea5760405162461bcd60e51b81526004016106d990612462565b6040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a082319060240160206040518083038186803b15801561083357600080fd5b505afa158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b91906123ca565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e99190612384565b505050565b600f546001600160a01b0316336001600160a01b03161461090e57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461095c5760405162461bcd60e51b81526004016106d990612462565b6010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610995573d6000803e3d6000fd5b50565b600f546001600160a01b0316336001600160a01b0316146109b857600080fd5b601080546001600160a01b03908116600090815260056020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b0381166000908152600760205260408120546106409042612552565b6001600160a01b038116600090815260026020526040812054610640906119d6565b6000546001600160a01b03163314610a775760405162461bcd60e51b81526004016106d990612462565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610aeb5760405162461bcd60e51b81526004016106d990612462565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610b20573d6000803e3d6000fd5b5050565b600061063c3384846112b4565b6000546001600160a01b03163314610b5b5760405162461bcd60e51b81526004016106d990612462565b600c54610b6a906104b0612507565b4210156109955760005b8151811015610b205760135482516001600160a01b0390911690839083908110610bae57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614158015610c0d575060125482516001600160a01b0390911690839083908110610bf957634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614155b15610c7857600160066000848481518110610c3857634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610c8281612569565b915050610b74565b6000546001600160a01b03163314610cb45760405162461bcd60e51b81526004016106d990612462565b6801158e460913d00000601955565b6000546001600160a01b03163314610ced5760405162461bcd60e51b81526004016106d990612462565b6801158e460913d00000601855565b6000546001600160a01b03163314610d265760405162461bcd60e51b81526004016106d990612462565b6017805460ff19168215159081179091556040519081527f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599060200160405180910390a150565b6000546001600160a01b03163314610d975760405162461bcd60e51b81526004016106d990612462565b601354600160a01b900460ff1615610df15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106d9565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610e2e3082683635c9adc5dea00000611190565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6757600080fd5b505afa158015610e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9f91906121e2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f91906121e2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610f6757600080fd5b505af1158015610f7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9f91906121e2565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730610fcf81610a2b565b600080610fe46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061108091906123e2565b50506745639182808eca006018555060135460125460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b1580156110e057600080fd5b505af11580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612384565b50506013805460ff60a01b1916600160a01b17905542600c5543601455565b600f546001600160a01b0316336001600160a01b03161461115757600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b60135460009061070e906001600160a01b0316610a2b565b6001600160a01b0383166111f25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d9565b6001600160a01b0382166112535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113185760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d9565b6001600160a01b03821661137a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106d9565b600081116113dc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106d9565b6000546001600160a01b0384811691161480159061140857506000546001600160a01b03838116911614155b1561192b576018548111156114705760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016106d9565b6001600160a01b03831660009081526006602052604090205460ff161580156114b257506001600160a01b03821660009081526006602052604090205460ff16155b6114bb57600080fd5b3360009081526007602052604090206001015460ff16611511576040805180820182526000808252600160208084018281523384526007909152939091209151825591519101805460ff19169115159190911790555b601354600a906001600160a01b03858116911614801561153f57506012546001600160a01b03848116911614155b801561156457506001600160a01b03831660009081526005602052604090205460ff16155b156117eb57601354600160a01b900460ff166115c25760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016106d9565b6019546115ce84610a2b565b6115d89084612507565b11156116265760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420657863656564206d61782077616c6c6574000000000000000060448201526064016106d9565b601454611634906003612507565b431015611658575060158054605091600061164e83612569565b91905055506117c2565b600c5461166790614650612507565b421115611676575060006117c2565b600c5461168590613f48612507565b421115611694575060016117c2565b600c546116a390613840612507565b4211156116b2575060026117c2565b600c546116c190613138612507565b4211156116d0575060036117c2565b600c546116df90612a30612507565b4211156116ee575060046117c2565b600c546116fd90612328612507565b42111561170c575060056117c2565b600c5461171b90611c20612507565b42111561172a575060066117c2565b600c5461173990611518612507565b421115611748575060076117c2565b600c5461175790610e10612507565b421115611766575060086117c2565b600c5461177590610708612507565b421115611784575060096117c2565b600c54611792906078612507565b4211156117a15750600a6117c2565b600c546117af90602d612507565b4211156117be575060146117c2565b5060285b6117cd81600a611a5a565b600a9081556117e7906117e1836009611a9c565b90611a5a565b600b555b60006117f630610a2b565b601354909150600160b01b900460ff1615801561182157506013546001600160a01b03868116911614155b80156118365750601354600160a01b900460ff165b1561192857600061185260165485611a9c90919063ffffffff16565b6013549091506000906118849061187d908790611877906001600160a01b0316610a2b565b90611b1b565b8390611a5a565b9050600a811161189757600a93506118cf565b602881106118a857602893506118cf565b6118b3816002611b7a565b156118cb576118c181612569565b90508093506118cf565b8093505b6118da84600a611a5a565b600a9081556118ee906117e1866009611a9c565b600b5560185483106119005760185492505b601a54831061191457611914601a54611bbc565b4780156119245761192447611d61565b5050505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061196d57506001600160a01b03831660009081526005602052604090205460ff165b806119815750601354600160a81b900460ff165b1561198a575060005b61199684848484611df0565b50505050565b600081848411156119c05760405162461bcd60e51b81526004016106d9919061240f565b5060006119cd8486612552565b95945050505050565b6000600854821115611a3d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106d9565b6000611a47611e1e565b9050611a538382611a5a565b9392505050565b6000611a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e41565b600082611aab57506000610640565b6000611ab78385612533565b905082611ac4858361251f565b14611a535760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106d9565b600080611b288385612507565b905083811015611a535760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d9565b6000611a5383836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250611e6f565b6013805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611c1257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c6657600080fd5b505afa158015611c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9e91906121e2565b81600181518110611cbf57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601254611ce59130911684611190565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d1e908590600090869030904290600401612497565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b50506013805460ff60b01b1916905550505050565b6010546001600160a01b03166108fc611d80600a6117e1856008611a9c565b6040518115909202916000818181858888f19350505050158015611da8573d6000803e3d6000fd5b506011546001600160a01b03166108fc611dc8600a6117e1856002611a9c565b6040518115909202916000818181858888f19350505050158015610b20573d6000803e3d6000fd5b80611dfd57611dfd611ea3565b611e08848484611ed1565b8061199657611996600d54600a55600e54600b55565b6000806000611e2b611fc8565b9092509050611e3a8282611a5a565b9250505090565b60008183611e625760405162461bcd60e51b81526004016106d9919061240f565b5060006119cd848661251f565b60008183611e905760405162461bcd60e51b81526004016106d9919061240f565b50611e9b8385612584565b949350505050565b600a54158015611eb35750600b54155b15611eba57565b600a8054600d55600b8054600e5560009182905555565b600080600080600080611ee38761200a565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611f159087612067565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611f449086611b1b565b6001600160a01b038916600090815260026020526040902055611f66816120a9565b611f7084836120f3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611fb591815260200190565b60405180910390a3505050505050505050565b6008546000908190683635c9adc5dea00000611fe48282611a5a565b82101561200157505060085492683635c9adc5dea0000092509050565b90939092509050565b60008060008060008060008060006120278a600a54600b54612117565b9250925092506000612037611e1e565b9050600080600061204a8e878787612166565b919e509c509a509598509396509194505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199c565b60006120b3611e1e565b905060006120c18383611a9c565b306000908152600260205260409020549091506120de9082611b1b565b30600090815260026020526040902055505050565b6008546121009083612067565b6008556009546121109082611b1b565b6009555050565b600080808061212b60646117e18989611a9c565b9050600061213e60646117e18a89611a9c565b90506000612156826121508b86612067565b90612067565b9992985090965090945050505050565b60008080806121758886611a9c565b905060006121838887611a9c565b905060006121918888611a9c565b905060006121a3826121508686612067565b939b939a50919850919650505050505050565b80356121c1816125da565b919050565b6000602082840312156121d7578081fd5b8135611a53816125da565b6000602082840312156121f3578081fd5b8151611a53816125da565b60008060408385031215612210578081fd5b823561221b816125da565b9150602083013561222b816125da565b809150509250929050565b60008060006060848603121561224a578081fd5b8335612255816125da565b92506020840135612265816125da565b929592945050506040919091013590565b60008060408385031215612288578182fd5b8235612293816125da565b946020939093013593505050565b600060208083850312156122b3578182fd5b823567ffffffffffffffff808211156122ca578384fd5b818501915085601f8301126122dd578384fd5b8135818111156122ef576122ef6125c4565b8060051b604051601f19603f83011681018181108582111715612314576123146125c4565b604052828152858101935084860182860187018a1015612332578788fd5b8795505b8386101561235b57612347816121b6565b855260019590950194938601938601612336565b5098975050505050505050565b600060208284031215612379578081fd5b8135611a53816125ef565b600060208284031215612395578081fd5b8151611a53816125ef565b60008060408385031215612210578182fd5b6000602082840312156123c3578081fd5b5035919050565b6000602082840312156123db578081fd5b5051919050565b6000806000606084860312156123f6578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561243b5785810183015185820160400152820161241f565b8181111561244c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156124e65784516001600160a01b0316835293830193918301916001016124c1565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561251a5761251a612598565b500190565b60008261252e5761252e6125ae565b500490565b600081600019048311821515161561254d5761254d612598565b500290565b60008282101561256457612564612598565b500390565b600060001982141561257d5761257d612598565b5060010190565b600082612593576125936125ae565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461099557600080fd5b801515811461099557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206e237c635072d2fe38f658154940e5377233ca6b1c3ce941bbe0f95fdcbfa87f64736f6c63430008040033

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

00000000000000000000000092aed2a7d4c265c1fbae445c1543ef3294e6d3d200000000000000000000000092aed2a7d4c265c1fbae445c1543ef3294e6d3d2000000000000000000000000e94a12d5e74d8c6bc1925f0d60815a11cccfe09a

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x92aED2A7d4c265C1fbAE445c1543eF3294e6D3d2
Arg [1] : marketingWalletAddress (address): 0x92aED2A7d4c265C1fbAE445c1543eF3294e6D3d2
Arg [2] : donationWalletAddress (address): 0xe94a12D5E74D8c6bc1925F0d60815a11cCcfe09A

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000092aed2a7d4c265c1fbae445c1543ef3294e6d3d2
Arg [1] : 00000000000000000000000092aed2a7d4c265c1fbae445c1543ef3294e6d3d2
Arg [2] : 000000000000000000000000e94a12d5e74d8c6bc1925f0d60815a11cccfe09a


Deployed Bytecode Sourcemap

19008:18775:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21957:83;;;;;;;;;;-1:-1:-1;22027:5:0;;;;;;;;;;;;-1:-1:-1;;;22027:5:0;;;;21957:83;;;;;;;:::i;:::-;;;;;;;;22904:161;;;;;;;;;;-1:-1:-1;22904:161:0;;;;;:::i;:::-;;:::i;:::-;;;6557:14:1;;6550:22;6532:41;;6520:2;6505:18;22904:161:0;6487:92:1;22234:95:0;;;;;;;;;;-1:-1:-1;19504:21:0;22234:95;;;12783:25:1;;;12771:2;12756:18;22234:95:0;12738:76:1;23073:313:0;;;;;;;;;;-1:-1:-1;23073:313:0;;;;;:::i;:::-;;:::i;35321:89::-;;;;;;;;;;-1:-1:-1;35321:89:0;;;;;:::i;:::-;;:::i;:::-;;35523:100;;;;;;;;;;;;;:::i;33780:267::-;;;;;;;;;;-1:-1:-1;33780:267:0;;;;;:::i;:::-;;:::i;22143:83::-;;;;;;;;;;-1:-1:-1;22143:83:0;;19768:1;13949:36:1;;13937:2;13922:18;22143:83:0;13904:87:1;34195:185:0;;;;;;;;;;-1:-1:-1;34195:185:0;;;;;:::i;:::-;;:::i;35422:89::-;;;;;;;;;;-1:-1:-1;35422:89:0;;;;;:::i;:::-;-1:-1:-1;;;;;35494:9:0;35470:4;35494:9;;;:5;:9;;;;;;;;;35422:89;34544:149;;;;;;;;;;-1:-1:-1;34544:149:0;;;;;:::i;:::-;;:::i;22337:87::-;;;;;;;;;;-1:-1:-1;22406:10:0;;22337:87;;34059:124;;;;;;;;;;;;;:::i;20449:40::-;;;;;;;;;;-1:-1:-1;20449:40:0;;;;;;;;33077:314;;;;;;;;;;-1:-1:-1;33077:314:0;;;;;:::i;:::-;;:::i;37543:124::-;;;;;;;;;;-1:-1:-1;37543:124:0;;;;;:::i;:::-;;:::i;22432:138::-;;;;;;;;;;-1:-1:-1;22432:138:0;;;;;:::i;:::-;;:::i;18087:148::-;;;;;;;;;;;;;:::i;34392:144::-;;;;;;;;;;-1:-1:-1;34392:144:0;;;;;:::i;:::-;;:::i;20532:51::-;;;;;;;;;;;;;;;;20616:47;;;;;;;;;;;;;;;;17873:79;;;;;;;;;;-1:-1:-1;17911:7:0;17938:6;17873:79;;-1:-1:-1;;;;;17938:6:0;;;5130:51:1;;5118:2;5103:18;17873:79:0;5085:102:1;22048:87:0;;;;;;;;;;-1:-1:-1;22120:7:0;;;;;;;;;;;;-1:-1:-1;;;22120:7:0;;;;22048:87;;22578:167;;;;;;;;;;-1:-1:-1;22578:167:0;;;;;:::i;:::-;;:::i;34865:444::-;;;;;;;;;;-1:-1:-1;34865:444:0;;;;;:::i;:::-;;:::i;33587:185::-;;;;;;;;;;;;;:::i;33399:180::-;;;;;;;;;;;;;:::i;36152:171::-;;;;;;;;;;-1:-1:-1;36152:171:0;;;;;:::i;:::-;;:::i;32238:831::-;;;;;;;;;;;;;:::i;34705:148::-;;;;;;;;;;-1:-1:-1;34705:148:0;;;;;:::i;:::-;;:::i;20672:65::-;;;;;;;;;;;;;;;;37679:101;;;;;;;;;;;;;:::i;22753:143::-;;;;;;;;;;-1:-1:-1;22753:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;22861:18:0;;;22834:7;22861:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;22753:143;22904:161;22979:4;22996:39;15362:10;23019:7;23028:6;22996:8;:39::i;:::-;-1:-1:-1;23053:4:0;22904:161;;;;;:::o;23073:313::-;23171:4;23188:36;23198:6;23206:9;23217:6;23188:9;:36::i;:::-;23235:121;23244:6;15362:10;23266:89;23304:6;23266:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23266:19:0;;;;;;:11;:19;;;;;;;;15362:10;23266:33;;;;;;;;;;:37;:89::i;:::-;23235:8;:121::i;:::-;-1:-1:-1;23374:4:0;23073:313;;;;;:::o;35321:89::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;35381:13:0::1;35397:5;35381:13:::0;;;:5:::1;:13;::::0;;;;:21;;-1:-1:-1;;35381:21:0::1;::::0;;35321:89::o;35523:100::-;35567:4;35591:24;35609:4;35591:9;:24::i;:::-;35584:31;;35523:100;:::o;33780:267::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;33903:10:::1;33881:19;:32;33873:96;;;::::0;-1:-1:-1;;;33873:96:0;;9321:2:1;33873:96:0::1;::::0;::::1;9303:21:1::0;9360:2;9340:18;;;9333:30;9399:34;9379:18;;;9372:62;-1:-1:-1;;;9450:18:1;;;9443:49;9509:19;;33873:96:0::1;9293:241:1::0;33873:96:0::1;34012:27;:19:::0;34034:5:::1;34012:27;:::i;:::-;33980:29;:59:::0;-1:-1:-1;33780:267:0:o;34195:185::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;34334:37:::1;::::0;-1:-1:-1;;;34334:37:0;;34365:4:::1;34334:37;::::0;::::1;5130:51:1::0;-1:-1:-1;;;;;34297:21:0;::::1;::::0;::::1;::::0;34319:13;;34297:21;;34334:22:::1;::::0;5103:18:1;;34334:37:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34297:75;::::0;-1:-1:-1;;;;;;34297:75:0::1;::::0;;;;;;-1:-1:-1;;;;;5693:32:1;;;34297:75:0::1;::::0;::::1;5675:51:1::0;5742:18;;;5735:34;5648:18;;34297:75:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;34195:185:::0;;:::o;34544:149::-;34633:11;;-1:-1:-1;;;;;34633:11:0;15362:10;-1:-1:-1;;;;;34617:27:0;;34609:36;;;;;;-1:-1:-1;;;;;34656:22:0;;;;;:18;:22;;;;;:29;;-1:-1:-1;;34656:29:0;34681:4;34656:29;;;34544:149::o;34059:124::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;34119:23:::1;::::0;34111:64:::1;::::0;-1:-1:-1;;;;;34119:23:0;;::::1;::::0;34153:21:::1;34111:64:::0;::::1;;;::::0;34119:23:::1;34111:64:::0;34119:23;34111:64;34153:21;34119:23;34111:64;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;34059:124::o:0;33077:314::-;33190:11;;-1:-1:-1;;;;;33190:11:0;15362:10;-1:-1:-1;;;;;33174:27:0;;33166:36;;;;;;33232:23;;;-1:-1:-1;;;;;33232:23:0;;;33259:5;33213:43;;;:18;:43;;;;;;:51;;-1:-1:-1;;33213:51:0;;;;;;33275:48;;-1:-1:-1;;;;;;33275:48:0;;;;;;;;;;;33334:42;;;;;:49;;;;;-1:-1:-1;33334:49:0;;;33077:314::o;37543:124::-;-1:-1:-1;;;;;37640:13:0;;37598:4;37640:13;;;:6;:13;;;;;:19;37622:37;;:15;:37;:::i;22432:138::-;-1:-1:-1;;;;;22545:16:0;;22498:7;22545:16;;;:7;:16;;;;;;22525:37;;:19;:37::i;18087:148::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;18194:1:::1;18178:6:::0;;18157:40:::1;::::0;-1:-1:-1;;;;;18178:6:0;;::::1;::::0;18157:40:::1;::::0;18194:1;;18157:40:::1;18225:1;18208:19:::0;;-1:-1:-1;;;;;;18208:19:0::1;::::0;;18087:148::o;34392:144::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;34483:45:::1;::::0;-1:-1:-1;;;;;34483:22:0;::::1;::::0;34506:21:::1;34483:45:::0;::::1;;;::::0;::::1;::::0;;;34506:21;34483:22;:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;34392:144:::0;:::o;22578:167::-;22656:4;22673:42;15362:10;22697:9;22708:6;22673:9;:42::i;34865:444::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;35038:11:::1;::::0;:26:::1;::::0;35053:10:::1;35038:26;:::i;:::-;35020:15;:44;35016:286;;;35086:6;35081:210;35102:5;:12;35098:1;:16;35081:210;;;35156:13;::::0;35144:8;;-1:-1:-1;;;;;35156:13:0;;::::1;::::0;35144:5;;35150:1;;35144:8;::::1;;;-1:-1:-1::0;;;35144:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;35144:25:0::1;;;:65;;;;-1:-1:-1::0;35193:15:0::1;::::0;35173:8;;-1:-1:-1;;;;;35193:15:0;;::::1;::::0;35173:5;;35179:1;;35173:8;::::1;;;-1:-1:-1::0;;;35173:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;35173:36:0::1;;;35144:65;35140:136;;;35252:4;35234:5;:15;35240:5;35246:1;35240:8;;;;;;-1:-1:-1::0;;;35240:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;35234:15:0::1;-1:-1:-1::0;;;;;35234:15:0::1;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;35140:136;35116:3:::0;::::1;::::0;::::1;:::i;:::-;;;;35081:210;;33587:185:::0;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;33745:19:::1;33732:10;:32:::0;33587:185::o;33399:180::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;33552:19:::1;33537:12;:34:::0;33399:180::o;36152:171::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;36229:21:::1;:32:::0;;-1:-1:-1;;36229:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;36277:38:::1;::::0;6532:41:1;;;36277:38:0::1;::::0;6520:2:1;6505:18;36277:38:0::1;;;;;;;36152:171:::0;:::o;32238:831::-;18000:6;;-1:-1:-1;;;;;18000:6:0;15362:10;18000:22;17992:67;;;;-1:-1:-1;;;17992:67:0;;;;;;;:::i;:::-;32302:11:::1;::::0;-1:-1:-1;;;32302:11:0;::::1;;;32301:12;32293:47;;;::::0;-1:-1:-1;;;32293:47:0;;12134:2:1;32293:47:0::1;::::0;::::1;12116:21:1::0;12173:2;12153:18;;;12146:30;12212:25;12192:18;;;12185:53;12255:18;;32293:47:0::1;12106:173:1::0;32293:47:0::1;32462:15;:34:::0;;-1:-1:-1;;;;;;32462:34:0::1;32408:42;32462:34:::0;;::::1;::::0;;;32507:58:::1;32524:4;32408:42:::0;19504:21:::1;32507:8;:58::i;:::-;32610:16;-1:-1:-1::0;;;;;32610:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;32592:56:0::1;;32657:4;32664:16;-1:-1:-1::0;;;;;32664:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32592:96;::::0;-1:-1:-1;;;;;;32592:96:0::1;::::0;;;;;;-1:-1:-1;;;;;5422:15:1;;;32592:96:0::1;::::0;::::1;5404:34:1::0;5474:15;;5454:18;;;5447:43;5339:18;;32592:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32576:13;:112:::0;;-1:-1:-1;;;;;;32576:112:0::1;-1:-1:-1::0;;;;;32576:112:0;;::::1;;::::0;;32699:15:::1;::::0;::::1;:31;32738:21;32769:4;32775:24;32769:4:::0;32775:9:::1;:24::i;:::-;32800:1;32802::::0;32804:7:::1;17911::::0;17938:6;-1:-1:-1;;;;;17938:6:0;;17873:79;32804:7:::1;32699:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;32699:129:0;;;-1:-1:-1;;;;;6139:15:1;;;32699:129:0::1;::::0;::::1;6121:34:1::0;6171:18;;;6164:34;;;;6214:18;;;6207:34;;;;6257:18;;;6250:34;6321:15;;;6300:19;;;6293:44;32812:15:0::1;6353:19:1::0;;;6346:35;6055:19;;32699:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;32854:18:0::1;32839:12;:33:::0;-1:-1:-1;32890:13:0::1;::::0;32921:15:::1;::::0;32883:71:::1;::::0;-1:-1:-1;;;32883:71:0;;-1:-1:-1;;;;;32921:15:0;;::::1;32883:71;::::0;::::1;5675:51:1::0;-1:-1:-1;;5742:18:1;;;5735:34;32890:13:0;::::1;::::0;32883:29:::1;::::0;5648:18:1;;32883:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;32965:11:0::1;:18:::0;;-1:-1:-1;;;;32965:18:0::1;-1:-1:-1::0;;;32965:18:0::1;::::0;;33008:15:::1;32994:11;:29:::0;33049:12:::1;32965:11;33034:27:::0;32238:831::o;34705:148::-;34792:11;;-1:-1:-1;;;;;34792:11:0;15362:10;-1:-1:-1;;;;;34776:27:0;;34768:36;;;;;;-1:-1:-1;;;;;34815:22:0;34840:5;34815:22;;;:18;:22;;;;;:30;;-1:-1:-1;;34815:30:0;;;34705:148::o;37679:101::-;37758:13;;37724:4;;37748:24;;-1:-1:-1;;;;;37758:13:0;37748:9;:24::i;24001:335::-;-1:-1:-1;;;;;24094:19:0;;24086:68;;;;-1:-1:-1;;;24086:68:0;;11729:2:1;24086:68:0;;;11711:21:1;11768:2;11748:18;;;11741:30;11807:34;11787:18;;;11780:62;-1:-1:-1;;;11858:18:1;;;11851:34;11902:19;;24086:68:0;11701:226:1;24086:68:0;-1:-1:-1;;;;;24173:21:0;;24165:68;;;;-1:-1:-1;;;24165:68:0;;8209:2:1;24165:68:0;;;8191:21:1;8248:2;8228:18;;;8221:30;8287:34;8267:18;;;8260:62;-1:-1:-1;;;8338:18:1;;;8331:32;8380:19;;24165:68:0;8181:224:1;24165:68:0;-1:-1:-1;;;;;24244:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;24296:32;;12783:25:1;;;24296:32:0;;12756:18:1;24296:32:0;;;;;;;24001:335;;;:::o;24348:4313::-;-1:-1:-1;;;;;24436:18:0;;24428:68;;;;-1:-1:-1;;;24428:68:0;;11323:2:1;24428:68:0;;;11305:21:1;11362:2;11342:18;;;11335:30;11401:34;11381:18;;;11374:62;-1:-1:-1;;;11452:18:1;;;11445:35;11497:19;;24428:68:0;11295:227:1;24428:68:0;-1:-1:-1;;;;;24515:16:0;;24507:64;;;;-1:-1:-1;;;24507:64:0;;7394:2:1;24507:64:0;;;7376:21:1;7433:2;7413:18;;;7406:30;7472:34;7452:18;;;7445:62;-1:-1:-1;;;7523:18:1;;;7516:33;7566:19;;24507:64:0;7366:225:1;24507:64:0;24599:1;24590:6;:10;24582:64;;;;-1:-1:-1;;;24582:64:0;;10913:2:1;24582:64:0;;;10895:21:1;10952:2;10932:18;;;10925:30;10991:34;10971:18;;;10964:62;-1:-1:-1;;;11042:18:1;;;11035:39;11091:19;;24582:64:0;10885:231:1;24582:64:0;17911:7;17938:6;-1:-1:-1;;;;;24660:15:0;;;17938:6;;24660:15;;;;:32;;-1:-1:-1;17911:7:0;17938:6;-1:-1:-1;;;;;24679:13:0;;;17938:6;;24679:13;;24660:32;24657:3782;;;24727:12;;24717:6;:22;;24709:75;;;;-1:-1:-1;;;24709:75:0;;9741:2:1;24709:75:0;;;9723:21:1;9780:2;9760:18;;;9753:30;9819:34;9799:18;;;9792:62;-1:-1:-1;;;9870:18:1;;;9863:38;9918:19;;24709:75:0;9713:230:1;24709:75:0;-1:-1:-1;;;;;24808:11:0;;;;;;:5;:11;;;;;;;;24807:12;:26;;;;-1:-1:-1;;;;;;24824:9:0;;;;;;:5;:9;;;;;;;;24823:10;24807:26;24799:35;;;;;;24874:10;24867:18;;;;:6;:18;;;;;:25;;;;;24863:99;;24934:12;;;;;;;;-1:-1:-1;24934:12:0;;;24941:4;24934:12;;;;;;;24920:10;24913:18;;:6;:18;;;;;;;:33;;;;;;;;;;-1:-1:-1;;24913:33:0;;;;;;;;;;24863:99;25043:13;;24995:2;;-1:-1:-1;;;;;25035:21:0;;;25043:13;;25035:21;:55;;;;-1:-1:-1;25074:15:0;;-1:-1:-1;;;;;25060:30:0;;;25074:15;;25060:30;;25035:55;:82;;;;-1:-1:-1;;;;;;25095:22:0;;;;;;:18;:22;;;;;;;;25094:23;25035:82;25032:1920;;;25146:11;;-1:-1:-1;;;25146:11:0;;;;25138:48;;;;-1:-1:-1;;;25138:48:0;;12486:2:1;25138:48:0;;;12468:21:1;12525:2;12505:18;;;12498:30;12564:26;12544:18;;;12537:54;12608:18;;25138:48:0;12458:174:1;25138:48:0;25239:10;;25222:13;25232:2;25222:9;:13::i;:::-;25213:22;;:6;:22;:::i;:::-;:36;;25205:73;;;;-1:-1:-1;;;25205:73:0;;8968:2:1;25205:73:0;;;8950:21:1;9007:2;8987:18;;;8980:30;9046:26;9026:18;;;9019:54;9090:18;;25205:73:0;8940:174:1;25205:73:0;25317:12;;:16;;25332:1;25317:16;:::i;:::-;25302:12;:31;25299:1518;;;-1:-1:-1;25394:10:0;:12;;25369:2;;25394:10;:12;;;:::i;:::-;;;;;;25299:1518;;;25453:11;;:27;;25468:11;25453:27;:::i;:::-;25435:15;:45;25432:1385;;;-1:-1:-1;25516:1:0;25432:1385;;;25564:11;;:27;;25579:11;25564:27;:::i;:::-;25546:15;:45;25543:1274;;;-1:-1:-1;25627:1:0;25543:1274;;;25675:11;;:27;;25690:11;25675:27;:::i;:::-;25657:15;:45;25654:1163;;;-1:-1:-1;25738:1:0;25654:1163;;;25786:11;;:27;;25801:11;25786:27;:::i;:::-;25768:15;:45;25765:1052;;;-1:-1:-1;25849:1:0;25765:1052;;;25897:11;;:27;;25912:11;25897:27;:::i;:::-;25879:15;:45;25876:941;;;-1:-1:-1;25960:1:0;25876:941;;;26008:11;;:27;;26023:11;26008:27;:::i;:::-;25990:15;:45;25987:830;;;-1:-1:-1;26071:1:0;25987:830;;;26119:11;;:27;;26134:11;26119:27;:::i;:::-;26101:15;:45;26098:719;;;-1:-1:-1;26182:1:0;26098:719;;;26230:11;;:26;;26245:10;26230:26;:::i;:::-;26212:15;:44;26209:608;;;-1:-1:-1;26292:1:0;26209:608;;;26340:11;;:26;;26355:10;26340:26;:::i;:::-;26322:15;:44;26319:498;;;-1:-1:-1;26402:1:0;26319:498;;;26450:11;;:26;;26465:10;26450:26;:::i;:::-;26432:15;:44;26429:388;;;-1:-1:-1;26512:1:0;26429:388;;;26560:11;;:25;;26575:9;26560:25;:::i;:::-;26542:15;:43;26539:278;;;-1:-1:-1;26621:2:0;26539:278;;;26671:11;;:26;;26686:10;26671:26;:::i;:::-;26653:15;:44;26649:168;;;-1:-1:-1;26733:2:0;26649:168;;;-1:-1:-1;26795:2:0;26649:168;26845:18;26846:8;26860:2;26845:14;:18::i;:::-;26835:7;:28;;;26893:25;;26894:15;:8;26907:1;26894:12;:15::i;:::-;26893:21;;:25::i;:::-;26882:8;:36;25032:1920;26966:28;26997:24;27015:4;26997:9;:24::i;:::-;27063:6;;26966:55;;-1:-1:-1;;;;27063:6:0;;;;27062:7;:32;;;;-1:-1:-1;27081:13:0;;-1:-1:-1;;;;;27073:21:0;;;27081:13;;27073:21;;27062:32;:47;;;;-1:-1:-1;27098:11:0;;-1:-1:-1;;;27098:11:0;;;;27062:47;27059:1369;;;27179:30;27212:29;27223:17;;27212:6;:10;;:29;;;;:::i;:::-;27319:13;;27179:62;;-1:-1:-1;27260:19:0;;27282:64;;27309:36;;27338:6;;27309:24;;-1:-1:-1;;;;;27319:13:0;27309:9;:24::i;:::-;:28;;:36::i;:::-;27282:22;;:26;:64::i;:::-;27260:86;;27402:2;27387:11;:17;27383:337;;27440:2;27429:13;;27383:337;;;27487:2;27472:11;:17;27468:252;;27525:2;27514:13;;27468:252;;;27557:18;:11;27573:1;27557:15;:18::i;:::-;:23;27553:167;;27616:13;;;:::i;:::-;;;;27605:24;;27553:167;;;27689:11;27678:22;;27553:167;27766:18;27767:8;27781:2;27766:14;:18::i;:::-;27756:7;:28;;;27814:25;;27815:15;:8;27828:1;27815:12;:15::i;27814:25::-;27803:8;:36;27958:12;;27934:36;;27931:119;;28018:12;;27995:35;;27931:119;28098:29;;28074:20;:53;28070:149;;28152:47;28169:29;;28152:16;:47::i;:::-;28268:21;28311:22;;28308:105;;28358:35;28371:21;28358:12;:35::i;:::-;27059:1369;;;;24657:3782;;;-1:-1:-1;;;;;28484:24:0;;28449:12;28484:24;;;:18;:24;;;;;;28464:4;;28484:24;;;:50;;-1:-1:-1;;;;;;28512:22:0;;;;;;:18;:22;;;;;;;;28484:50;:68;;;-1:-1:-1;28538:14:0;;-1:-1:-1;;;28538:14:0;;;;28484:68;28481:114;;;-1:-1:-1;28578:5:0;28481:114;28615:38;28630:4;28635:2;28638:6;28645:7;28615:14;:38::i;:::-;24348:4313;;;;:::o;16419:190::-;16505:7;16541:12;16533:6;;;;16525:29;;;;-1:-1:-1;;;16525:29:0;;;;;;;;:::i;:::-;-1:-1:-1;16565:9:0;16577:5;16581:1;16577;:5;:::i;:::-;16565:17;16419:190;-1:-1:-1;;;;;16419:190:0:o;23394:254::-;23461:7;23500;;23489;:18;;23481:73;;;;-1:-1:-1;;;23481:73:0;;7798:2:1;23481:73:0;;;7780:21:1;7837:2;7817:18;;;7810:30;7876:34;7856:18;;;7849:62;-1:-1:-1;;;7927:18:1;;;7920:40;7977:19;;23481:73:0;7770:232:1;23481:73:0;23565:19;23588:10;:8;:10::i;:::-;23565:33;-1:-1:-1;23616:24:0;:7;23565:33;23616:11;:24::i;:::-;23609:31;23394:254;-1:-1:-1;;;23394:254:0:o;16870:132::-;16928:7;16955:39;16959:1;16962;16955:39;;;;;;;;;;;;;;;;;:3;:39::i;16617:245::-;16675:7;16698:6;16695:46;;-1:-1:-1;16728:1:0;16721:8;;16695:46;16751:9;16763:5;16767:1;16763;:5;:::i;:::-;16751:17;-1:-1:-1;16796:1:0;16787:5;16791:1;16751:17;16787:5;:::i;:::-;:10;16779:56;;;;-1:-1:-1;;;16779:56:0;;10150:2:1;16779:56:0;;;10132:21:1;10189:2;10169:18;;;10162:30;10228:34;10208:18;;;10201:62;-1:-1:-1;;;10279:18:1;;;10272:31;10320:19;;16779:56:0;10122:223:1;16088:179:0;16146:7;;16178:5;16182:1;16178;:5;:::i;:::-;16166:17;;16207:1;16202;:6;;16194:46;;;;-1:-1:-1;;;16194:46:0;;8612:2:1;16194:46:0;;;8594:21:1;8651:2;8631:18;;;8624:30;8690:29;8670:18;;;8663:57;8737:18;;16194:46:0;8584:177:1;17207:130:0;17265:7;17292:37;17296:1;17299;17292:37;;;;;;;;;;;;;;;;;:3;:37::i;28669:483::-;21242:6;:13;;-1:-1:-1;;;;21242:13:0;-1:-1:-1;;;21242:13:0;;;28771:16:::1;::::0;;28785:1:::1;28771:16:::0;;;;;::::1;::::0;;-1:-1:-1;;28771:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;28771:16:0::1;28747:40;;28816:4;28798;28803:1;28798:7;;;;;;-1:-1:-1::0;;;28798:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;28798:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;28842:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;28842:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;28798:7;;28842:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28832:4;28837:1;28832:7;;;;;;-1:-1:-1::0;;;28832:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;28832:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;28907:15:::1;::::0;28875:62:::1;::::0;28892:4:::1;::::0;28907:15:::1;28925:11:::0;28875:8:::1;:62::i;:::-;28948:15;::::0;:196:::1;::::0;-1:-1:-1;;;28948:196:0;;-1:-1:-1;;;;;28948:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;29029:11;;28948:15:::1;::::0;29071:4;;29098::::1;::::0;29118:15:::1;::::0;28948:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;21278:6:0;:14;;-1:-1:-1;;;;21278:14:0;;;-1:-1:-1;;;;28669:483:0:o;29168:185::-;29225:23;;-1:-1:-1;;;;;29225:23:0;:55;29258:21;29276:2;29258:13;:6;29269:1;29258:10;:13::i;:21::-;29225:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29291:22:0;;-1:-1:-1;;;;;29291:22:0;:54;29323:21;29341:2;29323:13;:6;29334:1;29323:10;:13::i;:21::-;29291:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29365:263;29477:7;29473:40;;29499:14;:12;:14::i;:::-;29524:44;29542:6;29550:9;29561:6;29524:17;:44::i;:::-;29583:7;29579:41;;29605:15;23932;;23922:7;:25;23969:16;;23958:8;:27;23878:115;30969:163;31010:7;31031:15;31048;31067:19;:17;:19::i;:::-;31030:56;;-1:-1:-1;31030:56:0;-1:-1:-1;31104:20:0;31030:56;;31104:11;:20::i;:::-;31097:27;;;;30969:163;:::o;17010:189::-;17096:7;17131:12;17124:5;17116:28;;;;-1:-1:-1;;;17116:28:0;;;;;;;;:::i;:::-;-1:-1:-1;17155:9:0;17167:5;17171:1;17167;:5;:::i;17345:166::-;17431:7;17467:12;17459:6;17451:29;;;;-1:-1:-1;;;17451:29:0;;;;;;;;:::i;:::-;-1:-1:-1;17498:5:0;17502:1;17498;:5;:::i;:::-;17491:12;17345:166;-1:-1:-1;;;;17345:166:0:o;23656:210::-;23702:7;;:12;:29;;;;-1:-1:-1;23718:8:0;;:13;23702:29;23699:41;;;23656:210::o;23699:41::-;23768:7;;;23750:15;:25;23805:8;;;23786:16;:27;-1:-1:-1;23824:11:0;;;;23846:12;23656:210::o;29636:490::-;29735:15;29752:23;29777:12;29791:23;29816:12;29830:13;29847:19;29858:7;29847:10;:19::i;:::-;-1:-1:-1;;;;;29895:15:0;;;;;;:7;:15;;;;;;29734:132;;-1:-1:-1;29734:132:0;;-1:-1:-1;29734:132:0;;-1:-1:-1;29734:132:0;-1:-1:-1;29734:132:0;-1:-1:-1;29734:132:0;-1:-1:-1;29895:28:0;;29734:132;29895:19;:28::i;:::-;-1:-1:-1;;;;;29877:15:0;;;;;;;:7;:15;;;;;;:46;;;;29955:18;;;;;;;:39;;29978:15;29955:22;:39::i;:::-;-1:-1:-1;;;;;29934:18:0;;;;;;:7;:18;;;;;:60;30008:16;30018:5;30008:9;:16::i;:::-;30035:23;30047:4;30053;30035:11;:23::i;:::-;30091:9;-1:-1:-1;;;;;30074:44:0;30083:6;-1:-1:-1;;;;;30074:44:0;;30102:15;30074:44;;;;12783:25:1;;12771:2;12756:18;;12738:76;30074:44:0;;;;;;;;29636:490;;;;;;;;;:::o;31140:255::-;31237:7;;31190;;;;19504:21;31304:20;31237:7;19504:21;31304:11;:20::i;:::-;31294:7;:30;31291:60;;;-1:-1:-1;;31334:7:0;;;19504:21;;-1:-1:-1;31140:255:0;-1:-1:-1;31140:255:0:o;31291:60::-;31370:7;;31379;;-1:-1:-1;31140:255:0;-1:-1:-1;31140:255:0:o;30134:468::-;30193:7;30202;30211;30220;30229;30238;30259:23;30284:12;30298:13;30315:39;30327:7;30336;;30345:8;;30315:11;:39::i;:::-;30258:96;;;;;;30365:19;30388:10;:8;:10::i;:::-;30365:33;;30410:15;30427:23;30452:12;30468:46;30480:7;30489:4;30495:5;30502:11;30468;:46::i;:::-;30409:105;;-1:-1:-1;30409:105:0;-1:-1:-1;30409:105:0;-1:-1:-1;30565:15:0;;-1:-1:-1;30582:4:0;;-1:-1:-1;30588:5:0;;-1:-1:-1;;;;;30134:468:0;;;;;;;:::o;16275:136::-;16333:7;16360:43;16364:1;16367;16360:43;;;;;;;;;;;;;;;;;:3;:43::i;31820:214::-;31873:19;31896:10;:8;:10::i;:::-;31873:33;-1:-1:-1;31917:13:0;31933:22;:5;31873:33;31933:9;:22::i;:::-;32009:4;31993:22;;;;:7;:22;;;;;;31917:38;;-1:-1:-1;31993:33:0;;31917:38;31993:26;:33::i;:::-;31984:4;31968:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;31820:214:0:o;32042:147::-;32120:7;;:17;;32132:4;32120:11;:17::i;:::-;32110:7;:27;32161:10;;:20;;32176:4;32161:14;:20::i;:::-;32148:10;:33;-1:-1:-1;;32042:147:0:o;30610:351::-;30703:7;;;;30756:28;30780:3;30756:19;:7;30768:6;30756:11;:19::i;:28::-;30741:43;-1:-1:-1;30795:13:0;30811:29;30836:3;30811:20;:7;30823;30811:11;:20::i;:29::-;30795:45;-1:-1:-1;30851:23:0;30877:28;30795:45;30877:17;:7;30889:4;30877:11;:17::i;:::-;:21;;:28::i;:::-;30851:54;30941:4;;-1:-1:-1;30947:5:0;;-1:-1:-1;30610:351:0;;-1:-1:-1;;;;;30610:351:0:o;31403:409::-;31513:7;;;;31569:24;:7;31581:11;31569;:24::i;:::-;31551:42;-1:-1:-1;31604:12:0;31619:21;:4;31628:11;31619:8;:21::i;:::-;31604:36;-1:-1:-1;31651:13:0;31667:22;:5;31677:11;31667:9;:22::i;:::-;31651:38;-1:-1:-1;31700:23:0;31726:28;31651:38;31726:17;:7;31738:4;31726:11;:17::i;:28::-;31773:7;;;;-1:-1:-1;31799:4:0;;-1:-1:-1;31403:409:0;;-1:-1:-1;;;;;;;31403:409:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;951:398::-;1019:6;1027;1080:2;1068:9;1059:7;1055:23;1051:32;1048:2;;;1101:6;1093;1086:22;1048:2;1145:9;1132:23;1164:31;1189:5;1164:31;:::i;:::-;1214:5;-1:-1:-1;1271:2:1;1256:18;;1243:32;1284:33;1243:32;1284:33;:::i;:::-;1336:7;1326:17;;;1038:311;;;;;:::o;1354:466::-;1431:6;1439;1447;1500:2;1488:9;1479:7;1475:23;1471:32;1468:2;;;1521:6;1513;1506:22;1468:2;1565:9;1552:23;1584:31;1609:5;1584:31;:::i;:::-;1634:5;-1:-1:-1;1691:2:1;1676:18;;1663:32;1704:33;1663:32;1704:33;:::i;:::-;1458:362;;1756:7;;-1:-1:-1;;;1810:2:1;1795:18;;;;1782:32;;1458:362::o;1825:325::-;1893:6;1901;1954:2;1942:9;1933:7;1929:23;1925:32;1922:2;;;1975:6;1967;1960:22;1922:2;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;2140:2;2125:18;;;;2112:32;;-1:-1:-1;;;1912:238:1:o;2155:1177::-;2239:6;2270:2;2313;2301:9;2292:7;2288:23;2284:32;2281:2;;;2334:6;2326;2319:22;2281:2;2379:9;2366:23;2408:18;2449:2;2441:6;2438:14;2435:2;;;2470:6;2462;2455:22;2435:2;2513:6;2502:9;2498:22;2488:32;;2558:7;2551:4;2547:2;2543:13;2539:27;2529:2;;2585:6;2577;2570:22;2529:2;2626;2613:16;2648:2;2644;2641:10;2638:2;;;2654:18;;:::i;:::-;2700:2;2697:1;2693:10;2732:2;2726:9;2795:2;2791:7;2786:2;2782;2778:11;2774:25;2766:6;2762:38;2850:6;2838:10;2835:22;2830:2;2818:10;2815:18;2812:46;2809:2;;;2861:18;;:::i;:::-;2897:2;2890:22;2947:18;;;2981:15;;;;-1:-1:-1;3016:11:1;;;3046;;;3042:20;;3039:33;-1:-1:-1;3036:2:1;;;3090:6;3082;3075:22;3036:2;3117:6;3108:15;;3132:169;3146:2;3143:1;3140:9;3132:169;;;3203:23;3222:3;3203:23;:::i;:::-;3191:36;;3164:1;3157:9;;;;;3247:12;;;;3279;;3132:169;;;-1:-1:-1;3320:6:1;2250:1082;-1:-1:-1;;;;;;;;2250:1082:1:o;3337:251::-;3393:6;3446:2;3434:9;3425:7;3421:23;3417:32;3414:2;;;3467:6;3459;3452:22;3414:2;3511:9;3498:23;3530:28;3552:5;3530:28;:::i;3593:255::-;3660:6;3713:2;3701:9;3692:7;3688:23;3684:32;3681:2;;;3734:6;3726;3719:22;3681:2;3771:9;3765:16;3790:28;3812:5;3790:28;:::i;3853:411::-;3934:6;3942;3995:2;3983:9;3974:7;3970:23;3966:32;3963:2;;;4016:6;4008;4001:22;4269:190;4328:6;4381:2;4369:9;4360:7;4356:23;4352:32;4349:2;;;4402:6;4394;4387:22;4349:2;-1:-1:-1;4430:23:1;;4339:120;-1:-1:-1;4339:120:1:o;4464:194::-;4534:6;4587:2;4575:9;4566:7;4562:23;4558:32;4555:2;;;4608:6;4600;4593:22;4555:2;-1:-1:-1;4636:16:1;;4545:113;-1:-1:-1;4545:113:1:o;4663:316::-;4751:6;4759;4767;4820:2;4808:9;4799:7;4795:23;4791:32;4788:2;;;4841:6;4833;4826:22;4788:2;4875:9;4869:16;4859:26;;4925:2;4914:9;4910:18;4904:25;4894:35;;4969:2;4958:9;4954:18;4948:25;4938:35;;4778:201;;;;;:::o;6584:603::-;6696:4;6725:2;6754;6743:9;6736:21;6786:6;6780:13;6829:6;6824:2;6813:9;6809:18;6802:34;6854:4;6867:140;6881:6;6878:1;6875:13;6867:140;;;6976:14;;;6972:23;;6966:30;6942:17;;;6961:2;6938:26;6931:66;6896:10;;6867:140;;;7025:6;7022:1;7019:13;7016:2;;;7095:4;7090:2;7081:6;7070:9;7066:22;7062:31;7055:45;7016:2;-1:-1:-1;7171:2:1;7150:15;-1:-1:-1;;7146:29:1;7131:45;;;;7178:2;7127:54;;6705:482;-1:-1:-1;;;6705:482:1:o;10350:356::-;10552:2;10534:21;;;10571:18;;;10564:30;10630:34;10625:2;10610:18;;10603:62;10697:2;10682:18;;10524:182::o;12819:983::-;13081:4;13129:3;13118:9;13114:19;13160:6;13149:9;13142:25;13186:2;13224:6;13219:2;13208:9;13204:18;13197:34;13267:3;13262:2;13251:9;13247:18;13240:31;13291:6;13326;13320:13;13357:6;13349;13342:22;13395:3;13384:9;13380:19;13373:26;;13434:2;13426:6;13422:15;13408:29;;13455:4;13468:195;13482:6;13479:1;13476:13;13468:195;;;13547:13;;-1:-1:-1;;;;;13543:39:1;13531:52;;13638:15;;;;13603:12;;;;13579:1;13497:9;13468:195;;;-1:-1:-1;;;;;;;13719:32:1;;;;13714:2;13699:18;;13692:60;-1:-1:-1;;;13783:3:1;13768:19;13761:35;13680:3;13090:712;-1:-1:-1;;;13090:712:1:o;13996:128::-;14036:3;14067:1;14063:6;14060:1;14057:13;14054:2;;;14073:18;;:::i;:::-;-1:-1:-1;14109:9:1;;14044:80::o;14129:120::-;14169:1;14195;14185:2;;14200:18;;:::i;:::-;-1:-1:-1;14234:9:1;;14175:74::o;14254:168::-;14294:7;14360:1;14356;14352:6;14348:14;14345:1;14342:21;14337:1;14330:9;14323:17;14319:45;14316:2;;;14367:18;;:::i;:::-;-1:-1:-1;14407:9:1;;14306:116::o;14427:125::-;14467:4;14495:1;14492;14489:8;14486:2;;;14500:18;;:::i;:::-;-1:-1:-1;14537:9:1;;14476:76::o;14557:135::-;14596:3;-1:-1:-1;;14617:17:1;;14614:2;;;14637:18;;:::i;:::-;-1:-1:-1;14684:1:1;14673:13;;14604:88::o;14697:112::-;14729:1;14755;14745:2;;14760:18;;:::i;:::-;-1:-1:-1;14794:9:1;;14735:74::o;14814:127::-;14875:10;14870:3;14866:20;14863:1;14856:31;14906:4;14903:1;14896:15;14930:4;14927:1;14920:15;14946:127;15007:10;15002:3;14998:20;14995:1;14988:31;15038:4;15035:1;15028:15;15062:4;15059:1;15052:15;15078:127;15139:10;15134:3;15130:20;15127:1;15120:31;15170:4;15167:1;15160:15;15194:4;15191:1;15184:15;15210:131;-1:-1:-1;;;;;15285:31:1;;15275:42;;15265:2;;15331:1;15328;15321:12;15346:118;15432:5;15425:13;15418:21;15411:5;15408:32;15398:2;;15454:1;15451;15444:12

Swarm Source

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