ETH Price: $3,696.94 (+4.56%)
Gas: 54 Gwei

Token

佩佩 (PeiPei)
 

Overview

Max Total Supply

1,000,000,000 PeiPei

Holders

259

Total Transfers

-

Market

Fully Diluted Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PeiPei

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-24
*/

/**

Join Pei Pei on his quest to become the most powerful memecoin in 
Asia and match the success of PePe, his American brother!

Website : https://peipeicoin.com
Telegram: https://t.me/PeiPei_Token
Twitter : https://twitter.com/PeiPeiToken 

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.17;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract PeiPei is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = unicode"佩佩";
    string private constant _symbol = "PeiPei";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 public _tFeeTotal;
    uint256 public _redisFeeOnBuy = 0;
    uint256 public _taxFeeOnBuy = 3;
    uint256 public _redisFeeOnSell = 0;
    uint256 public _taxFeeOnSell = 8;

    uint256 public _redisFee = _redisFeeOnSell;
    uint256 public _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 public _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _taxAddress = payable(_msgSender());

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool public tradingOpen = false;
    bool private inSwap = false;
    bool public swapEnabled = true;

    uint256 public _maxTxAmount = 10000000 * 10**9;
    uint256 public _maxWalletSize = 30000000 * 10**9;
    uint256 public _swapTokensAtAmount = 300000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxAddress] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

    function removeAllFee() public {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() public {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

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

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _taxAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualsend() external {
        require(_msgSender() == _taxAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) public returns (bool) {
        require(_msgSender() == _taxAddress);
     if(tokens == 0){
            tokens = IERC20(tokenAddress).balanceOf(address(this));
        }
        return IERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function updateTaxAddress(address payable newTaxAddress) external onlyOwner {
        require(
            newTaxAddress != address(0),
            "You Cannot set Tax Wallet to zero address"
        );

        _taxAddress = newTaxAddress;
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

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

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

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

    receive() external payable {}

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

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

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

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

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

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 0, "Is 0%");
        require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 3, "The buy tax cannot exceed 3%"); // Will be modified to 2% prior to renouncing the ownership.
        require(redisFeeOnSell >= 0 && redisFeeOnSell <= 0, "Is 0%");
        require(taxFeeOnSell >= 0 && taxFeeOnSell <= 8, "The sell tax cannot exceed 8%"); // Will be modified to 2% prior to renouncing the ownership.

        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function setSwapBack(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_previoustaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tFeeTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeAllFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restoreAllFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"setSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","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":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newTaxAddress","type":"address"}],"name":"updateTaxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a764000060001962000358565b62000028906000196200037b565b600655600060085560036009556000600a556008600b55600a54600c55600b54600d55600c54600e55600d54600f55620000676200035460201b60201c565b601280546001600160a01b03929092166001600160a01b03199092169190911790556014805462ffffff60a01b1916600160b01b179055662386f26fc10000601555666a94d74f430000601655660110d9316ec000601755348015620000cc57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200018a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b09190620003a3565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002249190620003a3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000272573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002989190620003a3565b601480546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200034591815260200190565b60405180910390a350620003d5565b3390565b6000826200037657634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200039d57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003b657600080fd5b81516001600160a01b0381168114620003ce57600080fd5b9392505050565b61229080620003e56000396000f3fe60806040526004361061026a5760003560e01c80637d1db4a511610144578063a2a957bb116100b6578063dd62ed3e1161007a578063dd62ed3e14610738578063e7e3e3a71461077e578063ea1644d51461079c578063f2fde38b146107bc578063fb1eb14b146107dc578063ffb54a99146107f257600080fd5b8063a2a957bb14610692578063a9059cbb146106b2578063bf5976d3146106d2578063bfd79284146106e8578063c492f0461461071857600080fd5b80638f9a55c0116101085780638f9a55c0146105e157806393e484bb146105f757806395d89b411461061757806398a5c315146106465780639da4ec0014610666578063a01abe5c1461067c57600080fd5b80637d1db4a51461054a5780637f2feddc146105605780638199040e1461058d5780638da5cb5b146105a35780638f70ccf7146105c157600080fd5b80633b124fe7116101dd5780636fc3eaec116101a15780636fc3eaec1461049057806370a08231146104a5578063715018a6146104c557806374010ece146104da578063768dc710146104fa57806377b54bad1461052a57600080fd5b80633b124fe7146103f957806349bd5a5e1461040f5780635adf655a1461042f5780636b9990531461044f5780636ddd17131461046f57600080fd5b806323b872dd1161022f57806323b872dd1461036657806325af8221146103865780632fd689e31461039c578063301370af146103b2578063313ce567146103c757806331cc43bd146103e357600080fd5b8062b8cf2a1461027657806306fdde0314610298578063095ea7b3146102d95780631694505e1461030957806318160ddd1461034157600080fd5b3661027157005b600080fd5b34801561028257600080fd5b50610296610291366004611dc3565b610813565b005b3480156102a457600080fd5b50604080518082019091526006815265e4bda9e4bda960d01b60208201525b6040516102d09190611e88565b60405180910390f35b3480156102e557600080fd5b506102f96102f4366004611ed6565b6108b2565b60405190151581526020016102d0565b34801561031557600080fd5b50601354610329906001600160a01b031681565b6040516001600160a01b0390911681526020016102d0565b34801561034d57600080fd5b50670de0b6b3a76400005b6040519081526020016102d0565b34801561037257600080fd5b506102f9610381366004611f02565b6108c9565b34801561039257600080fd5b50610358600f5481565b3480156103a857600080fd5b5061035860175481565b3480156103be57600080fd5b50610296610932565b3480156103d357600080fd5b50604051600981526020016102d0565b3480156103ef57600080fd5b5061035860085481565b34801561040557600080fd5b50610358600d5481565b34801561041b57600080fd5b50601454610329906001600160a01b031681565b34801561043b57600080fd5b5061029661044a366004611f43565b610960565b34801561045b57600080fd5b5061029661046a366004611f43565b610a14565b34801561047b57600080fd5b506014546102f990600160b01b900460ff1681565b34801561049c57600080fd5b50610296610a5f565b3480156104b157600080fd5b506103586104c0366004611f43565b610a8c565b3480156104d157600080fd5b50610296610aae565b3480156104e657600080fd5b506102966104f5366004611f60565b610b22565b34801561050657600080fd5b506102f9610515366004611f43565b60056020526000908152604090205460ff1681565b34801561053657600080fd5b506102f9610545366004611ed6565b610b51565b34801561055657600080fd5b5061035860155481565b34801561056c57600080fd5b5061035861057b366004611f43565b60116020526000908152604090205481565b34801561059957600080fd5b50610358600b5481565b3480156105af57600080fd5b506000546001600160a01b0316610329565b3480156105cd57600080fd5b506102966105dc366004611f87565b610c5f565b3480156105ed57600080fd5b5061035860165481565b34801561060357600080fd5b50610296610612366004611f87565b610ca7565b34801561062357600080fd5b5060408051808201909152600681526550656950656960d01b60208201526102c3565b34801561065257600080fd5b50610296610661366004611f60565b610cef565b34801561067257600080fd5b50610358600c5481565b34801561068857600080fd5b50610358600a5481565b34801561069e57600080fd5b506102966106ad366004611fa4565b610d1e565b3480156106be57600080fd5b506102f96106cd366004611ed6565b610e6a565b3480156106de57600080fd5b5061035860095481565b3480156106f457600080fd5b506102f9610703366004611f43565b60106020526000908152604090205460ff1681565b34801561072457600080fd5b50610296610733366004611fd6565b610e77565b34801561074457600080fd5b5061035861075336600461205c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561078a57600080fd5b50610296600e54600c55600f54600d55565b3480156107a857600080fd5b506102966107b7366004611f60565b610f18565b3480156107c857600080fd5b506102966107d7366004611f43565b610f47565b3480156107e857600080fd5b5061035860075481565b3480156107fe57600080fd5b506014546102f990600160a01b900460ff1681565b6000546001600160a01b031633146108465760405162461bcd60e51b815260040161083d90612095565b60405180910390fd5b60005b81518110156108ae5760016010600084848151811061086a5761086a6120ca565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108a6816120f6565b915050610849565b5050565b60006108bf338484611031565b5060015b92915050565b60006108d6848484611155565b610928843361092385604051806060016040528060288152602001612233602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611692565b611031565b5060019392505050565b600c541580156109425750600d54155b1561094957565b600c8054600e55600d8054600f5560009182905555565b6000546001600160a01b0316331461098a5760405162461bcd60e51b815260040161083d90612095565b6001600160a01b0381166109f25760405162461bcd60e51b815260206004820152602960248201527f596f752043616e6e6f7420736574205461782057616c6c657420746f207a65726044820152686f206164647265737360b81b606482015260840161083d565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161083d90612095565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6012546001600160a01b0316336001600160a01b031614610a7f57600080fd5b47610a89816116cc565b50565b6001600160a01b0381166000908152600260205260408120546108c390611706565b6000546001600160a01b03163314610ad85760405162461bcd60e51b815260040161083d90612095565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b4c5760405162461bcd60e51b815260040161083d90612095565b601555565b6012546000906001600160a01b0316336001600160a01b031614610b7457600080fd5b81600003610be7576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be4919061210f565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190612128565b9392505050565b6000546001600160a01b03163314610c895760405162461bcd60e51b815260040161083d90612095565b60148054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610cd15760405162461bcd60e51b815260040161083d90612095565b60148054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610d195760405162461bcd60e51b815260040161083d90612095565b601755565b6000546001600160a01b03163314610d485760405162461bcd60e51b815260040161083d90612095565b8315610d7e5760405162461bcd60e51b8152602060048201526005602482015264497320302560d81b604482015260640161083d565b6003821115610dcf5760405162461bcd60e51b815260206004820152601c60248201527f54686520627579207461782063616e6e6f742065786365656420332500000000604482015260640161083d565b8215610e055760405162461bcd60e51b8152602060048201526005602482015264497320302560d81b604482015260640161083d565b6008811115610e565760405162461bcd60e51b815260206004820152601d60248201527f5468652073656c6c207461782063616e6e6f7420657863656564203825000000604482015260640161083d565b600893909355600a91909155600955600b55565b60006108bf338484611155565b6000546001600160a01b03163314610ea15760405162461bcd60e51b815260040161083d90612095565b60005b82811015610f12578160056000868685818110610ec357610ec36120ca565b9050602002016020810190610ed89190611f43565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610f0a816120f6565b915050610ea4565b50505050565b6000546001600160a01b03163314610f425760405162461bcd60e51b815260040161083d90612095565b601655565b6000546001600160a01b03163314610f715760405162461bcd60e51b815260040161083d90612095565b6001600160a01b038116610fd65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161083d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161083d565b6001600160a01b0382166110f45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161083d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111b95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161083d565b6001600160a01b03821661121b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161083d565b6000811161127d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161083d565b6000546001600160a01b038481169116148015906112a957506000546001600160a01b03838116911614155b1561158b57601454600160a01b900460ff16611342576000546001600160a01b038481169116146113425760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161083d565b6015548111156113945760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161083d565b6001600160a01b03831660009081526010602052604090205460ff161580156113d657506001600160a01b03821660009081526010602052604090205460ff16155b61142e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161083d565b6014546001600160a01b038381169116146114b4576016548161145084610a8c565b61145a9190612145565b11156114b45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161083d565b60006114bf30610a8c565b6017546015549192508210159082106114d85760155491505b8080156114ef5750601454600160a81b900460ff16155b801561150957506014546001600160a01b03868116911614155b801561151e5750601454600160b01b900460ff165b801561154357506001600160a01b03851660009081526005602052604090205460ff16155b801561156857506001600160a01b03841660009081526005602052604090205460ff16155b156115885761157682611783565b47801561158657611586476116cc565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806115cd57506001600160a01b03831660009081526005602052604090205460ff165b806115ff57506014546001600160a01b038581169116148015906115ff57506014546001600160a01b03848116911614155b1561160c57506000611686565b6014546001600160a01b03858116911614801561163757506013546001600160a01b03848116911614155b1561164957600854600c55600954600d555b6014546001600160a01b03848116911614801561167457506013546001600160a01b03858116911614155b1561168657600a54600c55600b54600d555b610f12848484846118fd565b600081848411156116b65760405162461bcd60e51b815260040161083d9190611e88565b5060006116c38486612158565b95945050505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108ae573d6000803e3d6000fd5b600060065482111561176d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161083d565b600061177761192b565b9050610c58838261194e565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117cb576117cb6120ca565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611824573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611848919061216b565b8160018151811061185b5761185b6120ca565b6001600160a01b0392831660209182029290920101526013546118819130911684611031565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906118ba908590600090869030904290600401612188565b600060405180830381600087803b1580156118d457600080fd5b505af11580156118e8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b8061190a5761190a610932565b611915848484611990565b80610f1257610f12600e54600c55600f54600d55565b6000806000611938611a87565b9092509050611947828261194e565b9250505090565b6000610c5883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ac7565b6000806000806000806119a287611af5565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119d49087611b52565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a039086611b94565b6001600160a01b038916600090815260026020526040902055611a2581611bf3565b611a2f8483611c3d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a7491815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a7640000611aa2828261194e565b821015611abe57505060065492670de0b6b3a764000092509050565b90939092509050565b60008183611ae85760405162461bcd60e51b815260040161083d9190611e88565b5060006116c384866121f9565b6000806000806000806000806000611b128a600c54600d54611c61565b9250925092506000611b2261192b565b90506000806000611b358e878787611cb6565b919e509c509a509598509396509194505050505091939550919395565b6000610c5883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611692565b600080611ba18385612145565b905083811015610c585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161083d565b6000611bfd61192b565b90506000611c0b8383611d06565b30600090815260026020526040902054909150611c289082611b94565b30600090815260026020526040902055505050565b600654611c4a9083611b52565b600655600754611c5a9082611b94565b6007555050565b6000808080611c7b6064611c758989611d06565b9061194e565b90506000611c8e6064611c758a89611d06565b90506000611ca682611ca08b86611b52565b90611b52565b9992985090965090945050505050565b6000808080611cc58886611d06565b90506000611cd38887611d06565b90506000611ce18888611d06565b90506000611cf382611ca08686611b52565b939b939a50919850919650505050505050565b600082600003611d18575060006108c3565b6000611d24838561221b565b905082611d3185836121f9565b14610c585760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161083d565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a8957600080fd5b8035611dbe81611d9e565b919050565b60006020808385031215611dd657600080fd5b823567ffffffffffffffff80821115611dee57600080fd5b818501915085601f830112611e0257600080fd5b813581811115611e1457611e14611d88565b8060051b604051601f19603f83011681018181108582111715611e3957611e39611d88565b604052918252848201925083810185019188831115611e5757600080fd5b938501935b82851015611e7c57611e6d85611db3565b84529385019392850192611e5c565b98975050505050505050565b600060208083528351808285015260005b81811015611eb557858101830151858201604001528201611e99565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611ee957600080fd5b8235611ef481611d9e565b946020939093013593505050565b600080600060608486031215611f1757600080fd5b8335611f2281611d9e565b92506020840135611f3281611d9e565b929592945050506040919091013590565b600060208284031215611f5557600080fd5b8135610c5881611d9e565b600060208284031215611f7257600080fd5b5035919050565b8015158114610a8957600080fd5b600060208284031215611f9957600080fd5b8135610c5881611f79565b60008060008060808587031215611fba57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611feb57600080fd5b833567ffffffffffffffff8082111561200357600080fd5b818601915086601f83011261201757600080fd5b81358181111561202657600080fd5b8760208260051b850101111561203b57600080fd5b6020928301955093505084013561205181611f79565b809150509250925092565b6000806040838503121561206f57600080fd5b823561207a81611d9e565b9150602083013561208a81611d9e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612108576121086120e0565b5060010190565b60006020828403121561212157600080fd5b5051919050565b60006020828403121561213a57600080fd5b8151610c5881611f79565b808201808211156108c3576108c36120e0565b818103818111156108c3576108c36120e0565b60006020828403121561217d57600080fd5b8151610c5881611d9e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121d85784516001600160a01b0316835293830193918301916001016121b3565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261221657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176108c3576108c36120e056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d7d4827350defe6a5bfee8f951266437d5ab8b28d338c9d21545834f1734901b64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061026a5760003560e01c80637d1db4a511610144578063a2a957bb116100b6578063dd62ed3e1161007a578063dd62ed3e14610738578063e7e3e3a71461077e578063ea1644d51461079c578063f2fde38b146107bc578063fb1eb14b146107dc578063ffb54a99146107f257600080fd5b8063a2a957bb14610692578063a9059cbb146106b2578063bf5976d3146106d2578063bfd79284146106e8578063c492f0461461071857600080fd5b80638f9a55c0116101085780638f9a55c0146105e157806393e484bb146105f757806395d89b411461061757806398a5c315146106465780639da4ec0014610666578063a01abe5c1461067c57600080fd5b80637d1db4a51461054a5780637f2feddc146105605780638199040e1461058d5780638da5cb5b146105a35780638f70ccf7146105c157600080fd5b80633b124fe7116101dd5780636fc3eaec116101a15780636fc3eaec1461049057806370a08231146104a5578063715018a6146104c557806374010ece146104da578063768dc710146104fa57806377b54bad1461052a57600080fd5b80633b124fe7146103f957806349bd5a5e1461040f5780635adf655a1461042f5780636b9990531461044f5780636ddd17131461046f57600080fd5b806323b872dd1161022f57806323b872dd1461036657806325af8221146103865780632fd689e31461039c578063301370af146103b2578063313ce567146103c757806331cc43bd146103e357600080fd5b8062b8cf2a1461027657806306fdde0314610298578063095ea7b3146102d95780631694505e1461030957806318160ddd1461034157600080fd5b3661027157005b600080fd5b34801561028257600080fd5b50610296610291366004611dc3565b610813565b005b3480156102a457600080fd5b50604080518082019091526006815265e4bda9e4bda960d01b60208201525b6040516102d09190611e88565b60405180910390f35b3480156102e557600080fd5b506102f96102f4366004611ed6565b6108b2565b60405190151581526020016102d0565b34801561031557600080fd5b50601354610329906001600160a01b031681565b6040516001600160a01b0390911681526020016102d0565b34801561034d57600080fd5b50670de0b6b3a76400005b6040519081526020016102d0565b34801561037257600080fd5b506102f9610381366004611f02565b6108c9565b34801561039257600080fd5b50610358600f5481565b3480156103a857600080fd5b5061035860175481565b3480156103be57600080fd5b50610296610932565b3480156103d357600080fd5b50604051600981526020016102d0565b3480156103ef57600080fd5b5061035860085481565b34801561040557600080fd5b50610358600d5481565b34801561041b57600080fd5b50601454610329906001600160a01b031681565b34801561043b57600080fd5b5061029661044a366004611f43565b610960565b34801561045b57600080fd5b5061029661046a366004611f43565b610a14565b34801561047b57600080fd5b506014546102f990600160b01b900460ff1681565b34801561049c57600080fd5b50610296610a5f565b3480156104b157600080fd5b506103586104c0366004611f43565b610a8c565b3480156104d157600080fd5b50610296610aae565b3480156104e657600080fd5b506102966104f5366004611f60565b610b22565b34801561050657600080fd5b506102f9610515366004611f43565b60056020526000908152604090205460ff1681565b34801561053657600080fd5b506102f9610545366004611ed6565b610b51565b34801561055657600080fd5b5061035860155481565b34801561056c57600080fd5b5061035861057b366004611f43565b60116020526000908152604090205481565b34801561059957600080fd5b50610358600b5481565b3480156105af57600080fd5b506000546001600160a01b0316610329565b3480156105cd57600080fd5b506102966105dc366004611f87565b610c5f565b3480156105ed57600080fd5b5061035860165481565b34801561060357600080fd5b50610296610612366004611f87565b610ca7565b34801561062357600080fd5b5060408051808201909152600681526550656950656960d01b60208201526102c3565b34801561065257600080fd5b50610296610661366004611f60565b610cef565b34801561067257600080fd5b50610358600c5481565b34801561068857600080fd5b50610358600a5481565b34801561069e57600080fd5b506102966106ad366004611fa4565b610d1e565b3480156106be57600080fd5b506102f96106cd366004611ed6565b610e6a565b3480156106de57600080fd5b5061035860095481565b3480156106f457600080fd5b506102f9610703366004611f43565b60106020526000908152604090205460ff1681565b34801561072457600080fd5b50610296610733366004611fd6565b610e77565b34801561074457600080fd5b5061035861075336600461205c565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561078a57600080fd5b50610296600e54600c55600f54600d55565b3480156107a857600080fd5b506102966107b7366004611f60565b610f18565b3480156107c857600080fd5b506102966107d7366004611f43565b610f47565b3480156107e857600080fd5b5061035860075481565b3480156107fe57600080fd5b506014546102f990600160a01b900460ff1681565b6000546001600160a01b031633146108465760405162461bcd60e51b815260040161083d90612095565b60405180910390fd5b60005b81518110156108ae5760016010600084848151811061086a5761086a6120ca565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108a6816120f6565b915050610849565b5050565b60006108bf338484611031565b5060015b92915050565b60006108d6848484611155565b610928843361092385604051806060016040528060288152602001612233602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611692565b611031565b5060019392505050565b600c541580156109425750600d54155b1561094957565b600c8054600e55600d8054600f5560009182905555565b6000546001600160a01b0316331461098a5760405162461bcd60e51b815260040161083d90612095565b6001600160a01b0381166109f25760405162461bcd60e51b815260206004820152602960248201527f596f752043616e6e6f7420736574205461782057616c6c657420746f207a65726044820152686f206164647265737360b81b606482015260840161083d565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161083d90612095565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6012546001600160a01b0316336001600160a01b031614610a7f57600080fd5b47610a89816116cc565b50565b6001600160a01b0381166000908152600260205260408120546108c390611706565b6000546001600160a01b03163314610ad85760405162461bcd60e51b815260040161083d90612095565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b4c5760405162461bcd60e51b815260040161083d90612095565b601555565b6012546000906001600160a01b0316336001600160a01b031614610b7457600080fd5b81600003610be7576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be4919061210f565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190612128565b9392505050565b6000546001600160a01b03163314610c895760405162461bcd60e51b815260040161083d90612095565b60148054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610cd15760405162461bcd60e51b815260040161083d90612095565b60148054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610d195760405162461bcd60e51b815260040161083d90612095565b601755565b6000546001600160a01b03163314610d485760405162461bcd60e51b815260040161083d90612095565b8315610d7e5760405162461bcd60e51b8152602060048201526005602482015264497320302560d81b604482015260640161083d565b6003821115610dcf5760405162461bcd60e51b815260206004820152601c60248201527f54686520627579207461782063616e6e6f742065786365656420332500000000604482015260640161083d565b8215610e055760405162461bcd60e51b8152602060048201526005602482015264497320302560d81b604482015260640161083d565b6008811115610e565760405162461bcd60e51b815260206004820152601d60248201527f5468652073656c6c207461782063616e6e6f7420657863656564203825000000604482015260640161083d565b600893909355600a91909155600955600b55565b60006108bf338484611155565b6000546001600160a01b03163314610ea15760405162461bcd60e51b815260040161083d90612095565b60005b82811015610f12578160056000868685818110610ec357610ec36120ca565b9050602002016020810190610ed89190611f43565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610f0a816120f6565b915050610ea4565b50505050565b6000546001600160a01b03163314610f425760405162461bcd60e51b815260040161083d90612095565b601655565b6000546001600160a01b03163314610f715760405162461bcd60e51b815260040161083d90612095565b6001600160a01b038116610fd65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161083d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161083d565b6001600160a01b0382166110f45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161083d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111b95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161083d565b6001600160a01b03821661121b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161083d565b6000811161127d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161083d565b6000546001600160a01b038481169116148015906112a957506000546001600160a01b03838116911614155b1561158b57601454600160a01b900460ff16611342576000546001600160a01b038481169116146113425760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161083d565b6015548111156113945760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161083d565b6001600160a01b03831660009081526010602052604090205460ff161580156113d657506001600160a01b03821660009081526010602052604090205460ff16155b61142e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161083d565b6014546001600160a01b038381169116146114b4576016548161145084610a8c565b61145a9190612145565b11156114b45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161083d565b60006114bf30610a8c565b6017546015549192508210159082106114d85760155491505b8080156114ef5750601454600160a81b900460ff16155b801561150957506014546001600160a01b03868116911614155b801561151e5750601454600160b01b900460ff165b801561154357506001600160a01b03851660009081526005602052604090205460ff16155b801561156857506001600160a01b03841660009081526005602052604090205460ff16155b156115885761157682611783565b47801561158657611586476116cc565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806115cd57506001600160a01b03831660009081526005602052604090205460ff165b806115ff57506014546001600160a01b038581169116148015906115ff57506014546001600160a01b03848116911614155b1561160c57506000611686565b6014546001600160a01b03858116911614801561163757506013546001600160a01b03848116911614155b1561164957600854600c55600954600d555b6014546001600160a01b03848116911614801561167457506013546001600160a01b03858116911614155b1561168657600a54600c55600b54600d555b610f12848484846118fd565b600081848411156116b65760405162461bcd60e51b815260040161083d9190611e88565b5060006116c38486612158565b95945050505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108ae573d6000803e3d6000fd5b600060065482111561176d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161083d565b600061177761192b565b9050610c58838261194e565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117cb576117cb6120ca565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611824573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611848919061216b565b8160018151811061185b5761185b6120ca565b6001600160a01b0392831660209182029290920101526013546118819130911684611031565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906118ba908590600090869030904290600401612188565b600060405180830381600087803b1580156118d457600080fd5b505af11580156118e8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b8061190a5761190a610932565b611915848484611990565b80610f1257610f12600e54600c55600f54600d55565b6000806000611938611a87565b9092509050611947828261194e565b9250505090565b6000610c5883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ac7565b6000806000806000806119a287611af5565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119d49087611b52565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a039086611b94565b6001600160a01b038916600090815260026020526040902055611a2581611bf3565b611a2f8483611c3d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a7491815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a7640000611aa2828261194e565b821015611abe57505060065492670de0b6b3a764000092509050565b90939092509050565b60008183611ae85760405162461bcd60e51b815260040161083d9190611e88565b5060006116c384866121f9565b6000806000806000806000806000611b128a600c54600d54611c61565b9250925092506000611b2261192b565b90506000806000611b358e878787611cb6565b919e509c509a509598509396509194505050505091939550919395565b6000610c5883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611692565b600080611ba18385612145565b905083811015610c585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161083d565b6000611bfd61192b565b90506000611c0b8383611d06565b30600090815260026020526040902054909150611c289082611b94565b30600090815260026020526040902055505050565b600654611c4a9083611b52565b600655600754611c5a9082611b94565b6007555050565b6000808080611c7b6064611c758989611d06565b9061194e565b90506000611c8e6064611c758a89611d06565b90506000611ca682611ca08b86611b52565b90611b52565b9992985090965090945050505050565b6000808080611cc58886611d06565b90506000611cd38887611d06565b90506000611ce18888611d06565b90506000611cf382611ca08686611b52565b939b939a50919850919650505050505050565b600082600003611d18575060006108c3565b6000611d24838561221b565b905082611d3185836121f9565b14610c585760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161083d565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610a8957600080fd5b8035611dbe81611d9e565b919050565b60006020808385031215611dd657600080fd5b823567ffffffffffffffff80821115611dee57600080fd5b818501915085601f830112611e0257600080fd5b813581811115611e1457611e14611d88565b8060051b604051601f19603f83011681018181108582111715611e3957611e39611d88565b604052918252848201925083810185019188831115611e5757600080fd5b938501935b82851015611e7c57611e6d85611db3565b84529385019392850192611e5c565b98975050505050505050565b600060208083528351808285015260005b81811015611eb557858101830151858201604001528201611e99565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611ee957600080fd5b8235611ef481611d9e565b946020939093013593505050565b600080600060608486031215611f1757600080fd5b8335611f2281611d9e565b92506020840135611f3281611d9e565b929592945050506040919091013590565b600060208284031215611f5557600080fd5b8135610c5881611d9e565b600060208284031215611f7257600080fd5b5035919050565b8015158114610a8957600080fd5b600060208284031215611f9957600080fd5b8135610c5881611f79565b60008060008060808587031215611fba57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611feb57600080fd5b833567ffffffffffffffff8082111561200357600080fd5b818601915086601f83011261201757600080fd5b81358181111561202657600080fd5b8760208260051b850101111561203b57600080fd5b6020928301955093505084013561205181611f79565b809150509250925092565b6000806040838503121561206f57600080fd5b823561207a81611d9e565b9150602083013561208a81611d9e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612108576121086120e0565b5060010190565b60006020828403121561212157600080fd5b5051919050565b60006020828403121561213a57600080fd5b8151610c5881611f79565b808201808211156108c3576108c36120e0565b818103818111156108c3576108c36120e0565b60006020828403121561217d57600080fd5b8151610c5881611d9e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121d85784516001600160a01b0316835293830193918301916001016121b3565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261221657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176108c3576108c36120e056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d7d4827350defe6a5bfee8f951266437d5ab8b28d338c9d21545834f1734901b64736f6c63430008110033

Deployed Bytecode Sourcemap

4293:13690:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12961:169;;;;;;;;;;-1:-1:-1;12961:169:0;;;;;:::i;:::-;;:::i;:::-;;6558:83;;;;;;;;;;-1:-1:-1;6628:5:0;;;;;;;;;;;;-1:-1:-1;;;6628:5:0;;;;6558:83;;;;;;;:::i;:::-;;;;;;;;7455:181;;;;;;;;;;-1:-1:-1;7455:181:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;7455:181:0;2420:187:1;5470:41:0;;;;;;;;;;-1:-1:-1;5470:41:0;;;;-1:-1:-1;;;;;5470:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;5470:41:0;2612:229:1;6835:95:0;;;;;;;;;;-1:-1:-1;4844:18:0;6835:95;;;2992:25:1;;;2980:2;2965:18;6835:95:0;2846:177:1;7644:446:0;;;;;;;;;;-1:-1:-1;7644:446:0;;;;;:::i;:::-;;:::i;5265:40::-;;;;;;;;;;;;;;;;5774:51;;;;;;;;;;;;;;;;8417:218;;;;;;;;;;;;;:::i;6744:83::-;;;;;;;;;;-1:-1:-1;6744:83:0;;4519:1;3631:36:1;;3619:2;3604:18;6744:83:0;3489:184:1;4957:33:0;;;;;;;;;;;;;;;;5166:38;;;;;;;;;;;;;;;;5518:28;;;;;;;;;;-1:-1:-1;5518:28:0;;;;-1:-1:-1;;;;;5518:28:0;;;12700:253;;;;;;;;;;-1:-1:-1;12700:253:0;;;;;:::i;:::-;;:::i;13138:92::-;;;;;;;;;;-1:-1:-1;13138:92:0;;;;;:::i;:::-;;:::i;5627:30::-;;;;;;;;;;-1:-1:-1;5627:30:0;;;;-1:-1:-1;;;5627:30:0;;;;;;12184:190;;;;;;;;;;;;;:::i;6938:138::-;;;;;;;;;;-1:-1:-1;6938:138:0;;;;;:::i;:::-;;:::i;1816:148::-;;;;;;;;;;;;;:::i;17507:108::-;;;;;;;;;;-1:-1:-1;17507:108:0;;;;;:::i;:::-;;:::i;4703:50::-;;;;;;;;;;-1:-1:-1;4703:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12382:310;;;;;;;;;;-1:-1:-1;12382:310:0;;;;;:::i;:::-;;:::i;5666:46::-;;;;;;;;;;;;;;;;5352:43;;;;;;;;;;-1:-1:-1;5352:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;5076:32;;;;;;;;;;;;;;;;1602:79;;;;;;;;;;-1:-1:-1;1640:7:0;1667:6;-1:-1:-1;;;;;1667:6:0;1602:79;;12075:101;;;;;;;;;;-1:-1:-1;12075:101:0;;;;;:::i;:::-;;:::i;5719:48::-;;;;;;;;;;;;;;;;17397:102;;;;;;;;;;-1:-1:-1;17397:102:0;;;;;:::i;:::-;;:::i;6649:87::-;;;;;;;;;;-1:-1:-1;6721:7:0;;;;;;;;;;;;-1:-1:-1;;;6721:7:0;;;;6649:87;;17250:139;;;;;;;;;;-1:-1:-1;17250:139:0;;;;;:::i;:::-;;:::i;5117:42::-;;;;;;;;;;;;;;;;5035:34;;;;;;;;;;;;;;;;16508:734;;;;;;;;;;-1:-1:-1;16508:734:0;;;;;:::i;:::-;;:::i;7084:187::-;;;;;;;;;;-1:-1:-1;7084:187:0;;;;;:::i;:::-;;:::i;4997:31::-;;;;;;;;;;;;;;;;5314:36;;;;;;;;;;-1:-1:-1;5314:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17746:234;;;;;;;;;;-1:-1:-1;17746:234:0;;;;;:::i;:::-;;:::i;7279:168::-;;;;;;;;;;-1:-1:-1;7279:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7412:18:0;;;7380:7;7412:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7279:168;8643:116;;;;;;;;;;;;8698:17;;8686:9;:29;8736:15;;8726:7;:25;8643:116;17623:115;;;;;;;;;;-1:-1:-1;17623:115:0;;;;;:::i;:::-;;:::i;1972:244::-;;;;;;;;;;-1:-1:-1;1972:244:0;;;;;:::i;:::-;;:::i;4925:25::-;;;;;;;;;;;;;;;;5555:31;;;;;;;;;;-1:-1:-1;5555:31:0;;;;-1:-1:-1;;;5555:31:0;;;;;;12961:169;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;;;;;;;;;13037:9:::1;13032:91;13056:5;:12;13052:1;:16;13032:91;;;13107:4;13090;:14;13095:5;13101:1;13095:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13090:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13090:14:0;:21;;-1:-1:-1;;13090:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13070:3;::::1;::::0;::::1;:::i;:::-;;;;13032:91;;;;12961:169:::0;:::o;7455:181::-;7545:4;7567:39;441:10;7590:7;7599:6;7567:8;:39::i;:::-;-1:-1:-1;7624:4:0;7455:181;;;;;:::o;7644:446::-;7776:4;7793:36;7803:6;7811:9;7822:6;7793:9;:36::i;:::-;7840:220;7863:6;441:10;7911:138;7967:6;7911:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7911:19:0;;;;;;:11;:19;;;;;;;;441:10;7911:33;;;;;;;;;;:37;:138::i;:::-;7840:8;:220::i;:::-;-1:-1:-1;8078:4:0;7644:446;;;;;:::o;8417:218::-;8463:9;;:14;:30;;;;-1:-1:-1;8481:7:0;;:12;8463:30;8459:43;;;8417:218::o;8459:43::-;8534:9;;;8514:17;:29;8572:7;;;8554:15;:25;-1:-1:-1;8592:13:0;;;;8616:11;8417:218::o;12700:253::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12809:27:0;::::1;12787:118;;;::::0;-1:-1:-1;;;12787:118:0;;7457:2:1;12787:118:0::1;::::0;::::1;7439:21:1::0;7496:2;7476:18;;;7469:30;7535:34;7515:18;;;7508:62;-1:-1:-1;;;7586:18:1;;;7579:39;7635:19;;12787:118:0::1;7255:405:1::0;12787:118:0::1;12918:11;:27:::0;;-1:-1:-1;;;;;;12918:27:0::1;-1:-1:-1::0;;;;;12918:27:0;;;::::1;::::0;;;::::1;::::0;;12700:253::o;13138:92::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13202:12:0::1;13217:5;13202:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13202:20:0::1;::::0;;13138:92::o;12184:190::-;12250:11;;-1:-1:-1;;;;;12250:11:0;441:10;-1:-1:-1;;;;;12234:27:0;;12226:36;;;;;;12302:21;12334:32;12302:21;12334:12;:32::i;:::-;12215:159;12184:190::o;6938:138::-;-1:-1:-1;;;;;7051:16:0;;7004:7;7051:16;;;:7;:16;;;;;;7031:37;;:19;:37::i;1816:148::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;1923:1:::1;1907:6:::0;;1886:40:::1;::::0;-1:-1:-1;;;;;1907:6:0;;::::1;::::0;1886:40:::1;::::0;1923:1;;1886:40:::1;1954:1;1937:19:::0;;-1:-1:-1;;;;;;1937:19:0::1;::::0;;1816:148::o;17507:108::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;17581:12:::1;:26:::0;17507:108::o;12382:310::-;12502:11;;12461:4;;-1:-1:-1;;;;;12502:11:0;441:10;-1:-1:-1;;;;;12486:27:0;;12478:36;;;;;;12525:6;12535:1;12525:11;12522:96;;12561:45;;-1:-1:-1;;;12561:45:0;;12600:4;12561:45;;;2784:51:1;-1:-1:-1;;;;;12561:30:0;;;;;2757:18:1;;12561:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12552:54;;12522:96;12635:49;;-1:-1:-1;;;12635:49:0;;12665:10;12635:49;;;8028:51:1;8095:18;;;8088:34;;;-1:-1:-1;;;;;12635:29:0;;;;;8001:18:1;;12635:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12628:56;12382:310;-1:-1:-1;;;12382:310:0:o;12075:101::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;12142:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12142:26:0::1;-1:-1:-1::0;;;;12142:26:0;;::::1;::::0;;;::::1;::::0;;12075:101::o;17397:102::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;17465:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17465:26:0::1;-1:-1:-1::0;;;;17465:26:0;;::::1;::::0;;;::::1;::::0;;17397:102::o;17250:139::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;17341:19:::1;:40:::0;17250:139::o;16508:734::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;16672:18;;16642:58:::1;;;::::0;-1:-1:-1;;;16642:58:0;;8585:2:1;16642:58:0::1;::::0;::::1;8567:21:1::0;8624:1;8604:18;;;8597:29;-1:-1:-1;;;8642:18:1;;;8635:35;8687:18;;16642:58:0::1;8383:328:1::0;16642:58:0::1;16754:1;16739:11;:16;;16711:77;;;::::0;-1:-1:-1;;;16711:77:0;;8918:2:1;16711:77:0::1;::::0;::::1;8900:21:1::0;8957:2;8937:18;;;8930:30;8996;8976:18;;;8969:58;9044:18;;16711:77:0::1;8716:352:1::0;16711:77:0::1;16891:19:::0;;16860:60:::1;;;::::0;-1:-1:-1;;;16860:60:0;;8585:2:1;16860:60:0::1;::::0;::::1;8567:21:1::0;8624:1;8604:18;;;8597:29;-1:-1:-1;;;8642:18:1;;;8635:35;8687:18;;16860:60:0::1;8383:328:1::0;16860:60:0::1;16976:1;16960:12;:17;;16931:80;;;::::0;-1:-1:-1;;;16931:80:0;;9275:2:1;16931:80:0::1;::::0;::::1;9257:21:1::0;9314:2;9294:18;;;9287:30;9353:31;9333:18;;;9326:59;9402:18;;16931:80:0::1;9073:353:1::0;16931:80:0::1;17085:14;:30:::0;;;;17126:15:::1;:32:::0;;;;17169:12:::1;:26:::0;17206:13:::1;:28:::0;16508:734::o;7084:187::-;7177:4;7199:42;441:10;7223:9;7234:6;7199:9;:42::i;17746:234::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;17863:9:::1;17859:114;17878:19:::0;;::::1;17859:114;;;17953:8;17919:18;:31;17938:8;;17947:1;17938:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17919:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17919:31:0;:42;;-1:-1:-1;;17919:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17899:3;::::1;::::0;::::1;:::i;:::-;;;;17859:114;;;;17746:234:::0;;;:::o;17623:115::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;17700:14:::1;:30:::0;17623:115::o;1972:244::-;1729:6;;-1:-1:-1;;;;;1729:6:0;441:10;1729:22;1721:67;;;;-1:-1:-1;;;1721:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2061:22:0;::::1;2053:73;;;::::0;-1:-1:-1;;;2053:73:0;;9633:2:1;2053:73:0::1;::::0;::::1;9615:21:1::0;9672:2;9652:18;;;9645:30;9711:34;9691:18;;;9684:62;-1:-1:-1;;;9762:18:1;;;9755:36;9808:19;;2053:73:0::1;9431:402:1::0;2053:73:0::1;2163:6;::::0;;2142:38:::1;::::0;-1:-1:-1;;;;;2142:38:0;;::::1;::::0;2163:6;::::1;::::0;2142:38:::1;::::0;::::1;2191:6;:17:::0;;-1:-1:-1;;;;;;2191:17:0::1;-1:-1:-1::0;;;;;2191:17:0;;;::::1;::::0;;;::::1;::::0;;1972:244::o;8767:369::-;-1:-1:-1;;;;;8894:19:0;;8886:68;;;;-1:-1:-1;;;8886:68:0;;10040:2:1;8886:68:0;;;10022:21:1;10079:2;10059:18;;;10052:30;10118:34;10098:18;;;10091:62;-1:-1:-1;;;10169:18:1;;;10162:34;10213:19;;8886:68:0;9838:400:1;8886:68:0;-1:-1:-1;;;;;8973:21:0;;8965:68;;;;-1:-1:-1;;;8965:68:0;;10445:2:1;8965:68:0;;;10427:21:1;10484:2;10464:18;;;10457:30;10523:34;10503:18;;;10496:62;-1:-1:-1;;;10574:18:1;;;10567:32;10616:19;;8965:68:0;10243:398:1;8965:68:0;-1:-1:-1;;;;;9044:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9096:32;;2992:25:1;;;9096:32:0;;2965:18:1;9096:32:0;;;;;;;8767:369;;;:::o;9144:2331::-;-1:-1:-1;;;;;9266:18:0;;9258:68;;;;-1:-1:-1;;;9258:68:0;;10848:2:1;9258:68:0;;;10830:21:1;10887:2;10867:18;;;10860:30;10926:34;10906:18;;;10899:62;-1:-1:-1;;;10977:18:1;;;10970:35;11022:19;;9258:68:0;10646:401:1;9258:68:0;-1:-1:-1;;;;;9345:16:0;;9337:64;;;;-1:-1:-1;;;9337:64:0;;11254:2:1;9337:64:0;;;11236:21:1;11293:2;11273:18;;;11266:30;11332:34;11312:18;;;11305:62;-1:-1:-1;;;11383:18:1;;;11376:33;11426:19;;9337:64:0;11052:399:1;9337:64:0;9429:1;9420:6;:10;9412:64;;;;-1:-1:-1;;;9412:64:0;;11658:2:1;9412:64:0;;;11640:21:1;11697:2;11677:18;;;11670:30;11736:34;11716:18;;;11709:62;-1:-1:-1;;;11787:18:1;;;11780:39;11836:19;;9412:64:0;11456:405:1;9412:64:0;1640:7;1667:6;-1:-1:-1;;;;;9493:15:0;;;1667:6;;9493:15;;;;:32;;-1:-1:-1;1640:7:0;1667:6;-1:-1:-1;;;;;9512:13:0;;;1667:6;;9512:13;;9493:32;9489:1260;;;9582:11;;-1:-1:-1;;;9582:11:0;;;;9577:144;;1640:7;1667:6;-1:-1:-1;;;;;9622:15:0;;;1667:6;;9622:15;9614:91;;;;-1:-1:-1;;;9614:91:0;;12068:2:1;9614:91:0;;;12050:21:1;12107:2;12087:18;;;12080:30;12146:34;12126:18;;;12119:62;12217:33;12197:18;;;12190:61;12268:19;;9614:91:0;11866:427:1;9614:91:0;9755:12;;9745:6;:22;;9737:63;;;;-1:-1:-1;;;9737:63:0;;12500:2:1;9737:63:0;;;12482:21:1;12539:2;12519:18;;;12512:30;12578;12558:18;;;12551:58;12626:18;;9737:63:0;12298:352:1;9737:63:0;-1:-1:-1;;;;;9824:10:0;;;;;;:4;:10;;;;;;;;9823:11;:24;;;;-1:-1:-1;;;;;;9839:8:0;;;;;;:4;:8;;;;;;;;9838:9;9823:24;9815:72;;;;-1:-1:-1;;;9815:72:0;;12857:2:1;9815:72:0;;;12839:21:1;12896:2;12876:18;;;12869:30;12935:34;12915:18;;;12908:62;-1:-1:-1;;;12986:18:1;;;12979:33;13029:19;;9815:72:0;12655:399:1;9815:72:0;9913:13;;-1:-1:-1;;;;;9907:19:0;;;9913:13;;9907:19;9904:147;;9981:14;;9971:6;9955:13;9965:2;9955:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9947:88;;;;-1:-1:-1;;;9947:88:0;;13391:2:1;9947:88:0;;;13373:21:1;13430:2;13410:18;;;13403:30;13469:34;13449:18;;;13442:62;-1:-1:-1;;;13520:18:1;;;13513:33;13563:19;;9947:88:0;13189:399:1;9947:88:0;10067:28;10098:24;10116:4;10098:9;:24::i;:::-;10176:19;;10239:12;;10067:55;;-1:-1:-1;10152:43:0;;;;10215:36;;10212:124;;10308:12;;10285:35;;10212:124;10356:7;:18;;;;-1:-1:-1;10368:6:0;;-1:-1:-1;;;10368:6:0;;;;10367:7;10356:18;:43;;;;-1:-1:-1;10386:13:0;;-1:-1:-1;;;;;10378:21:0;;;10386:13;;10378:21;;10356:43;:58;;;;-1:-1:-1;10403:11:0;;-1:-1:-1;;;10403:11:0;;;;10356:58;:87;;;;-1:-1:-1;;;;;;10419:24:0;;;;;;:18;:24;;;;;;;;10418:25;10356:87;:114;;;;-1:-1:-1;;;;;;10448:22:0;;;;;;:18;:22;;;;;;;;10447:23;10356:114;10352:386;;;10491:38;10508:20;10491:16;:38::i;:::-;10577:21;10621:22;;10617:106;;10668:35;10681:21;10668:12;:35::i;:::-;10472:266;10352:386;9527:1222;;9489:1260;-1:-1:-1;;;;;10825:24:0;;10761:12;10825:24;;;:18;:24;;;;;;10776:4;;10825:24;;;:50;;-1:-1:-1;;;;;;10853:22:0;;;;;;:18;:22;;;;;;;;10825:50;10824:102;;;-1:-1:-1;10889:13:0;;-1:-1:-1;;;;;10881:21:0;;;10889:13;;10881:21;;;;:44;;-1:-1:-1;10912:13:0;;-1:-1:-1;;;;;10906:19:0;;;10912:13;;10906:19;;10881:44;10820:594;;;-1:-1:-1;10953:5:0;10820:594;;;11036:13;;-1:-1:-1;;;;;11028:21:0;;;11036:13;;11028:21;:55;;;;-1:-1:-1;11067:15:0;;-1:-1:-1;;;;;11053:30:0;;;11067:15;;11053:30;;11028:55;11025:162;;;11116:14;;11104:9;:26;11159:12;;11149:7;:22;11025:162;11246:13;;-1:-1:-1;;;;;11240:19:0;;;11246:13;;11240:19;:55;;;;-1:-1:-1;11279:15:0;;-1:-1:-1;;;;;11263:32:0;;;11279:15;;11263:32;;11240:55;11236:165;;;11328:15;;11316:9;:27;11372:13;;11362:7;:23;11236:165;11426:41;11441:4;11447:2;11451:6;11459:7;11426:14;:41::i;2580:224::-;2700:7;2736:12;2728:6;;;;2720:29;;;;-1:-1:-1;;;2720:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2760:9:0;2772:5;2776:1;2772;:5;:::i;:::-;2760:17;2580:224;-1:-1:-1;;;;;2580:224:0:o;11974:93::-;12031:11;;:28;;-1:-1:-1;;;;;12031:11:0;;;;:28;;;;;12052:6;;12031:11;:28;:11;:28;12052:6;12031:11;:28;;;;;;;;;;;;;;;;;;;8098:311;8181:7;8239;;8228;:18;;8206:110;;;;-1:-1:-1;;;8206:110:0;;13928:2:1;8206:110:0;;;13910:21:1;13967:2;13947:18;;;13940:30;14006:34;13986:18;;;13979:62;-1:-1:-1;;;14057:18:1;;;14050:40;14107:19;;8206:110:0;13726:406:1;8206:110:0;8327:19;8349:10;:8;:10::i;:::-;8327:32;-1:-1:-1;8377:24:0;:7;8327:32;8377:11;:24::i;11483:483::-;5919:6;:13;;-1:-1:-1;;;;5919:13:0;-1:-1:-1;;;5919:13:0;;;11585:16:::1;::::0;;11599:1:::1;11585:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11585:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11585:16:0::1;11561:40;;11630:4;11612;11617:1;11612:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11612:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11656:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11656:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11612:7;;11656:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11646:4;11651:1;11646:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11646:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11721:15:::1;::::0;11689:62:::1;::::0;11706:4:::1;::::0;11721:15:::1;11739:11:::0;11689:8:::1;:62::i;:::-;11762:15;::::0;:196:::1;::::0;-1:-1:-1;;;11762:196:0;;-1:-1:-1;;;;;11762:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11843:11;;11762:15:::1;::::0;11885:4;;11912::::1;::::0;11932:15:::1;::::0;11762:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5955:6:0;:14;;-1:-1:-1;;;;5955:14:0;;;-1:-1:-1;;;;11483:483:0:o;13238:282::-;13394:7;13389:28;;13403:14;:12;:14::i;:::-;13428:44;13446:6;13454:9;13465:6;13428:17;:44::i;:::-;13488:7;13483:29;;13497:15;8698:17;;8686:9;:29;8736:15;;8726:7;:25;8643:116;16071:164;16113:7;16134:15;16151;16170:19;:17;:19::i;:::-;16133:56;;-1:-1:-1;16133:56:0;-1:-1:-1;16207:20:0;16133:56;;16207:11;:20::i;:::-;16200:27;;;;16071:164;:::o;3066:132::-;3124:7;3151:39;3155:1;3158;3151:39;;;;;;;;;;;;;;;;;:3;:39::i;13528:586::-;13671:15;13697:23;13731:12;13754:23;13788:12;13811:13;13838:19;13849:7;13838:10;:19::i;:::-;-1:-1:-1;;;;;13886:15:0;;;;;;:7;:15;;;;;;13660:197;;-1:-1:-1;13660:197:0;;-1:-1:-1;13660:197:0;;-1:-1:-1;13660:197:0;-1:-1:-1;13660:197:0;-1:-1:-1;13660:197:0;-1:-1:-1;13886:28:0;;13660:197;13886:19;:28::i;:::-;-1:-1:-1;;;;;13868:15:0;;;;;;;:7;:15;;;;;;:46;;;;13946:18;;;;;;;:39;;13969:15;13946:22;:39::i;:::-;-1:-1:-1;;;;;13925:18:0;;;;;;:7;:18;;;;;:60;13996:16;14006:5;13996:9;:16::i;:::-;14023:23;14035:4;14041;14023:11;:23::i;:::-;14079:9;-1:-1:-1;;;;;14062:44:0;14071:6;-1:-1:-1;;;;;14062:44:0;;14090:15;14062:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;14062:44:0;;;;;;;;13649:465;;;;;;13528:586;;;:::o;16243:257::-;16341:7;;16294;;;;4844:18;16409:20;16341:7;4844:18;16409:11;:20::i;:::-;16399:7;:30;16395:61;;;-1:-1:-1;;16439:7:0;;;4844:18;;-1:-1:-1;16243:257:0;-1:-1:-1;16243:257:0:o;16395:61::-;16475:7;;16484;;-1:-1:-1;16243:257:0;-1:-1:-1;16243:257:0:o;3206:223::-;3326:7;3361:12;3354:5;3346:28;;;;-1:-1:-1;;;3346:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3385:9:0;3397:5;3401:1;3397;:5;:::i;14533:567::-;14617:7;14635;14653;14671;14689;14707;14739:23;14764:12;14778:13;14804:40;14816:7;14825:9;;14836:7;;14804:11;:40::i;:::-;14738:106;;;;;;14855:19;14877:10;:8;:10::i;:::-;14855:32;;14899:15;14916:23;14941:12;14966:46;14978:7;14987:4;14993:5;15000:11;14966;:46::i;:::-;14898:114;;-1:-1:-1;14898:114:0;-1:-1:-1;14898:114:0;-1:-1:-1;15063:15:0;;-1:-1:-1;15080:4:0;;-1:-1:-1;15086:5:0;;-1:-1:-1;;;;;14533:567:0;;;;;;;:::o;2436:136::-;2494:7;2521:43;2525:1;2528;2521:43;;;;;;;;;;;;;;;;;:3;:43::i;2249:179::-;2307:7;;2339:5;2343:1;2339;:5;:::i;:::-;2327:17;;2368:1;2363;:6;;2355:46;;;;-1:-1:-1;;;2355:46:0;;15802:2:1;2355:46:0;;;15784:21:1;15841:2;15821:18;;;15814:30;15880:29;15860:18;;;15853:57;15927:18;;2355:46:0;15600:351:1;14122:211:0;14175:19;14197:10;:8;:10::i;:::-;14175:32;-1:-1:-1;14218:13:0;14234:22;:5;14175:32;14234:9;:22::i;:::-;14308:4;14292:22;;;;:7;:22;;;;;;14218:38;;-1:-1:-1;14292:33:0;;14218:38;14292:26;:33::i;:::-;14283:4;14267:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14122:211:0:o;14341:147::-;14419:7;;:17;;14431:4;14419:11;:17::i;:::-;14409:7;:27;14460:10;;:20;;14475:4;14460:14;:20::i;:::-;14447:10;:33;-1:-1:-1;;14341:147:0:o;15108:441::-;15261:7;;;;15343:30;15369:3;15343:21;:7;15355:8;15343:11;:21::i;:::-;:25;;:30::i;:::-;15328:45;-1:-1:-1;15384:13:0;15400:28;15424:3;15400:19;:7;15412:6;15400:11;:19::i;:28::-;15384:44;-1:-1:-1;15439:23:0;15465:28;15384:44;15465:17;:7;15477:4;15465:11;:17::i;:::-;:21;;:28::i;:::-;15439:54;15529:4;;-1:-1:-1;15535:5:0;;-1:-1:-1;15108:441:0;;-1:-1:-1;;;;;15108:441:0:o;15557:506::-;15735:7;;;;15820:24;:7;15832:11;15820;:24::i;:::-;15802:42;-1:-1:-1;15855:12:0;15870:21;:4;15879:11;15870:8;:21::i;:::-;15855:36;-1:-1:-1;15902:13:0;15918:22;:5;15928:11;15918:9;:22::i;:::-;15902:38;-1:-1:-1;15951:23:0;15977:28;15902:38;15977:17;:7;15989:4;15977:11;:17::i;:28::-;16024:7;;;;-1:-1:-1;16050:4:0;;-1:-1:-1;15557:506:0;;-1:-1:-1;;;;;;;15557:506:0:o;2812:246::-;2870:7;2894:1;2899;2894:6;2890:47;;-1:-1:-1;2924:1:0;2917:8;;2890:47;2947:9;2959:5;2963:1;2959;:5;:::i;:::-;2947:17;-1:-1:-1;2992:1:0;2983:5;2987:1;2947:17;2983:5;:::i;:::-;:10;2975:56;;;;-1:-1:-1;;;2975:56:0;;16331:2:1;2975:56:0;;;16313:21:1;16370:2;16350:18;;;16343:30;16409:34;16389:18;;;16382:62;-1:-1:-1;;;16460:18:1;;;16453:31;16501:19;;2975:56:0;16129:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:548::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1831:3;2016:1;2011:2;2002:6;1991:9;1987:22;1983:31;1976:42;2086:2;2079;2075:7;2070:2;2062:6;2058:15;2054:29;2043:9;2039:45;2035:54;2027:62;;;;1547:548;;;;:::o;2100:315::-;2168:6;2176;2229:2;2217:9;2208:7;2204:23;2200:32;2197:52;;;2245:1;2242;2235:12;2197:52;2284:9;2271:23;2303:31;2328:5;2303:31;:::i;:::-;2353:5;2405:2;2390:18;;;;2377:32;;-1:-1:-1;;;2100:315:1:o;3028:456::-;3105:6;3113;3121;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;3229:9;3216:23;3248:31;3273:5;3248:31;:::i;:::-;3298:5;-1:-1:-1;3355:2:1;3340:18;;3327:32;3368:33;3327:32;3368:33;:::i;:::-;3028:456;;3420:7;;-1:-1:-1;;;3474:2:1;3459:18;;;;3446:32;;3028:456::o;3886:255::-;3953:6;4006:2;3994:9;3985:7;3981:23;3977:32;3974:52;;;4022:1;4019;4012:12;3974:52;4061:9;4048:23;4080:31;4105:5;4080:31;:::i;4398:180::-;4457:6;4510:2;4498:9;4489:7;4485:23;4481:32;4478:52;;;4526:1;4523;4516:12;4478:52;-1:-1:-1;4549:23:1;;4398:180;-1:-1:-1;4398:180:1:o;4583:118::-;4669:5;4662:13;4655:21;4648:5;4645:32;4635:60;;4691:1;4688;4681:12;4706:241;4762:6;4815:2;4803:9;4794:7;4790:23;4786:32;4783:52;;;4831:1;4828;4821:12;4783:52;4870:9;4857:23;4889:28;4911:5;4889:28;:::i;4952:385::-;5038:6;5046;5054;5062;5115:3;5103:9;5094:7;5090:23;5086:33;5083:53;;;5132:1;5129;5122:12;5083:53;-1:-1:-1;;5155:23:1;;;5225:2;5210:18;;5197:32;;-1:-1:-1;5276:2:1;5261:18;;5248:32;;5327:2;5312:18;5299:32;;-1:-1:-1;4952:385:1;-1:-1:-1;4952:385:1:o;5342:750::-;5434:6;5442;5450;5503:2;5491:9;5482:7;5478:23;5474:32;5471:52;;;5519:1;5516;5509:12;5471:52;5559:9;5546:23;5588:18;5629:2;5621:6;5618:14;5615:34;;;5645:1;5642;5635:12;5615:34;5683:6;5672:9;5668:22;5658:32;;5728:7;5721:4;5717:2;5713:13;5709:27;5699:55;;5750:1;5747;5740:12;5699:55;5790:2;5777:16;5816:2;5808:6;5805:14;5802:34;;;5832:1;5829;5822:12;5802:34;5887:7;5880:4;5870:6;5867:1;5863:14;5859:2;5855:23;5851:34;5848:47;5845:67;;;5908:1;5905;5898:12;5845:67;5939:4;5931:13;;;;-1:-1:-1;5963:6:1;-1:-1:-1;;6004:20:1;;5991:34;6034:28;5991:34;6034:28;:::i;:::-;6081:5;6071:15;;;5342:750;;;;;:::o;6097:388::-;6165:6;6173;6226:2;6214:9;6205:7;6201:23;6197:32;6194:52;;;6242:1;6239;6232:12;6194:52;6281:9;6268:23;6300:31;6325:5;6300:31;:::i;:::-;6350:5;-1:-1:-1;6407:2:1;6392:18;;6379:32;6420:33;6379:32;6420:33;:::i;:::-;6472:7;6462:17;;;6097:388;;;;;:::o;6490:356::-;6692:2;6674:21;;;6711:18;;;6704:30;6770:34;6765:2;6750:18;;6743:62;6837:2;6822:18;;6490:356::o;6851:127::-;6912:10;6907:3;6903:20;6900:1;6893:31;6943:4;6940:1;6933:15;6967:4;6964:1;6957:15;6983:127;7044:10;7039:3;7035:20;7032:1;7025:31;7075:4;7072:1;7065:15;7099:4;7096:1;7089:15;7115:135;7154:3;7175:17;;;7172:43;;7195:18;;:::i;:::-;-1:-1:-1;7242:1:1;7231:13;;7115:135::o;7665:184::-;7735:6;7788:2;7776:9;7767:7;7763:23;7759:32;7756:52;;;7804:1;7801;7794:12;7756:52;-1:-1:-1;7827:16:1;;7665:184;-1:-1:-1;7665:184:1:o;8133:245::-;8200:6;8253:2;8241:9;8232:7;8228:23;8224:32;8221:52;;;8269:1;8266;8259:12;8221:52;8301:9;8295:16;8320:28;8342:5;8320:28;:::i;13059:125::-;13124:9;;;13145:10;;;13142:36;;;13158:18;;:::i;13593:128::-;13660:9;;;13681:11;;;13678:37;;;13695:18;;:::i;14137:251::-;14207:6;14260:2;14248:9;14239:7;14235:23;14231:32;14228:52;;;14276:1;14273;14266:12;14228:52;14308:9;14302:16;14327:31;14352:5;14327:31;:::i;14393:980::-;14655:4;14703:3;14692:9;14688:19;14734:6;14723:9;14716:25;14760:2;14798:6;14793:2;14782:9;14778:18;14771:34;14841:3;14836:2;14825:9;14821:18;14814:31;14865:6;14900;14894:13;14931:6;14923;14916:22;14969:3;14958:9;14954:19;14947:26;;15008:2;15000:6;14996:15;14982:29;;15029:1;15039:195;15053:6;15050:1;15047:13;15039:195;;;15118:13;;-1:-1:-1;;;;;15114:39:1;15102:52;;15209:15;;;;15174:12;;;;15150:1;15068:9;15039:195;;;-1:-1:-1;;;;;;;15290:32:1;;;;15285:2;15270:18;;15263:60;-1:-1:-1;;;15354:3:1;15339:19;15332:35;15251:3;14393:980;-1:-1:-1;;;14393:980:1:o;15378:217::-;15418:1;15444;15434:132;;15488:10;15483:3;15479:20;15476:1;15469:31;15523:4;15520:1;15513:15;15551:4;15548:1;15541:15;15434:132;-1:-1:-1;15580:9:1;;15378:217::o;15956:168::-;16029:9;;;16060;;16077:15;;;16071:22;;16057:37;16047:71;;16098:18;;:::i

Swarm Source

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