ETH Price: $3,310.67 (-1.93%)

Token

Aublox (Aublox)
 

Overview

Max Total Supply

1,000,000,000 Aublox

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000157508598 Aublox

Value
$0.00
0x70b6c860b1A89B8728e1bC5F1D55b9c3744C8d7B
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:
Aublox

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-10
*/

// SPDX-License-Identifier: MIT

/*
⣏⣳⣍⣮⣱⣍⣮⣱⣍⣮⣱⣍⣮⣱⣍⣮⣱⣍⣮⣱⣍⣮⣱⣭⣮⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣯⣮⣵⣩⣎⣵⣩⣎⣵⣩⣎⣵⣩⣎⣵⣩⣎⣵⣩⣎⣵⣩⣎⣵⣩⣞
⡷⣘⢦⢓⠶⣘⢦⢓⡜⢦⡓⡜⢦⡓⡜⢦⡓⡜⢦⡓⣼⣶⣿⣿⣿⣿⣿⡿⡟⢯⣋⠷⣩⢖⡱⢎⠶⣑⢦⡓⡜⢦⡓⡜⢦⡓⡜⢦⡓⡜⢦⡓⡜⢦⡓⡜⢦⡓⡜⢦⡓⡬
⡷⣩⠞⣬⠳⣩⠖⡭⢎⡳⡜⡹⢦⡹⢜⡣⢞⣩⣶⣿⣿⣿⣿⣿⡿⢏⡳⣱⡙⢦⡙⢶⢱⢪⣕⣫⣎⡵⢢⡝⣜⢣⢞⡩⢖⡹⡜⣣⠞⣩⢖⡹⡜⣣⠞⣩⢖⡹⡜⣣⠞⣱
⡷⣡⢛⡴⢋⠶⣹⡘⢧⡱⢎⡵⣃⢧⢫⡜⣣⣾⣿⣿⣿⣿⡿⡹⡜⣣⢳⡡⣝⣦⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣾⣷⣮⣱⢋⠶⣙⠴⣋⠶⣩⢖⡹⡔⣫⠖⣭⢲⠹⣔⢫⠖
⡗⣭⢚⡬⣋⠞⣥⢚⡥⢳⡩⢖⢭⡒⢧⣺⣿⣿⣿⣿⣿⢏⠶⣱⡙⢦⣣⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣮⡱⢫⡜⣱⢣⢎⡵⢪⡕⡺⣔⠫⡕⣎⢣⢏
⡷⣩⢞⣡⢛⡴⣩⠞⡱⢎⡣⢞⢬⠳⣼⣿⣿⣿⣿⣿⢏⡜⢦⢫⣕⣾⣿⣿⣿⣿⣿⣿⢿⠿⡻⢟⡻⢟⡿⢿⣿⣿⣿⣿⣿⣿⣷⣎⠵⣋⠼⡸⢥⢎⡵⢣⡝⢦⣓⡹⢎⡜
⡷⡱⢎⠶⣩⠖⣥⢫⡕⣫⠜⣭⠲⣽⣿⣿⣿⣿⣿⢣⠞⣜⠣⣧⣿⣿⣿⣿⣿⢿⣋⢧⢋⡞⣱⠫⣜⢣⠞⡱⢎⡽⢻⣿⣿⣿⣿⣿⣮⡱⢫⡕⣋⠶⣘⢇⡞⣥⠲⣍⠞⡜
⡷⣙⢎⢧⠓⡞⡴⢣⡚⣥⠛⡴⣿⣿⣿⣿⣿⡿⣌⠧⣛⢬⣳⣿⣿⣿⣿⡿⡝⢦⡍⢶⣩⢚⣥⣿⣴⣏⣞⡱⢫⡔⣫⠞⣿⣿⣿⣿⣿⣷⢣⠞⣡⢛⡜⡎⠶⣌⠳⣌⠻⡜
⡷⣩⠞⣬⠛⣜⡱⢣⡝⡴⢋⣾⣿⣿⣿⣿⣟⡱⢎⡵⣩⣾⣿⣿⣿⣿⡟⢧⡙⢦⡙⢦⢣⡍⣖⣻⣿⣿⣿⣿⣧⢚⡥⣚⠴⣻⣿⣿⣿⣿⣷⡹⣌⠳⣜⣩⠳⣌⠳⣬⠳⣍
⡷⣡⢛⡴⢋⠶⣩⠳⡜⣼⣿⣿⣿⣿⣿⡟⡴⣙⢎⢶⣽⣿⣿⣿⣿⡯⡝⢦⡙⢶⡙⣎⠧⣚⠴⢣⢻⣿⣿⣿⣿⣿⡰⣍⠞⣥⢻⣿⣿⣿⣿⣷⣎⠳⡜⣆⠻⣌⠳⣌⠳⡬
⡗⣭⢚⡬⣋⠞⣥⠳⣹⣾⣿⣿⣿⣿⠗⣭⠲⣍⢞⣾⣿⣿⣿⣿⡟⣲⡙⢦⡙⣦⡙⢦⡛⣬⡙⢧⣋⠽⣿⣿⣿⣿⣷⡎⡝⢦⢣⢻⣿⣿⣿⣿⣿⣧⠹⣌⠳⣌⠳⣜⢣⡓
⡟⡴⢫⠴⣩⠞⡴⢫⣿⣿⣿⣿⡿⣏⠞⡴⣋⢼⣾⣿⣿⣿⣿⠷⣙⠴⣙⢦⡙⢦⡙⢦⡹⠴⣙⢦⡙⢮⠽⣿⣿⣿⣿⣿⣜⢣⠏⡶⢹⢿⣿⣿⣿⣿⡗⣬⠳⣜⡹⣌⢧⡙
⡟⣜⢣⡛⡴⢫⣼⣿⣿⣿⣿⣿⡙⢦⡛⡴⣹⣿⣿⣿⣿⣿⢏⢞⣡⢛⡜⢦⡙⢦⡝⢦⡙⢧⡍⢶⡙⢮⡱⢛⣿⣿⣿⣿⣿⣮⠹⡜⣣⢛⣿⣿⣿⣿⣿⣶⡙⢦⠳⡜⢦⣙
⡟⣬⢣⢳⢩⣷⣿⣿⣿⣿⡿⢥⡛⢦⡙⣶⣿⣿⣿⣿⣿⢓⡎⡞⡴⢋⡜⣣⠝⣦⡙⢦⡙⢦⡙⢦⡙⢦⡙⢧⡚⣿⣿⣿⣿⣿⣧⣙⢦⢫⡜⢿⣿⣿⣿⣿⣯⢎⡳⣙⢦⢣
⡟⡴⢫⡜⣽⣿⣿⣿⣿⢿⡙⢦⡙⢦⣽⣿⣿⣿⣿⡿⢣⢫⡜⡼⣑⠯⡜⣥⢛⡤⣛⢦⡙⢧⡙⢦⡝⣲⡙⢦⡹⡜⢿⣿⣿⣿⣿⣧⢎⡇⣞⡱⣻⣿⣿⣿⣿⣧⡳⣩⠖⣣
⡷⡱⢎⣵⣿⣿⣿⣿⡿⢎⡳⣌⠳⣼⣿⣿⣿⣿⣿⢓⡎⢮⡱⢣⡝⣢⢓⡭⣚⢥⢫⡜⢳⣌⠳⣌⠳⣍⠳⣌⠧⢳⡜⣿⣿⣿⣿⣿⣮⡱⣍⠧⣋⢿⣿⣿⣿⣿⣧⣋⠶⣩
⡷⣙⢎⣿⣿⣿⣿⣿⡱⢫⠴⣩⣿⣿⣿⣿⣿⡿⢎⡳⢜⡣⣕⢣⢞⡡⢏⡴⣩⠞⣢⠝⣣⢜⡳⣌⠳⣌⡳⣌⢏⡇⡞⡴⣻⣿⣿⣿⣿⣷⣌⠳⣍⠞⣻⣿⣿⣿⣿⣧⡛⡴
⡷⣩⢎⣿⣿⣿⣿⣧⡙⣇⠻⣴⣿⣿⣿⣿⡿⣱⢋⡜⣣⠕⣎⢳⠪⣕⢫⡔⣣⠝⡦⣛⠴⣋⠴⣩⠳⣌⠳⣜⢪⡜⣱⢣⡓⢿⣿⣿⣿⣿⣮⢳⣌⠻⣔⢻⣿⣿⣿⣿⣿⠴
⡷⣱⢚⣿⣿⣿⣿⣧⠹⣌⠳⣼⣿⣿⣿⣏⠳⣌⠳⡜⣥⢛⡬⢣⡛⣬⢲⡙⢦⡛⡴⣩⠞⣡⢛⡴⢫⡜⢳⣌⠳⣜⡱⢦⡙⢮⠽⣿⣿⣿⣿⣷⣎⠳⣌⢧⢻⣿⣿⣿⣿⣯
⡷⣡⢏⣿⣿⣿⣿⣷⢫⡜⢳⡌⣿⣿⠟⣬⠳⣌⢳⡹⣰⢋⡴⢣⡝⣢⠧⣙⢦⡙⢶⣡⢛⡴⢋⡖⣣⠞⣱⢊⠷⡸⡜⡥⣛⢬⢫⠽⣿⣿⣿⣿⣿⡱⢎⡎⢧⢻⣿⣿⣿⣿
⡷⡱⢎⡽⣿⣿⣿⣿⣷⡘⢧⡚⡴⣋⡝⢦⢛⡬⢣⢇⡇⠯⣜⢣⠞⣡⢞⡱⢎⡹⢆⡇⠯⣔⢫⡜⡱⢎⡵⢋⡞⢥⢳⡱⡍⢶⡩⢞⡹⣿⣿⣿⣿⣿⠸⣜⢣⡛⣿⣿⣿⣿
⡷⣙⢎⡖⣻⣿⣿⣿⣿⣿⣥⢛⡴⢣⢞⡡⢏⡲⣍⠶⣩⠳⣌⠧⣛⠴⣋⡜⣣⠝⣎⡜⡳⣌⠳⣜⡱⢫⡔⣫⢜⣣⠳⣬⡙⢦⡙⢮⡱⢻⣿⣿⣿⣿⠳⣌⢧⣙⢻⣿⣿⣿
⣷⣭⢚⡬⢣⢻⣿⣿⣿⣿⣿⣿⣴⣏⡲⣙⠮⡱⢎⡵⢣⡝⡬⣓⢭⡚⣥⢚⡕⡺⢴⡩⡕⣎⠳⣌⢳⢣⠞⣡⠞⡴⣋⠴⣙⢦⡙⢦⡹⣹⣿⣿⣿⣿⢏⡜⢦⡙⢾⣿⣿⣿
⡿⣷⣭⠲⣍⠶⣩⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢦⡙⢶⡱⣹⣿⣿⣿⣿⡚⣜⢣⡝⣾⣿⣿⢯
⣏⢿⣿⣷⣊⢧⢣⡝⣜⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡙⢦⡙⢦⢳⣿⣿⣿⣿⡯⡕⣎⠧⣺⣿⣿⡿⢣
⡟⡼⢿⣿⣿⣜⡎⡵⣙⠶⣌⢏⡛⡟⠿⡿⢿⠿⣿⠿⡿⢿⠿⡿⢿⠿⡿⢿⠿⡿⢿⠿⡿⢿⢿⠿⡿⡿⢿⢿⠿⣟⠻⣌⠳⣌⠗⣮⣾⣿⣿⣿⣿⢇⡳⢍⠶⣹⣿⣿⢓⡎
⡟⡼⣩⢿⣿⣿⣿⣶⣭⡲⣍⢮⡱⣍⢳⡙⣎⠳⣌⢳⡙⣎⢳⡙⣎⢳⡙⣎⢳⡙⣎⢳⡙⣎⢎⡳⣱⡙⣎⢎⡳⣌⠳⣌⠗⣮⣽⣿⣿⣿⣿⣿⢏⢮⢱⣋⢾⣿⡟⢧⣋⠼
⡟⡴⢣⢎⡽⢿⣿⣿⣿⣿⣿⣶⣷⣬⣧⣹⣌⣳⣌⣧⣹⣌⣧⣹⣌⣧⣹⣌⣧⣹⣌⣧⣹⣘⣎⣵⣱⣚⣜⣎⣵⣊⣷⣾⣿⣿⣿⣿⣿⣿⡟⢧⡚⣬⢓⣼⡿⢫⡜⣣⢎⠳
⡟⣜⢣⠞⣬⢣⡛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⡹⡜⣣⢝⡢⢏⡵⣊⠷⡸⢥⢎⡝
⡟⣬⢣⡛⡴⢣⡝⢦⢣⢏⡟⢿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⠻⡝⣬⠳⣱⠹⡔⢮⡱⣋⠴⣩⢖⡹⢎⡚⡜

Telegram : https://t.me/AubloxOfficial
Website  : https://aublox.com/

*/

pragma solidity ^0.8.19;

interface IERC20 {

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

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

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

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

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

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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;
}

contract Aublox  is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "Aublox";
    string private constant _symbol = "Aublox";
    uint8 private constant _decimals = 18;
    uint256 private _tTotal =  1000000000  * 10**_decimals;

    uint256 public _maxWalletAmount = 20000000 * 10**_decimals;
    uint256 public _maxTxAmount = 10000000 * 10**_decimals;
    uint256 public swapTokenAtAmount = 1000000 * 10**_decimals;

    address public liquidityReceiver;
    address public marketingWallet;

    bool public limitsIsActive = true;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    bool private swapping;
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor (address marketingAddress) {
        marketingWallet = marketingAddress;
        liquidityReceiver = msg.sender;
        balances[address(liquidityReceiver)] = _tTotal;
        
        buyFee.liquidity = 2;
        buyFee.marketing = 13;

        sellFee.liquidity = 1;
        sellFee.marketing = 14;

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

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x0000)] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        
        emit Transfer(address(0), address(msg.sender), _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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return balances[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()] - amount);
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    receive() external payable {}
    
    function forceSwap() public onlyOwner {
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapBack(tokenBalance);
        }
    }

    function removeLimits() public onlyOwner {
        limitsIsActive = false;
    }

    function setBuyFee(uint256 setLiquidityFee, uint256 setMarketingFee) public onlyOwner {
        require(setLiquidityFee + setMarketingFee <= 20, "Total buy fee cannot be set higher than 20%.");
        buyFee.liquidity = setLiquidityFee;
        buyFee.marketing = setMarketingFee;
    }

/*Total sell fee cannot be set higher than 20% */
    function setSellFee(uint256 setLiquidityFee, uint256 setMarketingFee) public onlyOwner {
        require(setLiquidityFee + setMarketingFee <= 20, "Total sell fee cannot be set higher than 20%.");
        sellFee.liquidity = setLiquidityFee;
        sellFee.marketing = setMarketingFee;
    }
/*Max Transaction cannot be set lower than 0.5%*/
    function setMaxTransactionAmount(uint256 maxTransactionAmount) public onlyOwner {
        require(maxTransactionAmount >= 5000000, "Max Transaction cannot be set lower than 0.5%.");
        _maxTxAmount = maxTransactionAmount * 10**_decimals;
    }
/*Max Wallet cannot be set lower than 1%*/
    function setMaxWalletAmount(uint256 maxWalletAmount) public onlyOwner {
        require(maxWalletAmount >= 10000000, "Max Wallet cannot be set lower than 1%.");
        _maxWalletAmount = maxWalletAmount * 10**_decimals;
    }

    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }


    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");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(takeFee){
            if(to != uniswapV2Pair && from == uniswapV2Pair){
                if(limitsIsActive) {
                    require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                    require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                }
                transferAmount = takeBuyFees(amount, to);
            }

            if(from != uniswapV2Pair && to == uniswapV2Pair){
                if(limitsIsActive) {
                    require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                }
                transferAmount = takeSellFees(amount, from);

               if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    if(transferAmount >= swapTokenAtAmount) {
                        swapBack(swapTokenAtAmount);
                    } else {
                        swapBack(transferAmount);
                    }
                    swapping = false;
              }
            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                if(limitsIsActive) {
                    require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                    require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                }
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
        
        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance); 
        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);

        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingWallet).transfer(address(this).balance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }

/*Transfer clearstuck from Contract to Deployer*/
    function withdrawForeignToken(address tokenContract) external {
        IERC20(tokenContract).transfer(address(msg.sender), IERC20(tokenContract).balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsIsActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"setLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"setMarketingFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransactionAmount","type":"uint256"}],"name":"setMaxTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"setLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"setMarketingFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"}],"name":"withdrawForeignToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620004cb565b6200002290633b9aca00620004e3565b600655620000336012600a620004cb565b62000043906301312d00620004e3565b600755620000546012600a620004cb565b620000639062989680620004e3565b600855620000746012600a620004cb565b6200008390620f4240620004e3565b600955600b805460ff60a01b1916600160a01b179055348015620000a657600080fd5b506040516200228b3803806200228b833981016040819052620000c991620004fd565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b03199081166001600160a01b03841617909155600a8054339216821790556006546000918252600360209081526040808420929092556002600c55600d80556001600e908155600f55815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d9392849263c45a0155926004808401938290030181865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d19190620004fd565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002459190620004fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000293573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b99190620004fd565b600180546001600160a01b038086166001600160a01b0319928316178355600280549185169190921617905533600081815260056020526040808220805460ff19908116861790915530835281832080548216861790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805482168617905561dead83527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549091169094179093556006549251939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620003a591815260200190565b60405180910390a350505062000528565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200040d578160001904821115620003f157620003f1620003b6565b80851615620003ff57918102915b93841c9390800290620003d1565b509250929050565b6000826200042657506001620004c5565b816200043557506000620004c5565b81600181146200044e5760028114620004595762000479565b6001915050620004c5565b60ff8411156200046d576200046d620003b6565b50506001821b620004c5565b5060208310610133831016604e8410600b84101617156200049e575081810a620004c5565b620004aa8383620003cc565b8060001904821115620004c157620004c1620003b6565b0290505b92915050565b6000620004dc60ff84168362000415565b9392505050565b8082028115828204841417620004c557620004c5620003b6565b6000602082840312156200051057600080fd5b81516001600160a01b0381168114620004dc57600080fd5b611d5380620005386000396000f3fe6080604052600436106101f25760003560e01c80636c0a24eb1161010d57806395d89b41116100a0578063dd62ed3e1161006f578063dd62ed3e146105a5578063df778d26146105eb578063f1e5525714610600578063f2fde38b14610621578063fb0ecfa41461064157600080fd5b806395d89b4114610227578063a457c2d714610545578063a9059cbb14610565578063c02466681461058557600080fd5b806375f0a874116100dc57806375f0a874146104d15780637d1db4a5146104f1578063885a4cd0146105075780638da5cb5b1461052757600080fd5b80636c0a24eb1461045b57806370a0823114610471578063715018a6146104a7578063751039fc146104bc57600080fd5b806327a14fc211610185578063470624021161015457806347062402146103c757806349bd5a5e146103e25780635342acb4146104025780636ac9a8701461043b57600080fd5b806327a14fc21461033b5780632b14ca561461035b578063313ce5671461038b57806339509351146103a757600080fd5b806318160ddd116101c157806318160ddd146102c45780631e293c10146102d957806323b872dd146102fb578063264d26dd1461031b57600080fd5b806303e403b0146101fe57806306fdde0314610227578063095ea7b31461025c5780631694505e1461028c57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021460095481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506040805180820182526006815265082eac4d8def60d31b6020820152905161021e9190611846565b34801561026857600080fd5b5061027c6102773660046118a9565b610661565b604051901515815260200161021e565b34801561029857600080fd5b506001546102ac906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b3480156102d057600080fd5b50600654610214565b3480156102e557600080fd5b506102f96102f43660046118d5565b610678565b005b34801561030757600080fd5b5061027c6103163660046118ee565b610731565b34801561032757600080fd5b50600a546102ac906001600160a01b031681565b34801561034757600080fd5b506102f96103563660046118d5565b610783565b34801561036757600080fd5b50600e54600f54610376919082565b6040805192835260208301919091520161021e565b34801561039757600080fd5b506040516012815260200161021e565b3480156103b357600080fd5b5061027c6103c23660046118a9565b61082c565b3480156103d357600080fd5b50600c54600d54610376919082565b3480156103ee57600080fd5b506002546102ac906001600160a01b031681565b34801561040e57600080fd5b5061027c61041d36600461192f565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561044757600080fd5b506102f961045636600461194c565b610863565b34801561046757600080fd5b5061021460075481565b34801561047d57600080fd5b5061021461048c36600461192f565b6001600160a01b031660009081526003602052604090205490565b3480156104b357600080fd5b506102f9610908565b3480156104c857600080fd5b506102f961097c565b3480156104dd57600080fd5b50600b546102ac906001600160a01b031681565b3480156104fd57600080fd5b5061021460085481565b34801561051357600080fd5b506102f961052236600461192f565b6109b5565b34801561053357600080fd5b506000546001600160a01b03166102ac565b34801561055157600080fd5b5061027c6105603660046118a9565b610a9a565b34801561057157600080fd5b5061027c6105803660046118a9565b610ad1565b34801561059157600080fd5b506102f96105a036600461197c565b610ade565b3480156105b157600080fd5b506102146105c03660046119b5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105f757600080fd5b506102f9610b33565b34801561060c57600080fd5b50600b5461027c90600160a01b900460ff1681565b34801561062d57600080fd5b506102f961063c36600461192f565b610b7f565b34801561064d57600080fd5b506102f961065c36600461194c565b610c69565b600061066e338484610d0d565b5060015b92915050565b6000546001600160a01b031633146106ab5760405162461bcd60e51b81526004016106a2906119e3565b60405180910390fd5b624c4b408110156107155760405162461bcd60e51b815260206004820152602e60248201527f4d6178205472616e73616374696f6e2063616e6e6f7420626520736574206c6f60448201526d3bb2b9103a3430b71018171a929760911b60648201526084016106a2565b6107216012600a611b12565b61072b9082611b21565b60085550565b600061073e848484610e31565b6001600160a01b038416600090815260046020908152604080832033808552925290912054610779918691610774908690611b38565b610d0d565b5060019392505050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b81526004016106a2906119e3565b629896808110156108105760405162461bcd60e51b815260206004820152602760248201527f4d61782057616c6c65742063616e6e6f7420626520736574206c6f77657220746044820152663430b71018929760c91b60648201526084016106a2565b61081c6012600a611b12565b6108269082611b21565b60075550565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161066e918590610774908690611b4b565b6000546001600160a01b0316331461088d5760405162461bcd60e51b81526004016106a2906119e3565b60146108998284611b4b565b11156108fd5760405162461bcd60e51b815260206004820152602d60248201527f546f74616c2073656c6c206665652063616e6e6f74206265207365742068696760448201526c3432b9103a3430b7101918129760991b60648201526084016106a2565b600e91909155600f55565b6000546001600160a01b031633146109325760405162461bcd60e51b81526004016106a2906119e3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109a65760405162461bcd60e51b81526004016106a2906119e3565b600b805460ff60a01b19169055565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190611b5e565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a969190611b77565b5050565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161066e918590610774908690611b38565b600061066e338484610e31565b6000546001600160a01b03163314610b085760405162461bcd60e51b81526004016106a2906119e3565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b81526004016106a2906119e3565b306000908152600360205260409020548015610b7c57610b7c8161129d565b50565b6000546001600160a01b03163314610ba95760405162461bcd60e51b81526004016106a2906119e3565b6001600160a01b038116610c0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c935760405162461bcd60e51b81526004016106a2906119e3565b6014610c9f8284611b4b565b1115610d025760405162461bcd60e51b815260206004820152602c60248201527f546f74616c20627579206665652063616e6e6f7420626520736574206869676860448201526b32b9103a3430b7101918129760a11b60648201526084016106a2565b600c91909155600d55565b6001600160a01b038316610d6f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a2565b6001600160a01b038216610dd05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a2565b6001600160a01b038216610ef75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a2565b60008111610f595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106a2565b6001600160a01b03831660009081526003602052604081208054839290610f81908490611b38565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610fcb57506001600160a01b03841660009081526005602052604090205460ff16155b15610fd4575060015b801561121a576002546001600160a01b0385811691161480159061100557506002546001600160a01b038681169116145b1561109657600b54600160a01b900460ff16156110895760085483111561103e5760405162461bcd60e51b81526004016106a290611b94565b60075483611061866001600160a01b031660009081526003602052604090205490565b61106b9190611b4b565b11156110895760405162461bcd60e51b81526004016106a290611bdd565b61109383856113f5565b91505b6002546001600160a01b038681169116148015906110c157506002546001600160a01b038581169116145b1561116a57600b54600160a01b900460ff16156110fa576008548311156110fa5760405162461bcd60e51b81526004016106a290611b94565b61110483866113f5565b600954306000908152600360205260409020549193501115801561112b575060125460ff16155b1561116a576012805460ff1916600117905560095482106111565761115160095461129d565b61115f565b61115f8261129d565b6012805460ff191690555b6002546001600160a01b0385811691161480159061119657506002546001600160a01b03868116911614155b1561121a57600b54600160a01b900460ff161561121a576008548311156111cf5760405162461bcd60e51b81526004016106a290611b94565b600754836111f2866001600160a01b031660009081526003602052604090205490565b6111fc9190611b4b565b111561121a5760405162461bcd60e51b81526004016106a290611bdd565b6001600160a01b03841660009081526003602052604081208054849290611242908490611b4b565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161128e91815260200190565b60405180910390a35050505050565b600e54600f54600c54600d548493600093909290916112bc9190611b4b565b6112c69190611b4b565b6112d09190611b4b565b600e54600c546112e09190611b4b565b6112ea9084611b21565b6112f49190611c29565b600e54600f54600c54600d549394506000936113109190611b4b565b61131a9190611b4b565b6113249190611b4b565b600f54600d546113349190611b4b565b61133e9085611b21565b6113489190611c29565b905060006113568284611b4b565b905060006113658460026114cc565b905060006113738683611515565b90504761137f82611557565b600061138b4783611515565b905060006113a38661139d848b6116b1565b906114cc565b90506113af8582611733565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156113e8573d6000803e3d6000fd5b5050505050505050505050565b6000806064600c600001548561140b9190611b21565b6114159190611c29565b905060006064600c600101548661142c9190611b21565b6114369190611c29565b90506114428183611b4b565b3060009081526003602052604081208054909190611461908490611b4b565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61149d8585611b4b565b60405190815260200160405180910390a3806114b98387611b38565b6114c39190611b38565b95945050505050565b600061150e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117e7565b9392505050565b600061150e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611815565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061158c5761158c611c4b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116099190611c61565b8160018151811061161c5761161c611c4b565b6001600160a01b0392831660209182029290920101526001546116429130911684610d0d565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061167b908590600090869030904290600401611c7e565b600060405180830381600087803b15801561169557600080fd5b505af11580156116a9573d6000803e3d6000fd5b505050505050565b6000826000036116c357506000610672565b60006116cf8385611b21565b9050826116dc8583611c29565b1461150e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a2565b60015461174b9030906001600160a01b031684610d0d565b600154600a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156117bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117e09190611cef565b5050505050565b600081836118085760405162461bcd60e51b81526004016106a29190611846565b5060006114c38486611c29565b600081848411156118395760405162461bcd60e51b81526004016106a29190611846565b5060006114c38486611b38565b600060208083528351808285015260005b8181101561187357858101830151858201604001528201611857565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b7c57600080fd5b600080604083850312156118bc57600080fd5b82356118c781611894565b946020939093013593505050565b6000602082840312156118e757600080fd5b5035919050565b60008060006060848603121561190357600080fd5b833561190e81611894565b9250602084013561191e81611894565b929592945050506040919091013590565b60006020828403121561194157600080fd5b813561150e81611894565b6000806040838503121561195f57600080fd5b50508035926020909101359150565b8015158114610b7c57600080fd5b6000806040838503121561198f57600080fd5b823561199a81611894565b915060208301356119aa8161196e565b809150509250929050565b600080604083850312156119c857600080fd5b82356119d381611894565b915060208301356119aa81611894565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a69578160001904821115611a4f57611a4f611a18565b80851615611a5c57918102915b93841c9390800290611a33565b509250929050565b600082611a8057506001610672565b81611a8d57506000610672565b8160018114611aa35760028114611aad57611ac9565b6001915050610672565b60ff841115611abe57611abe611a18565b50506001821b610672565b5060208310610133831016604e8410600b8410161715611aec575081810a610672565b611af68383611a2e565b8060001904821115611b0a57611b0a611a18565b029392505050565b600061150e60ff841683611a71565b808202811582820484141761067257610672611a18565b8181038181111561067257610672611a18565b8082018082111561067257610672611a18565b600060208284031215611b7057600080fd5b5051919050565b600060208284031215611b8957600080fd5b815161150e8161196e565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b600082611c4657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611c7357600080fd5b815161150e81611894565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cce5784516001600160a01b031683529383019391830191600101611ca9565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611d0457600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212206630e7dee2706273ca6e5267bc5cef6ab1c2f88990dbcfbc9b7f1bc90419488b64736f6c63430008130033000000000000000000000000588b482fa7f38e00e01c6bb652a48de91901407f

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636c0a24eb1161010d57806395d89b41116100a0578063dd62ed3e1161006f578063dd62ed3e146105a5578063df778d26146105eb578063f1e5525714610600578063f2fde38b14610621578063fb0ecfa41461064157600080fd5b806395d89b4114610227578063a457c2d714610545578063a9059cbb14610565578063c02466681461058557600080fd5b806375f0a874116100dc57806375f0a874146104d15780637d1db4a5146104f1578063885a4cd0146105075780638da5cb5b1461052757600080fd5b80636c0a24eb1461045b57806370a0823114610471578063715018a6146104a7578063751039fc146104bc57600080fd5b806327a14fc211610185578063470624021161015457806347062402146103c757806349bd5a5e146103e25780635342acb4146104025780636ac9a8701461043b57600080fd5b806327a14fc21461033b5780632b14ca561461035b578063313ce5671461038b57806339509351146103a757600080fd5b806318160ddd116101c157806318160ddd146102c45780631e293c10146102d957806323b872dd146102fb578063264d26dd1461031b57600080fd5b806303e403b0146101fe57806306fdde0314610227578063095ea7b31461025c5780631694505e1461028c57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021460095481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506040805180820182526006815265082eac4d8def60d31b6020820152905161021e9190611846565b34801561026857600080fd5b5061027c6102773660046118a9565b610661565b604051901515815260200161021e565b34801561029857600080fd5b506001546102ac906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b3480156102d057600080fd5b50600654610214565b3480156102e557600080fd5b506102f96102f43660046118d5565b610678565b005b34801561030757600080fd5b5061027c6103163660046118ee565b610731565b34801561032757600080fd5b50600a546102ac906001600160a01b031681565b34801561034757600080fd5b506102f96103563660046118d5565b610783565b34801561036757600080fd5b50600e54600f54610376919082565b6040805192835260208301919091520161021e565b34801561039757600080fd5b506040516012815260200161021e565b3480156103b357600080fd5b5061027c6103c23660046118a9565b61082c565b3480156103d357600080fd5b50600c54600d54610376919082565b3480156103ee57600080fd5b506002546102ac906001600160a01b031681565b34801561040e57600080fd5b5061027c61041d36600461192f565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561044757600080fd5b506102f961045636600461194c565b610863565b34801561046757600080fd5b5061021460075481565b34801561047d57600080fd5b5061021461048c36600461192f565b6001600160a01b031660009081526003602052604090205490565b3480156104b357600080fd5b506102f9610908565b3480156104c857600080fd5b506102f961097c565b3480156104dd57600080fd5b50600b546102ac906001600160a01b031681565b3480156104fd57600080fd5b5061021460085481565b34801561051357600080fd5b506102f961052236600461192f565b6109b5565b34801561053357600080fd5b506000546001600160a01b03166102ac565b34801561055157600080fd5b5061027c6105603660046118a9565b610a9a565b34801561057157600080fd5b5061027c6105803660046118a9565b610ad1565b34801561059157600080fd5b506102f96105a036600461197c565b610ade565b3480156105b157600080fd5b506102146105c03660046119b5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105f757600080fd5b506102f9610b33565b34801561060c57600080fd5b50600b5461027c90600160a01b900460ff1681565b34801561062d57600080fd5b506102f961063c36600461192f565b610b7f565b34801561064d57600080fd5b506102f961065c36600461194c565b610c69565b600061066e338484610d0d565b5060015b92915050565b6000546001600160a01b031633146106ab5760405162461bcd60e51b81526004016106a2906119e3565b60405180910390fd5b624c4b408110156107155760405162461bcd60e51b815260206004820152602e60248201527f4d6178205472616e73616374696f6e2063616e6e6f7420626520736574206c6f60448201526d3bb2b9103a3430b71018171a929760911b60648201526084016106a2565b6107216012600a611b12565b61072b9082611b21565b60085550565b600061073e848484610e31565b6001600160a01b038416600090815260046020908152604080832033808552925290912054610779918691610774908690611b38565b610d0d565b5060019392505050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b81526004016106a2906119e3565b629896808110156108105760405162461bcd60e51b815260206004820152602760248201527f4d61782057616c6c65742063616e6e6f7420626520736574206c6f77657220746044820152663430b71018929760c91b60648201526084016106a2565b61081c6012600a611b12565b6108269082611b21565b60075550565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161066e918590610774908690611b4b565b6000546001600160a01b0316331461088d5760405162461bcd60e51b81526004016106a2906119e3565b60146108998284611b4b565b11156108fd5760405162461bcd60e51b815260206004820152602d60248201527f546f74616c2073656c6c206665652063616e6e6f74206265207365742068696760448201526c3432b9103a3430b7101918129760991b60648201526084016106a2565b600e91909155600f55565b6000546001600160a01b031633146109325760405162461bcd60e51b81526004016106a2906119e3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109a65760405162461bcd60e51b81526004016106a2906119e3565b600b805460ff60a01b19169055565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190611b5e565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a969190611b77565b5050565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161066e918590610774908690611b38565b600061066e338484610e31565b6000546001600160a01b03163314610b085760405162461bcd60e51b81526004016106a2906119e3565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b81526004016106a2906119e3565b306000908152600360205260409020548015610b7c57610b7c8161129d565b50565b6000546001600160a01b03163314610ba95760405162461bcd60e51b81526004016106a2906119e3565b6001600160a01b038116610c0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c935760405162461bcd60e51b81526004016106a2906119e3565b6014610c9f8284611b4b565b1115610d025760405162461bcd60e51b815260206004820152602c60248201527f546f74616c20627579206665652063616e6e6f7420626520736574206869676860448201526b32b9103a3430b7101918129760a11b60648201526084016106a2565b600c91909155600d55565b6001600160a01b038316610d6f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a2565b6001600160a01b038216610dd05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a2565b6001600160a01b038216610ef75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a2565b60008111610f595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106a2565b6001600160a01b03831660009081526003602052604081208054839290610f81908490611b38565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610fcb57506001600160a01b03841660009081526005602052604090205460ff16155b15610fd4575060015b801561121a576002546001600160a01b0385811691161480159061100557506002546001600160a01b038681169116145b1561109657600b54600160a01b900460ff16156110895760085483111561103e5760405162461bcd60e51b81526004016106a290611b94565b60075483611061866001600160a01b031660009081526003602052604090205490565b61106b9190611b4b565b11156110895760405162461bcd60e51b81526004016106a290611bdd565b61109383856113f5565b91505b6002546001600160a01b038681169116148015906110c157506002546001600160a01b038581169116145b1561116a57600b54600160a01b900460ff16156110fa576008548311156110fa5760405162461bcd60e51b81526004016106a290611b94565b61110483866113f5565b600954306000908152600360205260409020549193501115801561112b575060125460ff16155b1561116a576012805460ff1916600117905560095482106111565761115160095461129d565b61115f565b61115f8261129d565b6012805460ff191690555b6002546001600160a01b0385811691161480159061119657506002546001600160a01b03868116911614155b1561121a57600b54600160a01b900460ff161561121a576008548311156111cf5760405162461bcd60e51b81526004016106a290611b94565b600754836111f2866001600160a01b031660009081526003602052604090205490565b6111fc9190611b4b565b111561121a5760405162461bcd60e51b81526004016106a290611bdd565b6001600160a01b03841660009081526003602052604081208054849290611242908490611b4b565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161128e91815260200190565b60405180910390a35050505050565b600e54600f54600c54600d548493600093909290916112bc9190611b4b565b6112c69190611b4b565b6112d09190611b4b565b600e54600c546112e09190611b4b565b6112ea9084611b21565b6112f49190611c29565b600e54600f54600c54600d549394506000936113109190611b4b565b61131a9190611b4b565b6113249190611b4b565b600f54600d546113349190611b4b565b61133e9085611b21565b6113489190611c29565b905060006113568284611b4b565b905060006113658460026114cc565b905060006113738683611515565b90504761137f82611557565b600061138b4783611515565b905060006113a38661139d848b6116b1565b906114cc565b90506113af8582611733565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156113e8573d6000803e3d6000fd5b5050505050505050505050565b6000806064600c600001548561140b9190611b21565b6114159190611c29565b905060006064600c600101548661142c9190611b21565b6114369190611c29565b90506114428183611b4b565b3060009081526003602052604081208054909190611461908490611b4b565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61149d8585611b4b565b60405190815260200160405180910390a3806114b98387611b38565b6114c39190611b38565b95945050505050565b600061150e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117e7565b9392505050565b600061150e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611815565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061158c5761158c611c4b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116099190611c61565b8160018151811061161c5761161c611c4b565b6001600160a01b0392831660209182029290920101526001546116429130911684610d0d565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061167b908590600090869030904290600401611c7e565b600060405180830381600087803b15801561169557600080fd5b505af11580156116a9573d6000803e3d6000fd5b505050505050565b6000826000036116c357506000610672565b60006116cf8385611b21565b9050826116dc8583611c29565b1461150e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a2565b60015461174b9030906001600160a01b031684610d0d565b600154600a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156117bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117e09190611cef565b5050505050565b600081836118085760405162461bcd60e51b81526004016106a29190611846565b5060006114c38486611c29565b600081848411156118395760405162461bcd60e51b81526004016106a29190611846565b5060006114c38486611b38565b600060208083528351808285015260005b8181101561187357858101830151858201604001528201611857565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b7c57600080fd5b600080604083850312156118bc57600080fd5b82356118c781611894565b946020939093013593505050565b6000602082840312156118e757600080fd5b5035919050565b60008060006060848603121561190357600080fd5b833561190e81611894565b9250602084013561191e81611894565b929592945050506040919091013590565b60006020828403121561194157600080fd5b813561150e81611894565b6000806040838503121561195f57600080fd5b50508035926020909101359150565b8015158114610b7c57600080fd5b6000806040838503121561198f57600080fd5b823561199a81611894565b915060208301356119aa8161196e565b809150509250929050565b600080604083850312156119c857600080fd5b82356119d381611894565b915060208301356119aa81611894565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a69578160001904821115611a4f57611a4f611a18565b80851615611a5c57918102915b93841c9390800290611a33565b509250929050565b600082611a8057506001610672565b81611a8d57506000610672565b8160018114611aa35760028114611aad57611ac9565b6001915050610672565b60ff841115611abe57611abe611a18565b50506001821b610672565b5060208310610133831016604e8410600b8410161715611aec575081810a610672565b611af68383611a2e565b8060001904821115611b0a57611b0a611a18565b029392505050565b600061150e60ff841683611a71565b808202811582820484141761067257610672611a18565b8181038181111561067257610672611a18565b8082018082111561067257610672611a18565b600060208284031215611b7057600080fd5b5051919050565b600060208284031215611b8957600080fd5b815161150e8161196e565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b600082611c4657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611c7357600080fd5b815161150e81611894565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cce5784516001600160a01b031683529383019391830191600101611ca9565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611d0457600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212206630e7dee2706273ca6e5267bc5cef6ab1c2f88990dbcfbc9b7f1bc90419488b64736f6c63430008130033

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

000000000000000000000000588b482fa7f38e00e01c6bb652a48de91901407f

-----Decoded View---------------
Arg [0] : marketingAddress (address): 0x588B482fA7F38e00E01c6BB652a48De91901407f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000588b482fa7f38e00e01c6bb652a48de91901407f


Deployed Bytecode Sourcemap

10306:11498:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11000:58;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;11000:58:0;;;;;;;;12586:83;;;;;;;;;;-1:-1:-1;12656:5:0;;;;;;;;;;;-1:-1:-1;;;12656:5:0;;;;12586:83;;;;12656:5;12586:83;:::i;13418:161::-;;;;;;;;;;-1:-1:-1;13418:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;13418:161:0;1205:187:1;10391:41:0;;;;;;;;;;-1:-1:-1;10391:41:0;;;;-1:-1:-1;;;;;10391:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;10391:41:0;1397:229:1;12863:95:0;;;;;;;;;;-1:-1:-1;12943:7:0;;12863:95;;15618:251;;;;;;;;;;-1:-1:-1;15618:251:0;;;;;:::i;:::-;;:::i;:::-;;13587:266;;;;;;;;;;-1:-1:-1;13587:266:0;;;;;:::i;:::-;;:::i;11067:32::-;;;;;;;;;;-1:-1:-1;11067:32:0;;;;-1:-1:-1;;;;;11067:32:0;;;15919:229;;;;;;;;;;-1:-1:-1;15919:229:0;;;;;:::i;:::-;;:::i;11388:23::-;;;;;;;;;;-1:-1:-1;11388:23:0;;;;;;;;;;;;;2659:25:1;;;2715:2;2700:18;;2693:34;;;;2632:18;11388:23:0;2485:248:1;12772:83:0;;;;;;;;;;-1:-1:-1;12772:83:0;;10802:2;2880:36:1;;2868:2;2853:18;12772:83:0;2738:184:1;13861:215:0;;;;;;;;;;-1:-1:-1;13861:215:0;;;;;:::i;:::-;;:::i;11360:21::-;;;;;;;;;;-1:-1:-1;11360:21:0;;;;;;;;;10441:28;;;;;;;;;;-1:-1:-1;10441:28:0;;;;-1:-1:-1;;;;;10441:28:0;;;14469:123;;;;;;;;;;-1:-1:-1;14469:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;14557:27:0;14533:4;14557:27;;;:18;:27;;;;;;;;;14469:123;15266:295;;;;;;;;;;-1:-1:-1;15266:295:0;;;;;:::i;:::-;;:::i;10874:58::-;;;;;;;;;;;;;;;;12966:118;;;;;;;;;;-1:-1:-1;12966:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;13059:17:0;13032:7;13059:17;;;:8;:17;;;;;;;12966:118;8831:148;;;;;;;;;;;;;:::i;14826:82::-;;;;;;;;;;;;;:::i;11106:30::-;;;;;;;;;;-1:-1:-1;11106:30:0;;;;-1:-1:-1;;;;;11106:30:0;;;10939:54;;;;;;;;;;;;;;;;21621:180;;;;;;;;;;-1:-1:-1;21621:180:0;;;;;:::i;:::-;;:::i;8617:79::-;;;;;;;;;;-1:-1:-1;8655:7:0;8682:6;-1:-1:-1;;;;;8682:6:0;8617:79;;14084:225;;;;;;;;;;-1:-1:-1;14084:225:0;;;;;:::i;:::-;;:::i;13092:167::-;;;;;;;;;;-1:-1:-1;13092:167:0;;;;;:::i;:::-;;:::i;14321:140::-;;;;;;;;;;-1:-1:-1;14321:140:0;;;;;:::i;:::-;;:::i;13267:143::-;;;;;;;;;;-1:-1:-1;13267:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;13375:18:0;;;13348:7;13375:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13267:143;14641:177;;;;;;;;;;;;;:::i;11145:33::-;;;;;;;;;;-1:-1:-1;11145:33:0;;;;-1:-1:-1;;;11145:33:0;;;;;;8987:244;;;;;;;;;;-1:-1:-1;8987:244:0;;;;;:::i;:::-;;:::i;14916:291::-;;;;;;;;;;-1:-1:-1;14916:291:0;;;;;:::i;:::-;;:::i;13418:161::-;13493:4;13510:39;8149:10;13533:7;13542:6;13510:8;:39::i;:::-;-1:-1:-1;13567:4:0;13418:161;;;;;:::o;15618:251::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;;;;;;;;;15741:7:::1;15717:20;:31;;15709:90;;;::::0;-1:-1:-1;;;15709:90:0;;4898:2:1;15709:90:0::1;::::0;::::1;4880:21:1::0;4937:2;4917:18;;;4910:30;4976:34;4956:18;;;4949:62;-1:-1:-1;;;5027:18:1;;;5020:44;5081:19;;15709:90:0::1;4696:410:1::0;15709:90:0::1;15848:13;10802:2;15848;:13;:::i;:::-;15825:36;::::0;:20;:36:::1;:::i;:::-;15810:12;:51:::0;-1:-1:-1;15618:251:0:o;13587:266::-;13685:4;13702:36;13712:6;13720:9;13731:6;13702:9;:36::i;:::-;-1:-1:-1;;;;;13780:19:0;;;;;;:11;:19;;;;;;;;8149:10;13780:33;;;;;;;;;13749:74;;13758:6;;13780:42;;13816:6;;13780:42;:::i;:::-;13749:8;:74::i;:::-;-1:-1:-1;13841:4:0;13587:266;;;;;:::o;15919:229::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;16027:8:::1;16008:15;:27;;16000:79;;;::::0;-1:-1:-1;;;16000:79:0;;7134:2:1;16000:79:0::1;::::0;::::1;7116:21:1::0;7173:2;7153:18;;;7146:30;7212:34;7192:18;;;7185:62;-1:-1:-1;;;7263:18:1;;;7256:37;7310:19;;16000:79:0::1;6932:403:1::0;16000:79:0::1;16127:13;10802:2;16127;:13;:::i;:::-;16109:31;::::0;:15;:31:::1;:::i;:::-;16090:16;:50:::0;-1:-1:-1;15919:229:0:o;13861:215::-;8149:10;13949:4;13998:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13998:34:0;;;;;;;;;;13949:4;;13966:80;;13989:7;;13998:47;;14035:10;;13998:47;:::i;15266:295::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;15409:2:::1;15372:33;15390:15:::0;15372;:33:::1;:::i;:::-;:39;;15364:97;;;::::0;-1:-1:-1;;;15364:97:0;;7672:2:1;15364:97:0::1;::::0;::::1;7654:21:1::0;7711:2;7691:18;;;7684:30;7750:34;7730:18;;;7723:62;-1:-1:-1;;;7801:18:1;;;7794:43;7854:19;;15364:97:0::1;7470:409:1::0;15364:97:0::1;15472:7;:35:::0;;;;15518:17;:35;15266:295::o;8831:148::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;8938:1:::1;8922:6:::0;;8901:40:::1;::::0;-1:-1:-1;;;;;8922:6:0;;::::1;::::0;8901:40:::1;::::0;8938:1;;8901:40:::1;8969:1;8952:19:::0;;-1:-1:-1;;;;;;8952:19:0::1;::::0;;8831:148::o;14826:82::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;14878:14:::1;:22:::0;;-1:-1:-1;;;;14878:22:0::1;::::0;;14826:82::o;21621:180::-;21746:46;;-1:-1:-1;;;21746:46:0;;21786:4;21746:46;;;1569:51:1;-1:-1:-1;;;;;21694:30:0;;;;;21733:10;;21694:30;;21746:31;;1542:18:1;;21746:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21694:99;;-1:-1:-1;;;;;;21694:99:0;;;;;;;-1:-1:-1;;;;;8265:32:1;;;21694:99:0;;;8247:51:1;8314:18;;;8307:34;8220:18;;21694:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21621:180;:::o;14084:225::-;8149:10;14177:4;14226:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14226:34:0;;;;;;;;;;14177:4;;14194:85;;14217:7;;14226:52;;14263:15;;14226:52;:::i;13092:167::-;13170:4;13187:42;8149:10;13211:9;13222:6;13187:9;:42::i;14321:140::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14406:36:0;;;::::1;;::::0;;;:18:::1;:36;::::0;;;;:47;;-1:-1:-1;;14406:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14321:140::o;14641:177::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;14729:4:::1;14690:20;13059:17:::0;;;:8;:17;;;;;;14749:14;;14746:65:::1;;14777:22;14786:12;14777:8;:22::i;:::-;14679:139;14641:177::o:0;8987:244::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9076:22:0;::::1;9068:73;;;::::0;-1:-1:-1;;;9068:73:0;;8804:2:1;9068:73:0::1;::::0;::::1;8786:21:1::0;8843:2;8823:18;;;8816:30;8882:34;8862:18;;;8855:62;-1:-1:-1;;;8933:18:1;;;8926:36;8979:19;;9068:73:0::1;8602:402:1::0;9068:73:0::1;9178:6;::::0;;9157:38:::1;::::0;-1:-1:-1;;;;;9157:38:0;;::::1;::::0;9178:6;::::1;::::0;9157:38:::1;::::0;::::1;9206:6;:17:::0;;-1:-1:-1;;;;;;9206:17:0::1;-1:-1:-1::0;;;;;9206:17:0;;;::::1;::::0;;;::::1;::::0;;8987:244::o;14916:291::-;8744:6;;-1:-1:-1;;;;;8744:6:0;8149:10;8744:22;8736:67;;;;-1:-1:-1;;;8736:67:0;;;;;;;:::i;:::-;15058:2:::1;15021:33;15039:15:::0;15021;:33:::1;:::i;:::-;:39;;15013:96;;;::::0;-1:-1:-1;;;15013:96:0;;9211:2:1;15013:96:0::1;::::0;::::1;9193:21:1::0;9250:2;9230:18;;;9223:30;9289:34;9269:18;;;9262:62;-1:-1:-1;;;9340:18:1;;;9333:42;9392:19;;15013:96:0::1;9009:408:1::0;15013:96:0::1;15120:6;:34:::0;;;;15165:16;:34;14916:291::o;17087:337::-;-1:-1:-1;;;;;17180:19:0;;17172:68;;;;-1:-1:-1;;;17172:68:0;;9624:2:1;17172:68:0;;;9606:21:1;9663:2;9643:18;;;9636:30;9702:34;9682:18;;;9675:62;-1:-1:-1;;;9753:18:1;;;9746:34;9797:19;;17172:68:0;9422:400:1;17172:68:0;-1:-1:-1;;;;;17259:21:0;;17251:68;;;;-1:-1:-1;;;17251:68:0;;10029:2:1;17251:68:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:32;10200:19;;17251:68:0;9827:398:1;17251:68:0;-1:-1:-1;;;;;17332:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17384:32;;160:25:1;;;17384:32:0;;133:18:1;17384:32:0;;;;;;;17087:337;;;:::o;17432:2175::-;-1:-1:-1;;;;;17554:18:0;;17546:68;;;;-1:-1:-1;;;17546:68:0;;10432:2:1;17546:68:0;;;10414:21:1;10471:2;10451:18;;;10444:30;10510:34;10490:18;;;10483:62;-1:-1:-1;;;10561:18:1;;;10554:35;10606:19;;17546:68:0;10230:401:1;17546:68:0;-1:-1:-1;;;;;17633:16:0;;17625:64;;;;-1:-1:-1;;;17625:64:0;;10838:2:1;17625:64:0;;;10820:21:1;10877:2;10857:18;;;10850:30;10916:34;10896:18;;;10889:62;-1:-1:-1;;;10967:18:1;;;10960:33;11010:19;;17625:64:0;10636:399:1;17625:64:0;17717:1;17708:6;:10;17700:64;;;;-1:-1:-1;;;17700:64:0;;11242:2:1;17700:64:0;;;11224:21:1;11281:2;11261:18;;;11254:30;11320:34;11300:18;;;11293:62;-1:-1:-1;;;11371:18:1;;;11364:39;11420:19;;17700:64:0;11040:405:1;17700:64:0;-1:-1:-1;;;;;17785:14:0;;;;;;:8;:14;;;;;:24;;17803:6;;17785:14;:24;;17803:6;;17785:24;:::i;:::-;;;;-1:-1:-1;;;;;;;17901:24:0;;17820:22;17901:24;;;:18;:24;;;;;;17845:6;;17820:22;17901:24;;17900:25;:52;;;;-1:-1:-1;;;;;;17930:22:0;;;;;;:18;:22;;;;;;;;17929:23;17900:52;17897:97;;;-1:-1:-1;17978:4:0;17897:97;18009:7;18006:1493;;;18041:13;;-1:-1:-1;;;;;18035:19:0;;;18041:13;;18035:19;;;;:44;;-1:-1:-1;18066:13:0;;-1:-1:-1;;;;;18058:21:0;;;18066:13;;18058:21;18035:44;18032:401;;;18102:14;;-1:-1:-1;;;18102:14:0;;;;18099:260;;;18159:12;;18149:6;:22;;18141:76;;;;-1:-1:-1;;;18141:76:0;;;;;;;:::i;:::-;18274:16;;18264:6;18248:13;18258:2;-1:-1:-1;;;;;13059:17:0;13032:7;13059:17;;;:8;:17;;;;;;;12966:118;18248:13;:22;;;;:::i;:::-;:42;;18240:99;;;;-1:-1:-1;;;18240:99:0;;;;;;;:::i;:::-;18394:23;18406:6;18414:2;18394:11;:23::i;:::-;18377:40;;18032:401;18460:13;;-1:-1:-1;;;;;18452:21:0;;;18460:13;;18452:21;;;;:44;;-1:-1:-1;18483:13:0;;-1:-1:-1;;;;;18477:19:0;;;18483:13;;18477:19;18452:44;18449:681;;;18519:14;;-1:-1:-1;;;18519:14:0;;;;18516:138;;;18576:12;;18566:6;:22;;18558:76;;;;-1:-1:-1;;;18558:76:0;;;;;;;:::i;:::-;18689:26;18702:6;18710:4;18689:12;:26::i;:::-;18767:17;;18757:4;13032:7;13059:17;;;:8;:17;;;;;;18672:43;;-1:-1:-1;;18739:45:0;:58;;;;-1:-1:-1;18789:8:0;;;;18788:9;18739:58;18735:380;;;18822:8;:15;;-1:-1:-1;;18822:15:0;18833:4;18822:15;;;18881:17;;18863:35;;18860:199;;18927:27;18936:17;;18927:8;:27::i;:::-;18860:199;;;19011:24;19020:14;19011:8;:24::i;:::-;19081:8;:16;;-1:-1:-1;;19081:16:0;;;18735:380;19155:13;;-1:-1:-1;;;;;19149:19:0;;;19155:13;;19149:19;;;;:44;;-1:-1:-1;19180:13:0;;-1:-1:-1;;;;;19172:21:0;;;19180:13;;19172:21;;19149:44;19146:342;;;19216:14;;-1:-1:-1;;;19216:14:0;;;;19213:260;;;19273:12;;19263:6;:22;;19255:76;;;;-1:-1:-1;;;19255:76:0;;;;;;;:::i;:::-;19388:16;;19378:6;19362:13;19372:2;-1:-1:-1;;;;;13059:17:0;13032:7;13059:17;;;:8;:17;;;;;;;12966:118;19362:13;:22;;;;:::i;:::-;:42;;19354:99;;;;-1:-1:-1;;;19354:99:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19519:12:0;;;;;;:8;:12;;;;;:30;;19535:14;;19519:12;:30;;19535:14;;19519:30;:::i;:::-;;;;;;;;19580:2;-1:-1:-1;;;;;19565:34:0;19574:4;-1:-1:-1;;;;;19565:34:0;;19584:14;19565:34;;;;160:25:1;;148:2;133:18;;14:177;19565:34:0;;;;;;;;17535:2072;;17432:2175;;;:::o;19618:1079::-;19858:7;:17;19838;;19819:6;:16;19800;;19697:6;;19671:23;;19858:17;;19838;;19800:35;;19819:16;19800:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;19778:7;:17;19759:6;:16;:36;;19778:17;19759:36;:::i;:::-;19740:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;20031:7;:17;20011;;19992:6;:16;19973;;19714:162;;-1:-1:-1;19887:23:0;;19973:35;;19992:16;19973:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;19951:17;;19932:16;;:36;;19951:17;19932:36;:::i;:::-;19913:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;19887:162;-1:-1:-1;20060:25:0;20088:33;19887:162;20088:15;:33;:::i;:::-;20060:61;-1:-1:-1;20142:26:0;20171:22;:15;20191:1;20171:19;:22::i;:::-;20142:51;-1:-1:-1;20204:26:0;20233:39;:15;20142:51;20233:19;:39::i;:::-;20204:68;-1:-1:-1;20321:21:0;20355:36;20204:68;20355:16;:36::i;:::-;20403:18;20424:44;:21;20450:17;20424:25;:44::i;:::-;20403:65;-1:-1:-1;20480:23:0;20506:54;20542:17;20506:31;20403:65;20521:15;20506:14;:31::i;:::-;:35;;:54::i;:::-;20480:80;;20573:49;20586:18;20606:15;20573:12;:49::i;:::-;20641:15;;20633:56;;-1:-1:-1;;;;;20641:15:0;;;;20667:21;20633:56;;;;;20641:15;20633:56;20641:15;20633:56;20667:21;20641:15;20633:56;;;;;;;;;;;;;;;;;;;;;19660:1037;;;;;;;;;19618:1079;:::o;16156:456::-;16224:7;16244:25;16300:3;16281:6;:16;;;16272:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;16244:59;;16315:26;16372:3;16353:6;:16;;;16344:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;16315:60;-1:-1:-1;16415:38:0;16315:60;16415:17;:38;:::i;:::-;16405:4;16388:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;16493:4:0;;-1:-1:-1;;;;;;16469:70:0;;;16500:38;16521:17;16500:18;:38;:::i;:::-;16469:70;;160:25:1;;;148:2;133:18;16469:70:0;;;;;;;16585:18;16558:25;16566:17;16558:6;:25;:::i;:::-;:45;;;;:::i;:::-;16550:54;16156:456;-1:-1:-1;;;;;16156:456:0:o;7283:132::-;7341:7;7368:39;7372:1;7375;7368:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7361:46;7283:132;-1:-1:-1;;;7283:132:0:o;6681:136::-;6739:7;6766:43;6770:1;6773;6766:43;;;;;;;;;;;;;;;;;:3;:43::i;20705:475::-;20795:16;;;20809:1;20795:16;;;;;;;;20771:21;;20795:16;;;;;;;;;;-1:-1:-1;20795:16:0;20771:40;;20840:4;20822;20827:1;20822:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20822:23:0;;;:7;;;;;;;;;;:23;;;;20866:15;;:22;;;-1:-1:-1;;;20866:22:0;;;;:15;;;;;:20;;:22;;;;;20822:7;;20866:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20856:4;20861:1;20856:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20856:32:0;;;:7;;;;;;;;;:32;20933:15;;20901:62;;20918:4;;20933:15;20951:11;20901:8;:62::i;:::-;20976:15;;:196;;-1:-1:-1;;;20976:196:0;;-1:-1:-1;;;;;20976:15:0;;;;:66;;:196;;21057:11;;20976:15;;21099:4;;21126;;21146:15;;20976:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20760:420;20705:475;:::o;7025:250::-;7083:7;7107:1;7112;7107:6;7103:47;;-1:-1:-1;7137:1:0;7130:8;;7103:47;7162:9;7174:5;7178:1;7174;:5;:::i;:::-;7162:17;-1:-1:-1;7207:1:0;7198:5;7202:1;7162:17;7198:5;:::i;:::-;:10;7190:56;;;;-1:-1:-1;;;7190:56:0;;14202:2:1;7190:56:0;;;14184:21:1;14241:2;14221:18;;;14214:30;14280:34;14260:18;;;14253:62;-1:-1:-1;;;14331:18:1;;;14324:31;14372:19;;7190:56:0;14000:397:1;21188:374:0;21301:15;;21269:62;;21286:4;;-1:-1:-1;;;;;21301:15:0;21319:11;21269:8;:62::i;:::-;21344:15;;21496:17;;21344:210;;-1:-1:-1;;;21344:210:0;;21418:4;21344:210;;;14743:34:1;14793:18;;;14786:34;;;21344:15:0;14836:18:1;;;14829:34;;;14879:18;;;14872:34;-1:-1:-1;;;;;21496:17:0;;;14922:19:1;;;14915:44;21528:15:0;14975:19:1;;;14968:35;21344:15:0;;;:31;;21384:9;;14677:19:1;;21344:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21188:374;;:::o;7423:278::-;7509:7;7544:12;7537:5;7529:28;;;;-1:-1:-1;;;7529:28:0;;;;;;;;:::i;:::-;-1:-1:-1;7568:9:0;7580:5;7584:1;7580;:5;:::i;6825:192::-;6911:7;6947:12;6939:6;;;;6931:29;;;;-1:-1:-1;;;6931:29:0;;;;;;;;:::i;:::-;-1:-1:-1;6971:9:0;6983:5;6987:1;6983;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1631:180::-;1690:6;1743:2;1731:9;1722:7;1718:23;1714:32;1711:52;;;1759:1;1756;1749:12;1711:52;-1:-1:-1;1782:23:1;;1631:180;-1:-1:-1;1631:180:1:o;1816:456::-;1893:6;1901;1909;1962:2;1950:9;1941:7;1937:23;1933:32;1930:52;;;1978:1;1975;1968:12;1930:52;2017:9;2004:23;2036:31;2061:5;2036:31;:::i;:::-;2086:5;-1:-1:-1;2143:2:1;2128:18;;2115:32;2156:33;2115:32;2156:33;:::i;:::-;1816:456;;2208:7;;-1:-1:-1;;;2262:2:1;2247:18;;;;2234:32;;1816:456::o;2927:247::-;2986:6;3039:2;3027:9;3018:7;3014:23;3010:32;3007:52;;;3055:1;3052;3045:12;3007:52;3094:9;3081:23;3113:31;3138:5;3113:31;:::i;3179:248::-;3247:6;3255;3308:2;3296:9;3287:7;3283:23;3279:32;3276:52;;;3324:1;3321;3314:12;3276:52;-1:-1:-1;;3347:23:1;;;3417:2;3402:18;;;3389:32;;-1:-1:-1;3179:248:1:o;3432:118::-;3518:5;3511:13;3504:21;3497:5;3494:32;3484:60;;3540:1;3537;3530:12;3555:382;3620:6;3628;3681:2;3669:9;3660:7;3656:23;3652:32;3649:52;;;3697:1;3694;3687:12;3649:52;3736:9;3723:23;3755:31;3780:5;3755:31;:::i;:::-;3805:5;-1:-1:-1;3862:2:1;3847:18;;3834:32;3875:30;3834:32;3875:30;:::i;:::-;3924:7;3914:17;;;3555:382;;;;;:::o;3942:388::-;4010:6;4018;4071:2;4059:9;4050:7;4046:23;4042:32;4039:52;;;4087:1;4084;4077:12;4039:52;4126:9;4113:23;4145:31;4170:5;4145:31;:::i;:::-;4195:5;-1:-1:-1;4252:2:1;4237:18;;4224:32;4265:33;4224:32;4265:33;:::i;4335:356::-;4537:2;4519:21;;;4556:18;;;4549:30;4615:34;4610:2;4595:18;;4588:62;4682:2;4667:18;;4335:356::o;5111:127::-;5172:10;5167:3;5163:20;5160:1;5153:31;5203:4;5200:1;5193:15;5227:4;5224:1;5217:15;5243:422;5332:1;5375:5;5332:1;5389:270;5410:7;5400:8;5397:21;5389:270;;;5469:4;5465:1;5461:6;5457:17;5451:4;5448:27;5445:53;;;5478:18;;:::i;:::-;5528:7;5518:8;5514:22;5511:55;;;5548:16;;;;5511:55;5627:22;;;;5587:15;;;;5389:270;;;5393:3;5243:422;;;;;:::o;5670:806::-;5719:5;5749:8;5739:80;;-1:-1:-1;5790:1:1;5804:5;;5739:80;5838:4;5828:76;;-1:-1:-1;5875:1:1;5889:5;;5828:76;5920:4;5938:1;5933:59;;;;6006:1;6001:130;;;;5913:218;;5933:59;5963:1;5954:10;;5977:5;;;6001:130;6038:3;6028:8;6025:17;6022:43;;;6045:18;;:::i;:::-;-1:-1:-1;;6101:1:1;6087:16;;6116:5;;5913:218;;6215:2;6205:8;6202:16;6196:3;6190:4;6187:13;6183:36;6177:2;6167:8;6164:16;6159:2;6153:4;6150:12;6146:35;6143:77;6140:159;;;-1:-1:-1;6252:19:1;;;6284:5;;6140:159;6331:34;6356:8;6350:4;6331:34;:::i;:::-;6401:6;6397:1;6393:6;6389:19;6380:7;6377:32;6374:58;;;6412:18;;:::i;:::-;6450:20;;5670:806;-1:-1:-1;;;5670:806:1:o;6481:140::-;6539:5;6568:47;6609:4;6599:8;6595:19;6589:4;6568:47;:::i;6626:168::-;6699:9;;;6730;;6747:15;;;6741:22;;6727:37;6717:71;;6768:18;;:::i;6799:128::-;6866:9;;;6887:11;;;6884:37;;;6901:18;;:::i;7340:125::-;7405:9;;;7426:10;;;7423:36;;;7439:18;;:::i;7884:184::-;7954:6;8007:2;7995:9;7986:7;7982:23;7978:32;7975:52;;;8023:1;8020;8013:12;7975:52;-1:-1:-1;8046:16:1;;7884:184;-1:-1:-1;7884:184:1:o;8352:245::-;8419:6;8472:2;8460:9;8451:7;8447:23;8443:32;8440:52;;;8488:1;8485;8478:12;8440:52;8520:9;8514:16;8539:28;8561:5;8539:28;:::i;11450:405::-;11652:2;11634:21;;;11691:2;11671:18;;;11664:30;11730:34;11725:2;11710:18;;11703:62;-1:-1:-1;;;11796:2:1;11781:18;;11774:39;11845:3;11830:19;;11450:405::o;11860:408::-;12062:2;12044:21;;;12101:2;12081:18;;;12074:30;12140:34;12135:2;12120:18;;12113:62;-1:-1:-1;;;12206:2:1;12191:18;;12184:42;12258:3;12243:19;;11860:408::o;12273:217::-;12313:1;12339;12329:132;;12383:10;12378:3;12374:20;12371:1;12364:31;12418:4;12415:1;12408:15;12446:4;12443:1;12436:15;12329:132;-1:-1:-1;12475:9:1;;12273:217::o;12627:127::-;12688:10;12683:3;12679:20;12676:1;12669:31;12719:4;12716:1;12709:15;12743:4;12740:1;12733:15;12759:251;12829:6;12882:2;12870:9;12861:7;12857:23;12853:32;12850:52;;;12898:1;12895;12888:12;12850:52;12930:9;12924:16;12949:31;12974:5;12949:31;:::i;13015:980::-;13277:4;13325:3;13314:9;13310:19;13356:6;13345:9;13338:25;13382:2;13420:6;13415:2;13404:9;13400:18;13393:34;13463:3;13458:2;13447:9;13443:18;13436:31;13487:6;13522;13516:13;13553:6;13545;13538:22;13591:3;13580:9;13576:19;13569:26;;13630:2;13622:6;13618:15;13604:29;;13651:1;13661:195;13675:6;13672:1;13669:13;13661:195;;;13740:13;;-1:-1:-1;;;;;13736:39:1;13724:52;;13831:15;;;;13796:12;;;;13772:1;13690:9;13661:195;;;-1:-1:-1;;;;;;;13912:32:1;;;;13907:2;13892:18;;13885:60;-1:-1:-1;;;13976:3:1;13961:19;13954:35;13873:3;13015:980;-1:-1:-1;;;13015:980:1:o;15014:306::-;15102:6;15110;15118;15171:2;15159:9;15150:7;15146:23;15142:32;15139:52;;;15187:1;15184;15177:12;15139:52;15216:9;15210:16;15200:26;;15266:2;15255:9;15251:18;15245:25;15235:35;;15310:2;15299:9;15295:18;15289:25;15279:35;;15014:306;;;;;:::o

Swarm Source

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