ETH Price: $3,453.54 (-4.46%)
 

Overview

Max Total Supply

1,000,000,000 JAGO

Holders

793

Transfers

-
5

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
JAGO

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2024-08-22
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;


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

interface IERC20 {
    
    function totalSupply() external view returns(uint256);

    
    function balanceOf(address account) external view returns(uint256);

    
    function transfer(address recipient, uint256 amount) external returns(bool);

   
    function allowance(address owner, address spender) external view returns(uint256);

    
    function approve(address spender, uint256 amount) external returns(bool);

   
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns(bool);

        
        event Transfer(address indexed from, address indexed to, uint256 value);

       
        event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    
    function name() external view returns(string memory);

   
    function symbol() external view returns(string memory);

    
    function decimals() external view returns(uint8);
}

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

}

 
contract ERC20 is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;

        mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;
 
    uint256 private _totalSupply;
 
    string private _name;
    string private _symbol;

    
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    
    function name() public view virtual override returns(string memory) {
        return _name;
    }

   
    function symbol() public view virtual override returns(string memory) {
        return _symbol;
    }

    
    function decimals() public view virtual override returns(uint8) {
        return 18;
    }

   
    function totalSupply() public view virtual override returns(uint256) {
        return _totalSupply;
    }

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

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

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

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

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

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

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    
   
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        return c;
    }

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

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

        return c;
    }

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

        return c;
    }

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

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

        return c;
    }

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

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

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

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

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

    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
 
 
 
library SafeMathInt {
    int256 private constant MIN_INT256 = int256(1) << 255;
    int256 private constant MAX_INT256 = ~(int256(1) << 255);

    
    function mul(int256 a, int256 b) internal pure returns(int256) {
        int256 c = a * b;

        // Detect overflow when multiplying MIN_INT256 with -1
        require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
        require((b == 0) || (c / b == a));
        return c;
    }

   
    function div(int256 a, int256 b) internal pure returns(int256) {
        // Prevent overflow when dividing MIN_INT256 by -1
        require(b != -1 || a != MIN_INT256);

        // Solidity already throws when dividing by 0.
        return a / b;
    }

    /**
     * @dev Subtracts two int256 variables and fails on overflow.
     */
    function sub(int256 a, int256 b) internal pure returns(int256) {
        int256 c = a - b;
        require((b >= 0 && c <= a) || (b < 0 && c > a));
        return c;
    }

    /**
     * @dev Adds two int256 variables and fails on overflow.
     */
    function add(int256 a, int256 b) internal pure returns(int256) {
        int256 c = a + b;
        require((b >= 0 && c >= a) || (b < 0 && c < a));
        return c;
    }

    /**
     * @dev Converts to absolute value, and fails on overflow.
     */
    function abs(int256 a) internal pure returns(int256) {
        require(a != MIN_INT256);
        return a < 0 ? -a : a;
    }


    function toUint256Safe(int256 a) internal pure returns(uint256) {
        require(a >= 0);
        return uint256(a);
    }
}
 
library SafeMathUint {
    function toInt256Safe(uint256 a) internal pure returns(int256) {
    int256 b = int256(a);
        require(b >= 0);
        return b;
    }
}


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 JAGO is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable router;
    address public immutable uniswapV2Pair;


    // addresses
    address public  developerWallet;
    address private marketWallet;

    // limits 
    uint256 private maxBuyAmount;
    uint256 private maxSellAmount;   
    uint256 private maxWalletAmount;
 
    uint256 private thresholdSwapAmount;

    // status flags
    bool private isTrading = true;
    bool public swapEnabled = true;
    bool public isSwapping;


    struct Fees {
        uint8 buyTotalFees;
        uint8 buyMarketingFee;
        uint8 buyDevFee;
        uint8 buyLiquidityFee;

        uint8 sellTotalFees;
        uint8 sellMarketingFee;
        uint8 sellDevFee;
        uint8 sellLiquidityFee;
    }  

    Fees public _fees = Fees({
        buyTotalFees: 0,
        buyMarketingFee: 0,
        buyDevFee:0,
        buyLiquidityFee: 0,

        sellTotalFees: 0,
        sellMarketingFee: 0,
        sellDevFee:0,
        sellLiquidityFee: 0
    });
    
    

    uint256 public tokensForMarketing;
    uint256 public tokensForLiquidity;
    uint256 public tokensForDev;
    uint256 private taxTill;
    
    mapping(address => bool) public marketPair;
    
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived
    );


    constructor() ERC20("JAGO", "JAGO") {
 
        router = IUniswapV2Router02(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);


        uniswapV2Pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());
        
        marketPair[address(uniswapV2Pair)] = true;

        approve(address(router), type(uint256).max);
        uint256 totalSupply = 1e9 * 1e18;

        maxBuyAmount = totalSupply * 1 / 100; // 1% maxTransactionAmountTxn
        maxSellAmount = totalSupply * 1 / 100; // 1% maxTransactionAmountTxn
        maxWalletAmount = totalSupply * 1 / 100; // 1% maxWallet
        thresholdSwapAmount = totalSupply * 4 / 10000; 

        _fees.buyMarketingFee = 0;
        _fees.buyLiquidityFee = 0;
        _fees.buyDevFee = 0;
        _fees.buyTotalFees = _fees.buyMarketingFee + _fees.buyLiquidityFee + _fees.buyDevFee;

        _fees.sellMarketingFee = 0;
        _fees.sellLiquidityFee = 0;
        _fees.sellDevFee = 0;
        _fees.sellTotalFees = _fees.sellMarketingFee + _fees.sellLiquidityFee + _fees.sellDevFee;


        marketWallet = address(0xfA989e64D5fF3EB425E6b13BBF59aB17E3E5D334);
        developerWallet = address(0xfA989e64D5fF3EB425E6b13BBF59aB17E3E5D334);

        
        _mint(msg.sender, totalSupply);
    }

    receive() external payable {

    }    


    function setMarketPair(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "Must keep uniswapV2Pair");
        marketPair[pair] = value;
    }
    

    function setWallets(address _marketingWallet,address _devWallet) external onlyOwner{
        marketWallet = _marketingWallet;
        developerWallet = _devWallet;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
        
    ) internal override {
        
        if (amount == 0) {
            super._transfer(sender, recipient, 0);
            return;
        }

        if (
            sender != owner() &&
            recipient != owner() &&
            !isSwapping
        ) {

           
           
        } 
        
 
        uint256 contractTokenBalance = balanceOf(address(this));
 
        bool canSwap = contractTokenBalance >= thresholdSwapAmount;

        if (
            canSwap &&
            swapEnabled &&
            !isSwapping &&
            marketPair[recipient] 
           
        ) {
            isSwapping = true;
            swapBack();
            isSwapping = false;
        }
 
        bool takeFee = !isSwapping;

        
        if (takeFee) {
            uint256 fees = 0;
            if(block.number < taxTill) {
                fees = amount.mul(99).div(100);
                tokensForMarketing += (fees * 94) / 99;
                tokensForDev += (fees * 5) / 99;
            } else if (marketPair[recipient] && _fees.sellTotalFees > 0) {
                fees = amount.mul(_fees.sellTotalFees).div(100);
                tokensForLiquidity += fees * _fees.sellLiquidityFee / _fees.sellTotalFees;
                tokensForMarketing += fees * _fees.sellMarketingFee / _fees.sellTotalFees;
                tokensForDev += fees * _fees.sellDevFee / _fees.sellTotalFees;
            }
            // on buy
            else if (marketPair[sender] && _fees.buyTotalFees > 0) {
                fees = amount.mul(_fees.buyTotalFees).div(100);
                tokensForLiquidity += fees * _fees.buyLiquidityFee / _fees.buyTotalFees;
                tokensForMarketing += fees * _fees.buyMarketingFee / _fees.buyTotalFees;
                tokensForDev += fees * _fees.buyDevFee / _fees.buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(sender, address(this), fees);
            }

            amount -= fees;

        }

        super._transfer(sender, recipient, amount);
    }

    function swapTokensForEth(uint256 tAmount) private {

        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tAmount);

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );

    }

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

        // add the liquidity
        router.addLiquidityETH{ value: ethAmount } (address(this), tAmount, 0, 0 , address(this), block.timestamp);
    }

    function swapBack() private {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 toSwap = tokensForLiquidity + tokensForMarketing + tokensForDev;
        bool success;

        if (contractTokenBalance == 0 || toSwap == 0) { return; }

        if (contractTokenBalance > thresholdSwapAmount * 20) {
            contractTokenBalance = thresholdSwapAmount * 20;
        }

        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = contractTokenBalance * tokensForLiquidity / toSwap / 2;
        uint256 amountToSwapForETH = contractTokenBalance.sub(liquidityTokens);
 
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH); 
 
        uint256 newBalance = address(this).balance.sub(initialETHBalance);
 
        uint256 ethForMarketing = newBalance.mul(tokensForMarketing).div(toSwap);
        uint256 ethForDev = newBalance.mul(tokensForDev).div(toSwap);
        uint256 ethForLiquidity = newBalance - (ethForMarketing + ethForDev);


        tokensForLiquidity = 0;
        tokensForMarketing = 0;
        tokensForDev = 0;


        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
            emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity);
        }

        (success,) = address(developerWallet).call{ value: (address(this).balance - ethForMarketing) } ("");
        (success,) = address(marketWallet).call{ value: address(this).balance } ("");
    }

}

Contract Security Audit

Contract ABI

API
[{"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"}],"name":"SwapAndLiquify","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":"_fees","outputs":[{"internalType":"uint8","name":"buyTotalFees","type":"uint8"},{"internalType":"uint8","name":"buyMarketingFee","type":"uint8"},{"internalType":"uint8","name":"buyDevFee","type":"uint8"},{"internalType":"uint8","name":"buyLiquidityFee","type":"uint8"},{"internalType":"uint8","name":"sellTotalFees","type":"uint8"},{"internalType":"uint8","name":"sellMarketingFee","type":"uint8"},{"internalType":"uint8","name":"sellDevFee","type":"uint8"},{"internalType":"uint8","name":"sellLiquidityFee","type":"uint8"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"developerWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSwapping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_devWallet","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526001600c60006101000a81548160ff0219169083151502179055506001600c60016101000a81548160ff021916908315150217905550604051806101000160405280600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff16815250600d60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a81548160ff021916908360ff16021790555060c08201518160000160066101000a81548160ff021916908360ff16021790555060e08201518160000160076101000a81548160ff021916908360ff1602179055505050348015620001ad57600080fd5b506040518060400160405280600481526020017f4a41474f000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4a41474f0000000000000000000000000000000000000000000000000000000081525081600390805190602001906200023292919062000bba565b5080600490805190602001906200024b92919062000bba565b5050506000620002606200089960201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350734752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039057600080fd5b505afa158015620003a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cb919062000cd4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200043057600080fd5b505afa15801562000445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046b919062000cd4565b6040518363ffffffff1660e01b81526004016200048a92919062000d17565b602060405180830381600087803b158015620004a557600080fd5b505af1158015620004ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e0919062000cd4565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505060016012600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005a16080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620008a160201b60201c565b5060006b033b2e3c9fd0803ce800000090506064600182620005c4919062000d7d565b620005d0919062000e0d565b6008819055506064600182620005e7919062000d7d565b620005f3919062000e0d565b60098190555060646001826200060a919062000d7d565b62000616919062000e0d565b600a819055506127106004826200062e919062000d7d565b6200063a919062000e0d565b600b819055506000600d60000160016101000a81548160ff021916908360ff1602179055506000600d60000160036101000a81548160ff021916908360ff1602179055506000600d60000160026101000a81548160ff021916908360ff160217905550600d60000160029054906101000a900460ff16600d60000160039054906101000a900460ff16600d60000160019054906101000a900460ff16620006e2919062000e52565b620006ee919062000e52565b600d60000160006101000a81548160ff021916908360ff1602179055506000600d60000160056101000a81548160ff021916908360ff1602179055506000600d60000160076101000a81548160ff021916908360ff1602179055506000600d60000160066101000a81548160ff021916908360ff160217905550600d60000160069054906101000a900460ff16600d60000160079054906101000a900460ff16600d60000160059054906101000a900460ff16620007ad919062000e52565b620007b9919062000e52565b600d60000160046101000a81548160ff021916908360ff16021790555073fa989e64d5ff3eb425e6b13bbf59ab17e3e5d334600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073fa989e64d5ff3eb425e6b13bbf59ab17e3e5d334600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008923382620008cf60201b60201c565b5062001075565b600033905090565b6000620008c5620008b76200089960201b60201c565b848462000a6a60201b60201c565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009399062000ef1565b60405180910390fd5b6200095e8160025462000b5760201b620010221790919060201c565b600281905550620009bc816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000b5760201b620010221790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a5e919062000f24565b60405180910390a35050565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000b4a919062000f24565b60405180910390a3505050565b600080828462000b68919062000f41565b90508381101562000bb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba79062000fee565b60405180910390fd5b8091505092915050565b82805462000bc8906200103f565b90600052602060002090601f01602090048101928262000bec576000855562000c38565b82601f1062000c0757805160ff191683800117855562000c38565b8280016001018555821562000c38579182015b8281111562000c3757825182559160200191906001019062000c1a565b5b50905062000c47919062000c4b565b5090565b5b8082111562000c6657600081600090555060010162000c4c565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c9c8262000c6f565b9050919050565b62000cae8162000c8f565b811462000cba57600080fd5b50565b60008151905062000cce8162000ca3565b92915050565b60006020828403121562000ced5762000cec62000c6a565b5b600062000cfd8482850162000cbd565b91505092915050565b62000d118162000c8f565b82525050565b600060408201905062000d2e600083018562000d06565b62000d3d602083018462000d06565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d8a8262000d44565b915062000d978362000d44565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000dd35762000dd262000d4e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e1a8262000d44565b915062000e278362000d44565b92508262000e3a5762000e3962000dde565b5b828204905092915050565b600060ff82169050919050565b600062000e5f8262000e45565b915062000e6c8362000e45565b92508260ff0382111562000e855762000e8462000d4e565b5b828201905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ed9601f8362000e90565b915062000ee68262000ea1565b602082019050919050565b6000602082019050818103600083015262000f0c8162000eca565b9050919050565b62000f1e8162000d44565b82525050565b600060208201905062000f3b600083018462000f13565b92915050565b600062000f4e8262000d44565b915062000f5b8362000d44565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f935762000f9262000d4e565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062000fd6601b8362000e90565b915062000fe38262000f9e565b602082019050919050565b60006020820190508181036000830152620010098162000fc7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200105857607f821691505b602082108114156200106f576200106e62001010565b5b50919050565b60805160a051612d74620010c56000396000818161078c0152610aed01526000818161100001528181611e1701528181611f0701528181611f2e01528181611fca0152611ff10152612d746000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063d212a69a1161006f578063d212a69a14610493578063d3f6a157146104c5578063dd62ed3e146104ee578063f2fde38b1461052b578063f5b3c3bf14610554578063f887ea401461059157610156565b80638da5cb5b1461038157806395d89b41146103ac5780639fccce32146103d7578063a9059cbb14610402578063b88631151461043f578063c16dd4a41461046a57610156565b806323b872dd1161010857806323b872dd1461026f578063313ce567146102ac57806349bd5a5e146102d75780636ddd17131461030257806370a082311461032d578063715018a61461036a57610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c3578063185870f9146101ee5780631a8145bb146102195780631f3fed8f1461024457610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105bc565b60405161017d91906121a9565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612264565b61064e565b6040516101ba91906122bf565b60405180910390f35b3480156101cf57600080fd5b506101d861066c565b6040516101e591906122e9565b60405180910390f35b3480156101fa57600080fd5b50610203610676565b6040516102109190612313565b60405180910390f35b34801561022557600080fd5b5061022e61069c565b60405161023b91906122e9565b60405180910390f35b34801561025057600080fd5b506102596106a2565b60405161026691906122e9565b60405180910390f35b34801561027b57600080fd5b506102966004803603810190610291919061232e565b6106a8565b6040516102a391906122bf565b60405180910390f35b3480156102b857600080fd5b506102c1610781565b6040516102ce919061239d565b60405180910390f35b3480156102e357600080fd5b506102ec61078a565b6040516102f99190612313565b60405180910390f35b34801561030e57600080fd5b506103176107ae565b60405161032491906122bf565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f91906123b8565b6107c1565b60405161036191906122e9565b60405180910390f35b34801561037657600080fd5b5061037f610809565b005b34801561038d57600080fd5b50610396610961565b6040516103a39190612313565b60405180910390f35b3480156103b857600080fd5b506103c161098b565b6040516103ce91906121a9565b60405180910390f35b3480156103e357600080fd5b506103ec610a1d565b6040516103f991906122e9565b60405180910390f35b34801561040e57600080fd5b5061042960048036038101906104249190612264565b610a23565b60405161043691906122bf565b60405180910390f35b34801561044b57600080fd5b50610454610a41565b60405161046191906122bf565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c9190612411565b610a54565b005b34801561049f57600080fd5b506104a8610bd5565b6040516104bc989796959493929190612451565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e791906124cf565b610c73565b005b3480156104fa57600080fd5b50610515600480360381019061051091906124cf565b610d90565b60405161052291906122e9565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d91906123b8565b610e17565b005b34801561056057600080fd5b5061057b600480360381019061057691906123b8565b610fde565b60405161058891906122bf565b60405180910390f35b34801561059d57600080fd5b506105a6610ffe565b6040516105b3919061256e565b60405180910390f35b6060600380546105cb906125b8565b80601f01602080910402602001604051908101604052809291908181526020018280546105f7906125b8565b80156106445780601f1061061957610100808354040283529160200191610644565b820191906000526020600020905b81548152906001019060200180831161062757829003601f168201915b5050505050905090565b600061066261065b611080565b8484611088565b6001905092915050565b6000600254905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b600e5481565b60006106b5848484611173565b610776846106c1611080565b61077185604051806060016040528060288152602001612d1760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610727611080565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461176d9092919063ffffffff16565b611088565b600190509392505050565b60006012905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610811611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612636565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461099a906125b8565b80601f01602080910402602001604051908101604052809291908181526020018280546109c6906125b8565b8015610a135780601f106109e857610100808354040283529160200191610a13565b820191906000526020600020905b8154815290600101906020018083116109f657829003601f168201915b5050505050905090565b60105481565b6000610a37610a30611080565b8484611173565b6001905092915050565b600c60029054906101000a900460ff1681565b610a5c611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612636565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b71906126a2565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a900460ff16908060000160069054906101000a900460ff16908060000160079054906101000a900460ff16905088565b610c7b611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0190612636565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e1f611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590612636565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590612734565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60126020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008082846110319190612783565b905083811015611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106d90612825565b60405180910390fd5b8091505092915050565b600033905090565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161116691906122e9565b60405180910390a3505050565b600081141561118d57611188838360006117d1565b611768565b611195610961565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561120357506111d3610961565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561121c5750600c60029054906101000a900460ff16155b506000611228306107c1565b90506000600b54821015905080801561124d5750600c60019054906101000a900460ff165b80156112665750600c60029054906101000a900460ff16155b80156112bb5750601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112ff576001600c60026101000a81548160ff0219169083151502179055506112e361197b565b6000600c60026101000a81548160ff0219169083151502179055505b6000600c60029054906101000a900460ff1615905080156117595760006011544310156113b65761134d606461133f606388611c6990919063ffffffff16565b611ce490919063ffffffff16565b90506063605e8261135e9190612845565b61136891906128ce565b600e60008282546113799190612783565b92505081905550606360058261138f9190612845565b61139991906128ce565b601060008282546113aa9190612783565b92505081905550611734565b601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561142457506000600d60000160049054906101000a900460ff1660ff16115b15611576576114646064611456600d60000160049054906101000a900460ff1660ff1688611c6990919063ffffffff16565b611ce490919063ffffffff16565b9050600d60000160049054906101000a900460ff1660ff16600d60000160079054906101000a900460ff1660ff168261149d9190612845565b6114a791906128ce565b600f60008282546114b89190612783565b92505081905550600d60000160049054906101000a900460ff1660ff16600d60000160059054906101000a900460ff1660ff16826114f69190612845565b61150091906128ce565b600e60008282546115119190612783565b92505081905550600d60000160049054906101000a900460ff1660ff16600d60000160069054906101000a900460ff1660ff168261154f9190612845565b61155991906128ce565b6010600082825461156a9190612783565b92505081905550611733565b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156115e457506000600d60000160009054906101000a900460ff1660ff16115b15611732576116246064611616600d60000160009054906101000a900460ff1660ff1688611c6990919063ffffffff16565b611ce490919063ffffffff16565b9050600d60000160009054906101000a900460ff1660ff16600d60000160039054906101000a900460ff1660ff168261165d9190612845565b61166791906128ce565b600f60008282546116789190612783565b92505081905550600d60000160009054906101000a900460ff1660ff16600d60000160019054906101000a900460ff1660ff16826116b69190612845565b6116c091906128ce565b600e60008282546116d19190612783565b92505081905550600d60000160009054906101000a900460ff1660ff16600d60000160029054906101000a900460ff1660ff168261170f9190612845565b61171991906128ce565b6010600082825461172a9190612783565b925050819055505b5b5b6000811115611749576117488730836117d1565b5b808561175591906128ff565b9450505b6117648686866117d1565b5050505b505050565b60008383111582906117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac91906121a9565b60405180910390fd5b50600083856117c491906128ff565b9050809150509392505050565b61183c81604051806060016040528060268152602001612cf1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461176d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118cf816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161196e91906122e9565b60405180910390a3505050565b6000611986306107c1565b90506000601054600e54600f5461199d9190612783565b6119a79190612783565b90506000808314806119b95750600082145b156119c657505050611c67565b6014600b546119d59190612845565b8311156119ee576014600b546119eb9190612845565b92505b6000600283600f5486611a019190612845565b611a0b91906128ce565b611a1591906128ce565b90506000611a2c8286611d2e90919063ffffffff16565b90506000479050611a3c82611d78565b6000611a518247611d2e90919063ffffffff16565b90506000611a7c87611a6e600e5485611c6990919063ffffffff16565b611ce490919063ffffffff16565b90506000611aa788611a9960105486611c6990919063ffffffff16565b611ce490919063ffffffff16565b905060008183611ab79190612783565b84611ac291906128ff565b90506000600f819055506000600e819055506000601081905550600087118015611aec5750600081115b15611b3557611afb8782611fc4565b7f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f83814868682604051611b2c929190612933565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168347611b7a91906128ff565b604051611b869061298d565b60006040518083038185875af1925050503d8060008114611bc3576040519150601f19603f3d011682016040523d82523d6000602084013e611bc8565b606091505b505080985050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611c149061298d565b60006040518083038185875af1925050503d8060008114611c51576040519150601f19603f3d011682016040523d82523d6000602084013e611c56565b606091505b505080985050505050505050505050505b565b600080831415611c7c5760009050611cde565b60008284611c8a9190612845565b9050828482611c9991906128ce565b14611cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd090612a14565b60405180910390fd5b809150505b92915050565b6000611d2683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120ad565b905092915050565b6000611d7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061176d565b905092915050565b6000600267ffffffffffffffff811115611d9557611d94612a34565b5b604051908082528060200260200182016040528015611dc35781602001602082028036833780820191505090505b5090503081600081518110611ddb57611dda612a63565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7b57600080fd5b505afa158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb39190612aa7565b81600181518110611ec757611ec6612a63565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f2c307f000000000000000000000000000000000000000000000000000000000000000084611088565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f8e959493929190612bcd565b600060405180830381600087803b158015611fa857600080fd5b505af1158015611fbc573d6000803e3d6000fd5b505050505050565b611fef307f000000000000000000000000000000000000000000000000000000000000000084611088565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b815260040161205496959493929190612c27565b6060604051808303818588803b15801561206d57600080fd5b505af1158015612081573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120a69190612c9d565b5050505050565b600080831182906120f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120eb91906121a9565b60405180910390fd5b506000838561210391906128ce565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561214a57808201518184015260208101905061212f565b83811115612159576000848401525b50505050565b6000601f19601f8301169050919050565b600061217b82612110565b612185818561211b565b935061219581856020860161212c565b61219e8161215f565b840191505092915050565b600060208201905081810360008301526121c38184612170565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121fb826121d0565b9050919050565b61220b816121f0565b811461221657600080fd5b50565b60008135905061222881612202565b92915050565b6000819050919050565b6122418161222e565b811461224c57600080fd5b50565b60008135905061225e81612238565b92915050565b6000806040838503121561227b5761227a6121cb565b5b600061228985828601612219565b925050602061229a8582860161224f565b9150509250929050565b60008115159050919050565b6122b9816122a4565b82525050565b60006020820190506122d460008301846122b0565b92915050565b6122e38161222e565b82525050565b60006020820190506122fe60008301846122da565b92915050565b61230d816121f0565b82525050565b60006020820190506123286000830184612304565b92915050565b600080600060608486031215612347576123466121cb565b5b600061235586828701612219565b935050602061236686828701612219565b92505060406123778682870161224f565b9150509250925092565b600060ff82169050919050565b61239781612381565b82525050565b60006020820190506123b2600083018461238e565b92915050565b6000602082840312156123ce576123cd6121cb565b5b60006123dc84828501612219565b91505092915050565b6123ee816122a4565b81146123f957600080fd5b50565b60008135905061240b816123e5565b92915050565b60008060408385031215612428576124276121cb565b5b600061243685828601612219565b9250506020612447858286016123fc565b9150509250929050565b600061010082019050612467600083018b61238e565b612474602083018a61238e565b612481604083018961238e565b61248e606083018861238e565b61249b608083018761238e565b6124a860a083018661238e565b6124b560c083018561238e565b6124c260e083018461238e565b9998505050505050505050565b600080604083850312156124e6576124e56121cb565b5b60006124f485828601612219565b925050602061250585828601612219565b9150509250929050565b6000819050919050565b600061253461252f61252a846121d0565b61250f565b6121d0565b9050919050565b600061254682612519565b9050919050565b60006125588261253b565b9050919050565b6125688161254d565b82525050565b6000602082019050612583600083018461255f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806125d057607f821691505b602082108114156125e4576125e3612589565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061262060208361211b565b915061262b826125ea565b602082019050919050565b6000602082019050818103600083015261264f81612613565b9050919050565b7f4d757374206b65657020756e6973776170563250616972000000000000000000600082015250565b600061268c60178361211b565b915061269782612656565b602082019050919050565b600060208201905081810360008301526126bb8161267f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061271e60268361211b565b9150612729826126c2565b604082019050919050565b6000602082019050818103600083015261274d81612711565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061278e8261222e565b91506127998361222e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127ce576127cd612754565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061280f601b8361211b565b915061281a826127d9565b602082019050919050565b6000602082019050818103600083015261283e81612802565b9050919050565b60006128508261222e565b915061285b8361222e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561289457612893612754565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006128d98261222e565b91506128e48361222e565b9250826128f4576128f361289f565b5b828204905092915050565b600061290a8261222e565b91506129158361222e565b92508282101561292857612927612754565b5b828203905092915050565b600060408201905061294860008301856122da565b61295560208301846122da565b9392505050565b600081905092915050565b50565b600061297760008361295c565b915061298282612967565b600082019050919050565b60006129988261296a565b9150819050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129fe60218361211b565b9150612a09826129a2565b604082019050919050565b60006020820190508181036000830152612a2d816129f1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aa181612202565b92915050565b600060208284031215612abd57612abc6121cb565b5b6000612acb84828501612a92565b91505092915050565b6000819050919050565b6000612af9612af4612aef84612ad4565b61250f565b61222e565b9050919050565b612b0981612ade565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b44816121f0565b82525050565b6000612b568383612b3b565b60208301905092915050565b6000602082019050919050565b6000612b7a82612b0f565b612b848185612b1a565b9350612b8f83612b2b565b8060005b83811015612bc0578151612ba78882612b4a565b9750612bb283612b62565b925050600181019050612b93565b5085935050505092915050565b600060a082019050612be260008301886122da565b612bef6020830187612b00565b8181036040830152612c018186612b6f565b9050612c106060830185612304565b612c1d60808301846122da565b9695505050505050565b600060c082019050612c3c6000830189612304565b612c4960208301886122da565b612c566040830187612b00565b612c636060830186612b00565b612c706080830185612304565b612c7d60a08301846122da565b979650505050505050565b600081519050612c9781612238565b92915050565b600080600060608486031215612cb657612cb56121cb565b5b6000612cc486828701612c88565b9350506020612cd586828701612c88565b9250506040612ce686828701612c88565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207dbd6666777a09ac123031833522dad24655a5b169e74274164f326918b2d22364736f6c63430008090033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063d212a69a1161006f578063d212a69a14610493578063d3f6a157146104c5578063dd62ed3e146104ee578063f2fde38b1461052b578063f5b3c3bf14610554578063f887ea401461059157610156565b80638da5cb5b1461038157806395d89b41146103ac5780639fccce32146103d7578063a9059cbb14610402578063b88631151461043f578063c16dd4a41461046a57610156565b806323b872dd1161010857806323b872dd1461026f578063313ce567146102ac57806349bd5a5e146102d75780636ddd17131461030257806370a082311461032d578063715018a61461036a57610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c3578063185870f9146101ee5780631a8145bb146102195780631f3fed8f1461024457610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105bc565b60405161017d91906121a9565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612264565b61064e565b6040516101ba91906122bf565b60405180910390f35b3480156101cf57600080fd5b506101d861066c565b6040516101e591906122e9565b60405180910390f35b3480156101fa57600080fd5b50610203610676565b6040516102109190612313565b60405180910390f35b34801561022557600080fd5b5061022e61069c565b60405161023b91906122e9565b60405180910390f35b34801561025057600080fd5b506102596106a2565b60405161026691906122e9565b60405180910390f35b34801561027b57600080fd5b506102966004803603810190610291919061232e565b6106a8565b6040516102a391906122bf565b60405180910390f35b3480156102b857600080fd5b506102c1610781565b6040516102ce919061239d565b60405180910390f35b3480156102e357600080fd5b506102ec61078a565b6040516102f99190612313565b60405180910390f35b34801561030e57600080fd5b506103176107ae565b60405161032491906122bf565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f91906123b8565b6107c1565b60405161036191906122e9565b60405180910390f35b34801561037657600080fd5b5061037f610809565b005b34801561038d57600080fd5b50610396610961565b6040516103a39190612313565b60405180910390f35b3480156103b857600080fd5b506103c161098b565b6040516103ce91906121a9565b60405180910390f35b3480156103e357600080fd5b506103ec610a1d565b6040516103f991906122e9565b60405180910390f35b34801561040e57600080fd5b5061042960048036038101906104249190612264565b610a23565b60405161043691906122bf565b60405180910390f35b34801561044b57600080fd5b50610454610a41565b60405161046191906122bf565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c9190612411565b610a54565b005b34801561049f57600080fd5b506104a8610bd5565b6040516104bc989796959493929190612451565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e791906124cf565b610c73565b005b3480156104fa57600080fd5b50610515600480360381019061051091906124cf565b610d90565b60405161052291906122e9565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d91906123b8565b610e17565b005b34801561056057600080fd5b5061057b600480360381019061057691906123b8565b610fde565b60405161058891906122bf565b60405180910390f35b34801561059d57600080fd5b506105a6610ffe565b6040516105b3919061256e565b60405180910390f35b6060600380546105cb906125b8565b80601f01602080910402602001604051908101604052809291908181526020018280546105f7906125b8565b80156106445780601f1061061957610100808354040283529160200191610644565b820191906000526020600020905b81548152906001019060200180831161062757829003601f168201915b5050505050905090565b600061066261065b611080565b8484611088565b6001905092915050565b6000600254905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b600e5481565b60006106b5848484611173565b610776846106c1611080565b61077185604051806060016040528060288152602001612d1760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610727611080565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461176d9092919063ffffffff16565b611088565b600190509392505050565b60006012905090565b7f000000000000000000000000e3b37571994bc9db3fdf436ba512160dc958d48d81565b600c60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610811611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612636565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461099a906125b8565b80601f01602080910402602001604051908101604052809291908181526020018280546109c6906125b8565b8015610a135780601f106109e857610100808354040283529160200191610a13565b820191906000526020600020905b8154815290600101906020018083116109f657829003601f168201915b5050505050905090565b60105481565b6000610a37610a30611080565b8484611173565b6001905092915050565b600c60029054906101000a900460ff1681565b610a5c611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612636565b60405180910390fd5b7f000000000000000000000000e3b37571994bc9db3fdf436ba512160dc958d48d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b71906126a2565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16908060000160049054906101000a900460ff16908060000160059054906101000a900460ff16908060000160069054906101000a900460ff16908060000160079054906101000a900460ff16905088565b610c7b611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0190612636565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e1f611080565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590612636565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590612734565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60126020528060005260406000206000915054906101000a900460ff1681565b7f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2481565b60008082846110319190612783565b905083811015611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106d90612825565b60405180910390fd5b8091505092915050565b600033905090565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161116691906122e9565b60405180910390a3505050565b600081141561118d57611188838360006117d1565b611768565b611195610961565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561120357506111d3610961565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561121c5750600c60029054906101000a900460ff16155b506000611228306107c1565b90506000600b54821015905080801561124d5750600c60019054906101000a900460ff165b80156112665750600c60029054906101000a900460ff16155b80156112bb5750601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112ff576001600c60026101000a81548160ff0219169083151502179055506112e361197b565b6000600c60026101000a81548160ff0219169083151502179055505b6000600c60029054906101000a900460ff1615905080156117595760006011544310156113b65761134d606461133f606388611c6990919063ffffffff16565b611ce490919063ffffffff16565b90506063605e8261135e9190612845565b61136891906128ce565b600e60008282546113799190612783565b92505081905550606360058261138f9190612845565b61139991906128ce565b601060008282546113aa9190612783565b92505081905550611734565b601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561142457506000600d60000160049054906101000a900460ff1660ff16115b15611576576114646064611456600d60000160049054906101000a900460ff1660ff1688611c6990919063ffffffff16565b611ce490919063ffffffff16565b9050600d60000160049054906101000a900460ff1660ff16600d60000160079054906101000a900460ff1660ff168261149d9190612845565b6114a791906128ce565b600f60008282546114b89190612783565b92505081905550600d60000160049054906101000a900460ff1660ff16600d60000160059054906101000a900460ff1660ff16826114f69190612845565b61150091906128ce565b600e60008282546115119190612783565b92505081905550600d60000160049054906101000a900460ff1660ff16600d60000160069054906101000a900460ff1660ff168261154f9190612845565b61155991906128ce565b6010600082825461156a9190612783565b92505081905550611733565b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156115e457506000600d60000160009054906101000a900460ff1660ff16115b15611732576116246064611616600d60000160009054906101000a900460ff1660ff1688611c6990919063ffffffff16565b611ce490919063ffffffff16565b9050600d60000160009054906101000a900460ff1660ff16600d60000160039054906101000a900460ff1660ff168261165d9190612845565b61166791906128ce565b600f60008282546116789190612783565b92505081905550600d60000160009054906101000a900460ff1660ff16600d60000160019054906101000a900460ff1660ff16826116b69190612845565b6116c091906128ce565b600e60008282546116d19190612783565b92505081905550600d60000160009054906101000a900460ff1660ff16600d60000160029054906101000a900460ff1660ff168261170f9190612845565b61171991906128ce565b6010600082825461172a9190612783565b925050819055505b5b5b6000811115611749576117488730836117d1565b5b808561175591906128ff565b9450505b6117648686866117d1565b5050505b505050565b60008383111582906117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac91906121a9565b60405180910390fd5b50600083856117c491906128ff565b9050809150509392505050565b61183c81604051806060016040528060268152602001612cf1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461176d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118cf816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461102290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161196e91906122e9565b60405180910390a3505050565b6000611986306107c1565b90506000601054600e54600f5461199d9190612783565b6119a79190612783565b90506000808314806119b95750600082145b156119c657505050611c67565b6014600b546119d59190612845565b8311156119ee576014600b546119eb9190612845565b92505b6000600283600f5486611a019190612845565b611a0b91906128ce565b611a1591906128ce565b90506000611a2c8286611d2e90919063ffffffff16565b90506000479050611a3c82611d78565b6000611a518247611d2e90919063ffffffff16565b90506000611a7c87611a6e600e5485611c6990919063ffffffff16565b611ce490919063ffffffff16565b90506000611aa788611a9960105486611c6990919063ffffffff16565b611ce490919063ffffffff16565b905060008183611ab79190612783565b84611ac291906128ff565b90506000600f819055506000600e819055506000601081905550600087118015611aec5750600081115b15611b3557611afb8782611fc4565b7f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f83814868682604051611b2c929190612933565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168347611b7a91906128ff565b604051611b869061298d565b60006040518083038185875af1925050503d8060008114611bc3576040519150601f19603f3d011682016040523d82523d6000602084013e611bc8565b606091505b505080985050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611c149061298d565b60006040518083038185875af1925050503d8060008114611c51576040519150601f19603f3d011682016040523d82523d6000602084013e611c56565b606091505b505080985050505050505050505050505b565b600080831415611c7c5760009050611cde565b60008284611c8a9190612845565b9050828482611c9991906128ce565b14611cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd090612a14565b60405180910390fd5b809150505b92915050565b6000611d2683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120ad565b905092915050565b6000611d7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061176d565b905092915050565b6000600267ffffffffffffffff811115611d9557611d94612a34565b5b604051908082528060200260200182016040528015611dc35781602001602082028036833780820191505090505b5090503081600081518110611ddb57611dda612a63565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7b57600080fd5b505afa158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb39190612aa7565b81600181518110611ec757611ec6612a63565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f2c307f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2484611088565b7f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f8e959493929190612bcd565b600060405180830381600087803b158015611fa857600080fd5b505af1158015611fbc573d6000803e3d6000fd5b505050505050565b611fef307f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2484611088565b7f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b815260040161205496959493929190612c27565b6060604051808303818588803b15801561206d57600080fd5b505af1158015612081573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120a69190612c9d565b5050505050565b600080831182906120f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120eb91906121a9565b60405180910390fd5b506000838561210391906128ce565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561214a57808201518184015260208101905061212f565b83811115612159576000848401525b50505050565b6000601f19601f8301169050919050565b600061217b82612110565b612185818561211b565b935061219581856020860161212c565b61219e8161215f565b840191505092915050565b600060208201905081810360008301526121c38184612170565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121fb826121d0565b9050919050565b61220b816121f0565b811461221657600080fd5b50565b60008135905061222881612202565b92915050565b6000819050919050565b6122418161222e565b811461224c57600080fd5b50565b60008135905061225e81612238565b92915050565b6000806040838503121561227b5761227a6121cb565b5b600061228985828601612219565b925050602061229a8582860161224f565b9150509250929050565b60008115159050919050565b6122b9816122a4565b82525050565b60006020820190506122d460008301846122b0565b92915050565b6122e38161222e565b82525050565b60006020820190506122fe60008301846122da565b92915050565b61230d816121f0565b82525050565b60006020820190506123286000830184612304565b92915050565b600080600060608486031215612347576123466121cb565b5b600061235586828701612219565b935050602061236686828701612219565b92505060406123778682870161224f565b9150509250925092565b600060ff82169050919050565b61239781612381565b82525050565b60006020820190506123b2600083018461238e565b92915050565b6000602082840312156123ce576123cd6121cb565b5b60006123dc84828501612219565b91505092915050565b6123ee816122a4565b81146123f957600080fd5b50565b60008135905061240b816123e5565b92915050565b60008060408385031215612428576124276121cb565b5b600061243685828601612219565b9250506020612447858286016123fc565b9150509250929050565b600061010082019050612467600083018b61238e565b612474602083018a61238e565b612481604083018961238e565b61248e606083018861238e565b61249b608083018761238e565b6124a860a083018661238e565b6124b560c083018561238e565b6124c260e083018461238e565b9998505050505050505050565b600080604083850312156124e6576124e56121cb565b5b60006124f485828601612219565b925050602061250585828601612219565b9150509250929050565b6000819050919050565b600061253461252f61252a846121d0565b61250f565b6121d0565b9050919050565b600061254682612519565b9050919050565b60006125588261253b565b9050919050565b6125688161254d565b82525050565b6000602082019050612583600083018461255f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806125d057607f821691505b602082108114156125e4576125e3612589565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061262060208361211b565b915061262b826125ea565b602082019050919050565b6000602082019050818103600083015261264f81612613565b9050919050565b7f4d757374206b65657020756e6973776170563250616972000000000000000000600082015250565b600061268c60178361211b565b915061269782612656565b602082019050919050565b600060208201905081810360008301526126bb8161267f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061271e60268361211b565b9150612729826126c2565b604082019050919050565b6000602082019050818103600083015261274d81612711565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061278e8261222e565b91506127998361222e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127ce576127cd612754565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061280f601b8361211b565b915061281a826127d9565b602082019050919050565b6000602082019050818103600083015261283e81612802565b9050919050565b60006128508261222e565b915061285b8361222e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561289457612893612754565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006128d98261222e565b91506128e48361222e565b9250826128f4576128f361289f565b5b828204905092915050565b600061290a8261222e565b91506129158361222e565b92508282101561292857612927612754565b5b828203905092915050565b600060408201905061294860008301856122da565b61295560208301846122da565b9392505050565b600081905092915050565b50565b600061297760008361295c565b915061298282612967565b600082019050919050565b60006129988261296a565b9150819050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129fe60218361211b565b9150612a09826129a2565b604082019050919050565b60006020820190508181036000830152612a2d816129f1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aa181612202565b92915050565b600060208284031215612abd57612abc6121cb565b5b6000612acb84828501612a92565b91505092915050565b6000819050919050565b6000612af9612af4612aef84612ad4565b61250f565b61222e565b9050919050565b612b0981612ade565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b44816121f0565b82525050565b6000612b568383612b3b565b60208301905092915050565b6000602082019050919050565b6000612b7a82612b0f565b612b848185612b1a565b9350612b8f83612b2b565b8060005b83811015612bc0578151612ba78882612b4a565b9750612bb283612b62565b925050600181019050612b93565b5085935050505092915050565b600060a082019050612be260008301886122da565b612bef6020830187612b00565b8181036040830152612c018186612b6f565b9050612c106060830185612304565b612c1d60808301846122da565b9695505050505050565b600060c082019050612c3c6000830189612304565b612c4960208301886122da565b612c566040830187612b00565b612c636060830186612b00565b612c706080830185612304565b612c7d60a08301846122da565b979650505050505050565b600081519050612c9781612238565b92915050565b600080600060608486031215612cb657612cb56121cb565b5b6000612cc486828701612c88565b9350506020612cd586828701612c88565b9250506040612ce686828701612c88565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207dbd6666777a09ac123031833522dad24655a5b169e74274164f326918b2d22364736f6c63430008090033

Deployed Bytecode Sourcemap

13023:7847:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1806:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2753:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2140:107;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13213:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14176:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2935:354;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2035:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13146:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13520:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2261:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5998:148;;;;;;;;;;;;;:::i;:::-;;5773:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14216:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2401:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13557:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15796:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13864:251;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;15987:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2589:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6160:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14286:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13097;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1806:99;1859:13;1892:5;1885:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1806:99;:::o;2753:168::-;2835:4;2852:39;2861:12;:10;:12::i;:::-;2875:7;2884:6;2852:8;:39::i;:::-;2909:4;2902:11;;2753:168;;;;:::o;2140:107::-;2200:7;2227:12;;2220:19;;2140:107;:::o;13213:31::-;;;;;;;;;;;;;:::o;14176:33::-;;;;:::o;14136:::-;;;;:::o;2935:354::-;3074:4;3091:36;3101:6;3109:9;3120:6;3091:9;:36::i;:::-;3138:121;3147:6;3155:12;:10;:12::i;:::-;3169:89;3207:6;3169:89;;;;;;;;;;;;;;;;;:11;:19;3181:6;3169:19;;;;;;;;;;;;;;;:33;3189:12;:10;:12::i;:::-;3169:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3138:8;:121::i;:::-;3277:4;3270:11;;2935:354;;;;;:::o;2035:92::-;2092:5;2117:2;2110:9;;2035:92;:::o;13146:38::-;;;:::o;13520:30::-;;;;;;;;;;;;;:::o;2261:126::-;2334:7;2361:9;:18;2371:7;2361:18;;;;;;;;;;;;;;;;2354:25;;2261:126;;;:::o;5998:148::-;5915:12;:10;:12::i;:::-;5905:22;;:6;;;;;;;;;;;:22;;;5897:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6105:1:::1;6068:40;;6089:6;;;;;;;;;;;6068:40;;;;;;;;;;;;6136:1;6119:6;;:19;;;;;;;;;;;;;;;;;;5998:148::o:0;5773:78::-;5810:7;5837:6;;;;;;;;;;;5830:13;;5773:78;:::o;1918:103::-;1973:13;2006:7;1999:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1918:103;:::o;14216:27::-;;;;:::o;2401:174::-;2486:4;2503:42;2513:12;:10;:12::i;:::-;2527:9;2538:6;2503:9;:42::i;:::-;2563:4;2556:11;;2401:174;;;;:::o;13557:22::-;;;;;;;;;;;;;:::o;15796:177::-;5915:12;:10;:12::i;:::-;5905:22;;:6;;;;;;;;;;;:22;;;5897:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15889:13:::1;15881:21;;:4;:21;;;;15873:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;15960:5;15941:10;:16;15952:4;15941:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;15796:177:::0;;:::o;13864:251::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15987:172::-;5915:12;:10;:12::i;:::-;5905:22;;:6;;;;;;;;;;;:22;;;5897:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16096:16:::1;16081:12;;:31;;;;;;;;;;;;;;;;;;16141:10;16123:15;;:28;;;;;;;;;;;;;;;;;;15987:172:::0;;:::o;2589:150::-;2677:7;2704:11;:18;2716:5;2704:18;;;;;;;;;;;;;;;:27;2723:7;2704:27;;;;;;;;;;;;;;;;2697:34;;2589:150;;;;:::o;6160:244::-;5915:12;:10;:12::i;:::-;5905:22;;:6;;;;;;;;;;;:22;;;5897:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6269:1:::1;6249:22;;:8;:22;;;;6241:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6359:8;6330:38;;6351:6;;;;;;;;;;;6330:38;;;;;;;;;;;;6388:8;6379:6;;:17;;;;;;;;;;;;;;;;;;6160:244:::0;:::o;14286:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;13097:::-;;;:::o;4278:180::-;4335:7;4355:9;4371:1;4367;:5;;;;:::i;:::-;4355:17;;4396:1;4391;:6;;4383:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4449:1;4442:8;;;4278:180;;;;:::o;1238:97::-;1290:7;1317:10;1310:17;;1238:97;:::o;4013:220::-;4171:6;4141:11;:18;4153:5;4141:18;;;;;;;;;;;;;;;:27;4160:7;4141:27;;;;;;;;;;;;;;;:36;;;;4209:7;4193:32;;4202:5;4193:32;;;4218:6;4193:32;;;;;;:::i;:::-;;;;;;;;4013:220;;;:::o;16167:2202::-;16334:1;16324:6;:11;16320:102;;;16352:37;16368:6;16376:9;16387:1;16352:15;:37::i;:::-;16404:7;;16320:102;16462:7;:5;:7::i;:::-;16452:17;;:6;:17;;;;:54;;;;;16499:7;:5;:7::i;:::-;16486:20;;:9;:20;;;;16452:54;:82;;;;;16524:10;;;;;;;;;;;16523:11;16452:82;16434:152;16610:28;16641:24;16659:4;16641:9;:24::i;:::-;16610:55;;16679:12;16718:19;;16694:20;:43;;16679:58;;16768:7;:35;;;;;16792:11;;;;;;;;;;;16768:35;:63;;;;;16821:10;;;;;;;;;;;16820:11;16768:63;:101;;;;;16848:10;:21;16859:9;16848:21;;;;;;;;;;;;;;;;;;;;;;;;;16768:101;16750:247;;;16923:4;16910:10;;:17;;;;;;;;;;;;;;;;;;16942:10;:8;:10::i;:::-;16980:5;16967:10;;:18;;;;;;;;;;;;;;;;;;16750:247;17010:12;17026:10;;;;;;;;;;;17025:11;17010:26;;17063:7;17059:1248;;;17087:12;17136:7;;17121:12;:22;17118:1036;;;17171:23;17190:3;17171:14;17182:2;17171:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;17164:30;;17249:2;17243;17236:4;:9;;;;:::i;:::-;17235:16;;;;:::i;:::-;17213:18;;:38;;;;;;;:::i;:::-;;;;;;;;17299:2;17294:1;17287:4;:8;;;;:::i;:::-;17286:15;;;;:::i;:::-;17270:12;;:31;;;;;;;:::i;:::-;;;;;;;;17118:1036;;;17327:10;:21;17338:9;17327:21;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;;17374:1;17352:5;:19;;;;;;;;;;;;:23;;;17327:48;17323:831;;;17403:40;17439:3;17403:31;17414:5;:19;;;;;;;;;;;;17403:31;;:6;:10;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;17396:47;;17516:5;:19;;;;;;;;;;;;17484:51;;17491:5;:22;;;;;;;;;;;;17484:29;;:4;:29;;;;:::i;:::-;:51;;;;:::i;:::-;17462:18;;:73;;;;;;;:::i;:::-;;;;;;;;17608:5;:19;;;;;;;;;;;;17576:51;;17583:5;:22;;;;;;;;;;;;17576:29;;:4;:29;;;;:::i;:::-;:51;;;;:::i;:::-;17554:18;;:73;;;;;;;:::i;:::-;;;;;;;;17688:5;:19;;;;;;;;;;;;17662:45;;17669:5;:16;;;;;;;;;;;;17662:23;;:4;:23;;;;:::i;:::-;:45;;;;:::i;:::-;17646:12;;:61;;;;;;;:::i;:::-;;;;;;;;17323:831;;;17769:10;:18;17780:6;17769:18;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;17812:1;17791:5;:18;;;;;;;;;;;;:22;;;17769:44;17765:389;;;17841:39;17876:3;17841:30;17852:5;:18;;;;;;;;;;;;17841:30;;:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17834:46;;17952:5;:18;;;;;;;;;;;;17921:49;;17928:5;:21;;;;;;;;;;;;17921:28;;:4;:28;;;;:::i;:::-;:49;;;;:::i;:::-;17899:18;;:71;;;;;;;:::i;:::-;;;;;;;;18042:5;:18;;;;;;;;;;;;18011:49;;18018:5;:21;;;;;;;;;;;;18011:28;;:4;:28;;;;:::i;:::-;:49;;;;:::i;:::-;17989:18;;:71;;;;;;;:::i;:::-;;;;;;;;18120:5;:18;;;;;;;;;;;;18095:43;;18102:5;:15;;;;;;;;;;;;18095:22;;:4;:22;;;;:::i;:::-;:43;;;;:::i;:::-;18079:12;;:59;;;;;;;:::i;:::-;;;;;;;;17765:389;17323:831;17118:1036;18181:1;18174:4;:8;18170:93;;;18203:44;18219:6;18235:4;18242;18203:15;:44::i;:::-;18170:93;18289:4;18279:14;;;;;:::i;:::-;;;17072:1235;17059:1248;18319:42;18335:6;18343:9;18354:6;18319:15;:42::i;:::-;16299:2070;;;16167:2202;;;;:::o;4619:191::-;4704:7;4737:1;4732;:6;;4740:12;4724:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4764:9;4780:1;4776;:5;;;;:::i;:::-;4764:17;;4801:1;4794:8;;;4619:191;;;;;:::o;3306:358::-;3468:71;3490:6;3468:71;;;;;;;;;;;;;;;;;:9;:17;3478:6;3468:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;3448:9;:17;3458:6;3448:17;;;;;;;;;;;;;;;:91;;;;3573:32;3598:6;3573:9;:20;3583:9;3573:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3550:9;:20;3560:9;3550:20;;;;;;;;;;;;;;;:55;;;;3638:9;3621:35;;3630:6;3621:35;;;3649:6;3621:35;;;;;;:::i;:::-;;;;;;;;3306:358;;;:::o;19297:1568::-;19336:28;19367:24;19385:4;19367:9;:24::i;:::-;19336:55;;19402:14;19461:12;;19440:18;;19419;;:39;;;;:::i;:::-;:54;;;;:::i;:::-;19402:71;;19484:12;19537:1;19513:20;:25;:40;;;;19552:1;19542:6;:11;19513:40;19509:57;;;19557:7;;;;;19509:57;19627:2;19605:19;;:24;;;;:::i;:::-;19582:20;:47;19578:127;;;19691:2;19669:19;;:24;;;;:::i;:::-;19646:47;;19578:127;19766:23;19845:1;19836:6;19815:18;;19792:20;:41;;;;:::i;:::-;:50;;;;:::i;:::-;:54;;;;:::i;:::-;19766:80;;19857:26;19886:41;19911:15;19886:20;:24;;:41;;;;:::i;:::-;19857:70;;19941:25;19969:21;19941:49;;20003:36;20020:18;20003:16;:36::i;:::-;20054:18;20075:44;20101:17;20075:21;:25;;:44;;;;:::i;:::-;20054:65;;20133:23;20159:46;20198:6;20159:34;20174:18;;20159:10;:14;;:34;;;;:::i;:::-;:38;;:46;;;;:::i;:::-;20133:72;;20216:17;20236:40;20269:6;20236:28;20251:12;;20236:10;:14;;:28;;;;:::i;:::-;:32;;:40;;;;:::i;:::-;20216:60;;20287:23;20345:9;20327:15;:27;;;;:::i;:::-;20313:10;:42;;;;:::i;:::-;20287:68;;20391:1;20370:18;:22;;;;20424:1;20403:18;:22;;;;20451:1;20436:12;:16;;;;20489:1;20471:15;:19;:42;;;;;20512:1;20494:15;:19;20471:42;20467:192;;;20530:46;20543:15;20560;20530:12;:46::i;:::-;20596:51;20611:18;20631:15;20596:51;;;;;;;:::i;:::-;;;;;;;;20467:192;20692:15;;;;;;;;;;;20684:29;;20747:15;20723:21;:39;;;;:::i;:::-;20684:86;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20671:99;;;;;20802:12;;;;;;;;;;;20794:26;;20829:21;20794:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20781:76;;;;;19325:1540;;;;;;;;;;19297:1568;:::o;4818:256::-;4875:7;4910:1;4905;:6;4901:47;;;4935:1;4928:8;;;;4901:47;4961:9;4977:1;4973;:5;;;;:::i;:::-;4961:17;;5006:1;5001;4997;:5;;;;:::i;:::-;:10;4989:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5065:1;5058:8;;;4818:256;;;;;:::o;5085:131::-;5142:7;5169:39;5173:1;5176;5169:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5162:46;;5085:131;;;;:::o;4471:135::-;4528:7;4555:43;4559:1;4562;4555:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4548:50;;4471:135;;;;:::o;18377:554::-;18501:21;18539:1;18525:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18501:40;;18570:4;18552;18557:1;18552:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18596:6;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18586:4;18591:1;18586:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18622:49;18639:4;18654:6;18663:7;18622:8;:49::i;:::-;18710:6;:57;;;18782:7;18804:1;18848:4;18875;18895:15;18710:211;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18428:503;18377:554;:::o;18939:350::-;19083:49;19100:4;19115:6;19124:7;19083:8;:49::i;:::-;19175:6;:22;;;19206:9;19227:4;19234:7;19243:1;19246;19258:4;19265:15;19175:106;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18939:350;;:::o;5228:198::-;5313:7;5345:1;5341;:5;5348:12;5333:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5372:9;5388:1;5384;:5;;;;:::i;:::-;5372:17;;5417:1;5410:8;;;5228:198;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:118::-;3933:24;3951:5;3933:24;:::i;:::-;3928:3;3921:37;3846:118;;:::o;3970:222::-;4063:4;4101:2;4090:9;4086:18;4078:26;;4114:71;4182:1;4171:9;4167:17;4158:6;4114:71;:::i;:::-;3970:222;;;;:::o;4198:619::-;4275:6;4283;4291;4340:2;4328:9;4319:7;4315:23;4311:32;4308:119;;;4346:79;;:::i;:::-;4308:119;4466:1;4491:53;4536:7;4527:6;4516:9;4512:22;4491:53;:::i;:::-;4481:63;;4437:117;4593:2;4619:53;4664:7;4655:6;4644:9;4640:22;4619:53;:::i;:::-;4609:63;;4564:118;4721:2;4747:53;4792:7;4783:6;4772:9;4768:22;4747:53;:::i;:::-;4737:63;;4692:118;4198:619;;;;;:::o;4823:86::-;4858:7;4898:4;4891:5;4887:16;4876:27;;4823:86;;;:::o;4915:112::-;4998:22;5014:5;4998:22;:::i;:::-;4993:3;4986:35;4915:112;;:::o;5033:214::-;5122:4;5160:2;5149:9;5145:18;5137:26;;5173:67;5237:1;5226:9;5222:17;5213:6;5173:67;:::i;:::-;5033:214;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:116::-;5658:21;5673:5;5658:21;:::i;:::-;5651:5;5648:32;5638:60;;5694:1;5691;5684:12;5638:60;5588:116;:::o;5710:133::-;5753:5;5791:6;5778:20;5769:29;;5807:30;5831:5;5807:30;:::i;:::-;5710:133;;;;:::o;5849:468::-;5914:6;5922;5971:2;5959:9;5950:7;5946:23;5942:32;5939:119;;;5977:79;;:::i;:::-;5939:119;6097:1;6122:53;6167:7;6158:6;6147:9;6143:22;6122:53;:::i;:::-;6112:63;;6068:117;6224:2;6250:50;6292:7;6283:6;6272:9;6268:22;6250:50;:::i;:::-;6240:60;;6195:115;5849:468;;;;;:::o;6323:933::-;6580:4;6618:3;6607:9;6603:19;6595:27;;6632:67;6696:1;6685:9;6681:17;6672:6;6632:67;:::i;:::-;6709:68;6773:2;6762:9;6758:18;6749:6;6709:68;:::i;:::-;6787;6851:2;6840:9;6836:18;6827:6;6787:68;:::i;:::-;6865;6929:2;6918:9;6914:18;6905:6;6865:68;:::i;:::-;6943:69;7007:3;6996:9;6992:19;6983:6;6943:69;:::i;:::-;7022;7086:3;7075:9;7071:19;7062:6;7022:69;:::i;:::-;7101;7165:3;7154:9;7150:19;7141:6;7101:69;:::i;:::-;7180;7244:3;7233:9;7229:19;7220:6;7180:69;:::i;:::-;6323:933;;;;;;;;;;;:::o;7262:474::-;7330:6;7338;7387:2;7375:9;7366:7;7362:23;7358:32;7355:119;;;7393:79;;:::i;:::-;7355:119;7513:1;7538:53;7583:7;7574:6;7563:9;7559:22;7538:53;:::i;:::-;7528:63;;7484:117;7640:2;7666:53;7711:7;7702:6;7691:9;7687:22;7666:53;:::i;:::-;7656:63;;7611:118;7262:474;;;;;:::o;7742:60::-;7770:3;7791:5;7784:12;;7742:60;;;:::o;7808:142::-;7858:9;7891:53;7909:34;7918:24;7936:5;7918:24;:::i;:::-;7909:34;:::i;:::-;7891:53;:::i;:::-;7878:66;;7808:142;;;:::o;7956:126::-;8006:9;8039:37;8070:5;8039:37;:::i;:::-;8026:50;;7956:126;;;:::o;8088:153::-;8165:9;8198:37;8229:5;8198:37;:::i;:::-;8185:50;;8088:153;;;:::o;8247:185::-;8361:64;8419:5;8361:64;:::i;:::-;8356:3;8349:77;8247:185;;:::o;8438:276::-;8558:4;8596:2;8585:9;8581:18;8573:26;;8609:98;8704:1;8693:9;8689:17;8680:6;8609:98;:::i;:::-;8438:276;;;;:::o;8720:180::-;8768:77;8765:1;8758:88;8865:4;8862:1;8855:15;8889:4;8886:1;8879:15;8906:320;8950:6;8987:1;8981:4;8977:12;8967:22;;9034:1;9028:4;9024:12;9055:18;9045:81;;9111:4;9103:6;9099:17;9089:27;;9045:81;9173:2;9165:6;9162:14;9142:18;9139:38;9136:84;;;9192:18;;:::i;:::-;9136:84;8957:269;8906:320;;;:::o;9232:182::-;9372:34;9368:1;9360:6;9356:14;9349:58;9232:182;:::o;9420:366::-;9562:3;9583:67;9647:2;9642:3;9583:67;:::i;:::-;9576:74;;9659:93;9748:3;9659:93;:::i;:::-;9777:2;9772:3;9768:12;9761:19;;9420:366;;;:::o;9792:419::-;9958:4;9996:2;9985:9;9981:18;9973:26;;10045:9;10039:4;10035:20;10031:1;10020:9;10016:17;10009:47;10073:131;10199:4;10073:131;:::i;:::-;10065:139;;9792:419;;;:::o;10217:173::-;10357:25;10353:1;10345:6;10341:14;10334:49;10217:173;:::o;10396:366::-;10538:3;10559:67;10623:2;10618:3;10559:67;:::i;:::-;10552:74;;10635:93;10724:3;10635:93;:::i;:::-;10753:2;10748:3;10744:12;10737:19;;10396:366;;;:::o;10768:419::-;10934:4;10972:2;10961:9;10957:18;10949:26;;11021:9;11015:4;11011:20;11007:1;10996:9;10992:17;10985:47;11049:131;11175:4;11049:131;:::i;:::-;11041:139;;10768:419;;;:::o;11193:225::-;11333:34;11329:1;11321:6;11317:14;11310:58;11402:8;11397:2;11389:6;11385:15;11378:33;11193:225;:::o;11424:366::-;11566:3;11587:67;11651:2;11646:3;11587:67;:::i;:::-;11580:74;;11663:93;11752:3;11663:93;:::i;:::-;11781:2;11776:3;11772:12;11765:19;;11424:366;;;:::o;11796:419::-;11962:4;12000:2;11989:9;11985:18;11977:26;;12049:9;12043:4;12039:20;12035:1;12024:9;12020:17;12013:47;12077:131;12203:4;12077:131;:::i;:::-;12069:139;;11796:419;;;:::o;12221:180::-;12269:77;12266:1;12259:88;12366:4;12363:1;12356:15;12390:4;12387:1;12380:15;12407:305;12447:3;12466:20;12484:1;12466:20;:::i;:::-;12461:25;;12500:20;12518:1;12500:20;:::i;:::-;12495:25;;12654:1;12586:66;12582:74;12579:1;12576:81;12573:107;;;12660:18;;:::i;:::-;12573:107;12704:1;12701;12697:9;12690:16;;12407:305;;;;:::o;12718:177::-;12858:29;12854:1;12846:6;12842:14;12835:53;12718:177;:::o;12901:366::-;13043:3;13064:67;13128:2;13123:3;13064:67;:::i;:::-;13057:74;;13140:93;13229:3;13140:93;:::i;:::-;13258:2;13253:3;13249:12;13242:19;;12901:366;;;:::o;13273:419::-;13439:4;13477:2;13466:9;13462:18;13454:26;;13526:9;13520:4;13516:20;13512:1;13501:9;13497:17;13490:47;13554:131;13680:4;13554:131;:::i;:::-;13546:139;;13273:419;;;:::o;13698:348::-;13738:7;13761:20;13779:1;13761:20;:::i;:::-;13756:25;;13795:20;13813:1;13795:20;:::i;:::-;13790:25;;13983:1;13915:66;13911:74;13908:1;13905:81;13900:1;13893:9;13886:17;13882:105;13879:131;;;13990:18;;:::i;:::-;13879:131;14038:1;14035;14031:9;14020:20;;13698:348;;;;:::o;14052:180::-;14100:77;14097:1;14090:88;14197:4;14194:1;14187:15;14221:4;14218:1;14211:15;14238:185;14278:1;14295:20;14313:1;14295:20;:::i;:::-;14290:25;;14329:20;14347:1;14329:20;:::i;:::-;14324:25;;14368:1;14358:35;;14373:18;;:::i;:::-;14358:35;14415:1;14412;14408:9;14403:14;;14238:185;;;;:::o;14429:191::-;14469:4;14489:20;14507:1;14489:20;:::i;:::-;14484:25;;14523:20;14541:1;14523:20;:::i;:::-;14518:25;;14562:1;14559;14556:8;14553:34;;;14567:18;;:::i;:::-;14553:34;14612:1;14609;14605:9;14597:17;;14429:191;;;;:::o;14626:332::-;14747:4;14785:2;14774:9;14770:18;14762:26;;14798:71;14866:1;14855:9;14851:17;14842:6;14798:71;:::i;:::-;14879:72;14947:2;14936:9;14932:18;14923:6;14879:72;:::i;:::-;14626:332;;;;;:::o;14964:147::-;15065:11;15102:3;15087:18;;14964:147;;;;:::o;15117:114::-;;:::o;15237:398::-;15396:3;15417:83;15498:1;15493:3;15417:83;:::i;:::-;15410:90;;15509:93;15598:3;15509:93;:::i;:::-;15627:1;15622:3;15618:11;15611:18;;15237:398;;;:::o;15641:379::-;15825:3;15847:147;15990:3;15847:147;:::i;:::-;15840:154;;16011:3;16004:10;;15641:379;;;:::o;16026:220::-;16166:34;16162:1;16154:6;16150:14;16143:58;16235:3;16230:2;16222:6;16218:15;16211:28;16026:220;:::o;16252:366::-;16394:3;16415:67;16479:2;16474:3;16415:67;:::i;:::-;16408:74;;16491:93;16580:3;16491:93;:::i;:::-;16609:2;16604:3;16600:12;16593:19;;16252:366;;;:::o;16624:419::-;16790:4;16828:2;16817:9;16813:18;16805:26;;16877:9;16871:4;16867:20;16863:1;16852:9;16848:17;16841:47;16905:131;17031:4;16905:131;:::i;:::-;16897:139;;16624:419;;;:::o;17049:180::-;17097:77;17094:1;17087:88;17194:4;17191:1;17184:15;17218:4;17215:1;17208:15;17235:180;17283:77;17280:1;17273:88;17380:4;17377:1;17370:15;17404:4;17401:1;17394:15;17421:143;17478:5;17509:6;17503:13;17494:22;;17525:33;17552:5;17525:33;:::i;:::-;17421:143;;;;:::o;17570:351::-;17640:6;17689:2;17677:9;17668:7;17664:23;17660:32;17657:119;;;17695:79;;:::i;:::-;17657:119;17815:1;17840:64;17896:7;17887:6;17876:9;17872:22;17840:64;:::i;:::-;17830:74;;17786:128;17570:351;;;;:::o;17927:85::-;17972:7;18001:5;17990:16;;17927:85;;;:::o;18018:158::-;18076:9;18109:61;18127:42;18136:32;18162:5;18136:32;:::i;:::-;18127:42;:::i;:::-;18109:61;:::i;:::-;18096:74;;18018:158;;;:::o;18182:147::-;18277:45;18316:5;18277:45;:::i;:::-;18272:3;18265:58;18182:147;;:::o;18335:114::-;18402:6;18436:5;18430:12;18420:22;;18335:114;;;:::o;18455:184::-;18554:11;18588:6;18583:3;18576:19;18628:4;18623:3;18619:14;18604:29;;18455:184;;;;:::o;18645:132::-;18712:4;18735:3;18727:11;;18765:4;18760:3;18756:14;18748:22;;18645:132;;;:::o;18783:108::-;18860:24;18878:5;18860:24;:::i;:::-;18855:3;18848:37;18783:108;;:::o;18897:179::-;18966:10;18987:46;19029:3;19021:6;18987:46;:::i;:::-;19065:4;19060:3;19056:14;19042:28;;18897:179;;;;:::o;19082:113::-;19152:4;19184;19179:3;19175:14;19167:22;;19082:113;;;:::o;19231:732::-;19350:3;19379:54;19427:5;19379:54;:::i;:::-;19449:86;19528:6;19523:3;19449:86;:::i;:::-;19442:93;;19559:56;19609:5;19559:56;:::i;:::-;19638:7;19669:1;19654:284;19679:6;19676:1;19673:13;19654:284;;;19755:6;19749:13;19782:63;19841:3;19826:13;19782:63;:::i;:::-;19775:70;;19868:60;19921:6;19868:60;:::i;:::-;19858:70;;19714:224;19701:1;19698;19694:9;19689:14;;19654:284;;;19658:14;19954:3;19947:10;;19355:608;;;19231:732;;;;:::o;19969:831::-;20232:4;20270:3;20259:9;20255:19;20247:27;;20284:71;20352:1;20341:9;20337:17;20328:6;20284:71;:::i;:::-;20365:80;20441:2;20430:9;20426:18;20417:6;20365:80;:::i;:::-;20492:9;20486:4;20482:20;20477:2;20466:9;20462:18;20455:48;20520:108;20623:4;20614:6;20520:108;:::i;:::-;20512:116;;20638:72;20706:2;20695:9;20691:18;20682:6;20638:72;:::i;:::-;20720:73;20788:3;20777:9;20773:19;20764:6;20720:73;:::i;:::-;19969:831;;;;;;;;:::o;20806:807::-;21055:4;21093:3;21082:9;21078:19;21070:27;;21107:71;21175:1;21164:9;21160:17;21151:6;21107:71;:::i;:::-;21188:72;21256:2;21245:9;21241:18;21232:6;21188:72;:::i;:::-;21270:80;21346:2;21335:9;21331:18;21322:6;21270:80;:::i;:::-;21360;21436:2;21425:9;21421:18;21412:6;21360:80;:::i;:::-;21450:73;21518:3;21507:9;21503:19;21494:6;21450:73;:::i;:::-;21533;21601:3;21590:9;21586:19;21577:6;21533:73;:::i;:::-;20806:807;;;;;;;;;:::o;21619:143::-;21676:5;21707:6;21701:13;21692:22;;21723:33;21750:5;21723:33;:::i;:::-;21619:143;;;;:::o;21768:663::-;21856:6;21864;21872;21921:2;21909:9;21900:7;21896:23;21892:32;21889:119;;;21927:79;;:::i;:::-;21889:119;22047:1;22072:64;22128:7;22119:6;22108:9;22104:22;22072:64;:::i;:::-;22062:74;;22018:128;22185:2;22211:64;22267:7;22258:6;22247:9;22243:22;22211:64;:::i;:::-;22201:74;;22156:129;22324:2;22350:64;22406:7;22397:6;22386:9;22382:22;22350:64;:::i;:::-;22340:74;;22295:129;21768:663;;;;;:::o

Swarm Source

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