ETH Price: $2,422.88 (-2.68%)

Token

RED (RED)
 

Overview

Max Total Supply

69,000,000,000,000 RED

Holders

312

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
RED

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-17
*/

// File: contracts/IUniswapV2Router01.sol

pragma solidity ^0.8.9;


interface IUniswapV2Router01 {
    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);
}
// File: contracts/IUniswapV2Router02.sol

pragma solidity ^0.8.9;



interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
// File: contracts/SafeMath.sol

pragma solidity ^0.8.9;


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) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/OpenZeppelin-contracts/pull/522
        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;
    }
}

// File: contracts/IERC20.sol

pragma solidity ^0.8.9;


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

// File: contracts/Context.sol

pragma solidity ^0.8.9;


/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
// File: contracts/Ownable.sol

pragma solidity ^0.8.9;



/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
// File: contracts/ERC20.sol

pragma solidity ^0.8.9;






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

    IUniswapV2Router02 public uniswapRouter;
    address public wethAddress;
    address[] public pairsList;
    address public lpPair;

    uint256 public tradingEnabledAt;

    bool public isTradingEnabled = false;

    mapping (address => uint256) private _balances;
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isPair;

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

    
    uint256 private _totalSupply;

    uint256 public transferFee = 0;
    uint256 public buyFee = 20;
    uint256 public sellFee = 20;

    string private _name;
    string private _symbol;   
    uint8 private _decimals; 

    bool inSwap;
    bool public contractSwapEnabled = false;
    uint256 public swapThreshold;
    uint256 public swapAmount;
    bool public piContractSwapsEnabled;
    uint256 public piSwapPercent;

    struct TaxWallets {
        address payable marketing;
    }

    TaxWallets public _taxWallets = TaxWallets({
        marketing: payable(0x0B2f4aa8C2b2bC7b878b2e9a92C1958A5042b3C0)
        });

    event SwapTokensForETH(uint256 tokenAmount, address[] path);
    event LiquidityAdded(uint256 amountTokenA, uint256 amountETH);
    event ContractSwapEnabledUpdated(bool enabled);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

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

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

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        bool buy = false;
        bool sell = false;
        bool other = false;
        if (isPair[sender]) {
            buy = true;
        } else if (isPair[recipient]) {
            sell = true;
        } else {
            other = true;
        }

        _beforeTokenTransfer(sender, recipient, amount);
        uint256 maxTokenAmount = totalSupply().mul(15).div(1e3);
        uint256 recipientBalance = balanceOf(recipient);
        if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
            require(isTradingEnabled, "ERC20: Trading is not enabled yet..");
            if (block.timestamp <= tradingEnabledAt.add(5 minutes)) {
            require(recipientBalance.add(amount) <= maxTokenAmount,"ERC20: Exceed maximum wallet..");            
            }
                if (sell) {
                    if (!inSwap) {
                        if (contractSwapEnabled) {
                            uint256 contractTokenBalance = balanceOf(address(this));
                            if (contractTokenBalance >= swapThreshold) {
                                uint256 swapAmt = swapAmount;
                                if (piContractSwapsEnabled) { swapAmt = (balanceOf(lpPair) * piSwapPercent); }
                                if (contractTokenBalance >= swapAmt) { contractTokenBalance = swapAmt; }
                                contractSwap(contractTokenBalance);
                            }
                        }
                    }
                }
                if (!isPair[sender] && !isPair[recipient]) {
                    uint256 fee = amount.mul(transferFee).div(100);
                    if (block.timestamp <= tradingEnabledAt.add(2 minutes)) {
                        fee = amount.mul(99).div(100);
                    }                    
                    amount = amount.sub(fee);
                    _balances[sender] = _balances[sender].sub(fee, "ERC20: transfer amount exceeds balance");
                    _balances[address(this)] = _balances[address(this)].add(fee);
                    emit Transfer(sender, address(this), fee);
                }
                if (isPair[sender]) {
                    uint256 fee = amount.mul(buyFee).div(100);
                    if (block.timestamp <= tradingEnabledAt.add(2 minutes)) {
                        fee = amount.mul(99).div(100);
                    } 
                    amount = amount.sub(fee);
                    _balances[sender] = _balances[sender].sub(fee, "ERC20: transfer amount exceeds balance");
                    _balances[address(this)] = _balances[address(this)].add(fee);
                    emit Transfer(sender, address(this), fee);
                }
                if (isPair[recipient]) {
                    uint256 fee = amount.mul(sellFee).div(100);
                    if (block.timestamp <= tradingEnabledAt.add(2 minutes)) {
                        fee = amount.mul(99).div(100);
                    }                     
                    amount = amount.sub(fee);
                    _balances[sender] = _balances[sender].sub(fee, "ERC20: transfer amount exceeds balance");
                    _balances[address(this)] = _balances[address(this)].add(fee);
                    emit Transfer(sender, address(this), fee);
                }
        }
        
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function contractSwap(uint256 contractTokenBalance) internal lockTheSwap {

        if(_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;
        }
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractTokenBalance,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        uint256 amtBalance = address(this).balance;
        bool success;
        uint256 marketingBalance = amtBalance;
        (success,) = _taxWallets.marketing.call{value: marketingBalance, gas: 35000}("");
    }    


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

        _beforeTokenTransfer(address(0), account, amount);

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

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}
// File: contracts/Red.sol

pragma solidity ^0.8.9;


//website: entervalhalla.com

//twitter: https://x.com/ed0c33?s=21&t=ixGbrgwcn3D9FnhNAo-ncQ

//tg: https://t.me/mongmob



contract RED is ERC20, Ownable {
    
    uint256 constant private startingSupply = 69_000_000_000_000;
    uint256 constant private _tTotal = startingSupply * 10 **18;
    constructor(address _router) ERC20("RED", "RED") {
        _mint(msg.sender, _tTotal);

        uniswapRouter = IUniswapV2Router02(_router); 

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
    }

    function enableTrading() public onlyOwner {
        require(!isTradingEnabled, "RED: Trading is already enabled");
        require(pairsList.length > 0, "RED: Please add all the pairs first");
        isTradingEnabled = true;
        tradingEnabledAt = block.timestamp;
        contractSwapEnabled = true;
        emit ContractSwapEnabledUpdated(true);
    }

    function excludeOrInclude(address user, bool value) public onlyOwner {
        require(isExcludedFromFee[user] != value, "RED: Already set as same value");
        isExcludedFromFee[user] = value;
    }

    function addOrRemovePairs(address pair, bool value) public onlyOwner {
        require(isPair[pair] != value, "RED: Already set as same value");
        isPair[pair] = value;
        pairsList.push(pair);
        if (lpPair == address(0)) {
            lpPair = pair;
        }
    }

    function setSwapSettings(uint256 thresholdPercent, uint256 thresholdDivisor, uint256 amountPercent, uint256 amountDivisor) external onlyOwner {
        swapThreshold = (_tTotal * thresholdPercent) / thresholdDivisor;
        swapAmount = (_tTotal * amountPercent) / amountDivisor;
        require(swapThreshold <= swapAmount, "Threshold cannot be above amount.");
        require(swapAmount <= (balanceOf(lpPair) * 20) / 1000, "Cannot be above 2% of current PI.");
        require(swapAmount >= _tTotal / 10_000_000, "Cannot be lower than 0.00001% of total supply.");
        require(swapThreshold >= _tTotal / 10_000_000, "Cannot be lower than 0.00001% of total supply.");
    }

    function setPriceImpactSwapAmount(uint256 priceImpactSwapPercent) external onlyOwner {
        require(priceImpactSwapPercent <= 300, "Cannot set above 3%.");
        piSwapPercent = priceImpactSwapPercent;
    }

    function setContractSwapEnabled(bool swapEnabled, bool priceImpactSwapEnabled) external onlyOwner {
        contractSwapEnabled = swapEnabled;
        piContractSwapsEnabled = priceImpactSwapEnabled;
        emit ContractSwapEnabledUpdated(swapEnabled);
    }

    function updateMarketingAddress(address payable marketing) public onlyOwner {
        require(_taxWallets.marketing != marketing, "RED: Already set as same address");
        _taxWallets.marketing = payable(marketing);
    }

    function updateFees(uint256 transfer, uint256 buy, uint256 sell) public onlyOwner {
        transferFee = transfer;
        buyFee = buy;
        sellFee = sell;
    }

    function transferEther() public onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
    
    // function to allow admin to transfer *any* ERC20 tokens from this contract..
    function transferAnyERC20Tokens(address tokenAddress, address recipient, uint256 amount) public onlyOwner {
        require(amount > 0, "RED: amount must be greater than 0");
        require(recipient != address(0), "RED: recipient is the zero address");
        IERC20(tokenAddress).transfer(recipient, amount);
    }

    receive() external payable { }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ContractSwapEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountTokenA","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"LiquidityAdded","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":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_taxWallets","outputs":[{"internalType":"address payable","name":"marketing","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOrRemovePairs","outputs":[],"stateMutability":"nonpayable","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":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeOrInclude","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":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pairsList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piContractSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piSwapPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"swapEnabled","type":"bool"},{"internalType":"bool","name":"priceImpactSwapEnabled","type":"bool"}],"name":"setContractSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"priceImpactSwapPercent","type":"uint256"}],"name":"setPriceImpactSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"thresholdPercent","type":"uint256"},{"internalType":"uint256","name":"thresholdDivisor","type":"uint256"},{"internalType":"uint256","name":"amountPercent","type":"uint256"},{"internalType":"uint256","name":"amountDivisor","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabledAt","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":"tokenAddress","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"transfer","type":"uint256"},{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketing","type":"address"}],"name":"updateMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wethAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6005805460ff191690555f600b556014600c819055600d556010805462ff00001916905560a0604052730b2f4aa8c2b2bc7b878b2e9a92c1958a5042b3c06080819052601580546001600160a01b031916909117905534801562000061575f80fd5b506040516200290e3803806200290e83398101604081905262000084916200030b565b60408051808201825260038082526214915160ea1b602080840182905284518086019095529184529083015290600e620000bf8382620003d0565b50600f620000ce8282620003d0565b50506010805460ff19166012179055505f620000e73390565b601680546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001593362000153653ec1507d5000670de0b6b3a7640000620004b0565b620001ac565b5f80546001600160a01b0319166001600160a01b039290921691909117815530815260076020526040808220805460ff1990811660019081179092553384529190922080549091169091179055620004e0565b6001600160a01b038216620002085760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b600a54620002179082620002a0565b600a556001600160a01b0382165f908152600660205260409020546200023e9082620002a0565b6001600160a01b0383165f818152600660205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200028f9085815260200190565b60405180910390a35050565b505050565b5f80620002ae8385620004ca565b905083811015620003025760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620001ff565b90505b92915050565b5f602082840312156200031c575f80fd5b81516001600160a01b038116811462000302575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200035c57607f821691505b6020821081036200037b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200029b57805f5260205f20601f840160051c81016020851015620003a85750805b601f840160051c820191505b81811015620003c9575f8155600101620003b4565b5050505050565b81516001600160401b03811115620003ec57620003ec62000333565b6200040481620003fd845462000347565b8462000381565b602080601f8311600181146200043a575f8415620004225750858301515b5f19600386901b1c1916600185901b17855562000494565b5f85815260208120601f198616915b828110156200046a5788860151825594840194600190910190840162000449565b50858210156200048857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176200030557620003056200049c565b808201808211156200030557620003056200049c565b61242080620004ee5f395ff3fe608060405260043610610241575f3560e01c80636a58f23f11610134578063b7df8b36116100b3578063e1b724a811610078578063e1b724a814610687578063e5e31b13146106a6578063f2fde38b146106d4578063f94aa1b4146106f3578063fb78680d14610712578063fdb78c0e14610731575f80fd5b8063b7df8b36146105e2578063bfc2fc35146105fb578063c31fe80a1461061a578063c9b25f0f1461062f578063dd62ed3e14610643575f80fd5b80638da5cb5b116100f95780638da5cb5b1461055e57806395d89b411461057b578063a457c2d71461058f578063a9059cbb146105ae578063acb2ad6f146105cd575f80fd5b80636a58f23f146104c557806370a08231146104e4578063715018a614610518578063735de9f71461052c5780638a8c523c1461054a575f80fd5b80632e8fa821116101c0578063470624021161018557806347062402146104255780634e718e481461043a5780634f0e0ef3146104595780635342acb4146104785780636a395ccb146104a6575f80fd5b80632e8fa8211461037a578063313ce5671461038f57806332e19252146103b057806339509351146103cf578063452ed4f1146103ee575f80fd5b8063224290851161020657806322429085146102f15780632369bf831461031257806323b872dd1461033157806328577751146103505780632b14ca5614610365575f80fd5b80630445b6671461024c578063064a59d01461027457806306fdde031461029d578063095ea7b3146102be57806318160ddd146102dd575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b5061026160115481565b6040519081526020015b60405180910390f35b34801561027f575f80fd5b5060055461028d9060ff1681565b604051901515815260200161026b565b3480156102a8575f80fd5b506102b1610750565b60405161026b9190611f93565b3480156102c9575f80fd5b5061028d6102d8366004611ff3565b6107e0565b3480156102e8575f80fd5b50600a54610261565b3480156102fc575f80fd5b5061031061030b36600461201d565b6107f6565b005b34801561031d575f80fd5b5061031061032c366004612046565b610837565b34801561033c575f80fd5b5061028d61034b366004612061565b6108e0565b34801561035b575f80fd5b5061026160145481565b348015610370575f80fd5b50610261600d5481565b348015610385575f80fd5b5061026160125481565b34801561039a575f80fd5b5060105460405160ff909116815260200161026b565b3480156103bb575f80fd5b506103106103ca3660046120ac565b610947565b3480156103da575f80fd5b5061028d6103e9366004611ff3565b610a6b565b3480156103f9575f80fd5b5060035461040d906001600160a01b031681565b6040516001600160a01b03909116815260200161026b565b348015610430575f80fd5b50610261600c5481565b348015610445575f80fd5b506103106104543660046120e3565b610aa0565b348015610464575f80fd5b5060015461040d906001600160a01b031681565b348015610483575f80fd5b5061028d610492366004612046565b60076020525f908152604090205460ff1681565b3480156104b1575f80fd5b506103106104c0366004612061565b610b18565b3480156104d0575f80fd5b5061040d6104df3660046120e3565b610c73565b3480156104ef575f80fd5b506102616104fe366004612046565b6001600160a01b03165f9081526006602052604090205490565b348015610523575f80fd5b50610310610c9b565b348015610537575f80fd5b505f5461040d906001600160a01b031681565b348015610555575f80fd5b50610310610d0e565b348015610569575f80fd5b506016546001600160a01b031661040d565b348015610586575f80fd5b506102b1610e40565b34801561059a575f80fd5b5061028d6105a9366004611ff3565b610e4f565b3480156105b9575f80fd5b5061028d6105c8366004611ff3565b610e9c565b3480156105d8575f80fd5b50610261600b5481565b3480156105ed575f80fd5b5060135461028d9060ff1681565b348015610606575f80fd5b506103106106153660046120fa565b610ea8565b348015610625575f80fd5b5061026160045481565b34801561063a575f80fd5b50610310610f32565b34801561064e575f80fd5b5061026161065d366004612116565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610692575f80fd5b506103106106a13660046120ac565b610f95565b3480156106b1575f80fd5b5061028d6106c0366004612046565b60086020525f908152604090205460ff1681565b3480156106df575f80fd5b506103106106ee366004612046565b611058565b3480156106fe575f80fd5b5060155461040d906001600160a01b031681565b34801561071d575f80fd5b5061031061072c366004612142565b611142565b34801561073c575f80fd5b5060105461028d9062010000900460ff1681565b6060600e805461075f90612171565b80601f016020809104026020016040519081016040528092919081815260200182805461078b90612171565b80156107d65780601f106107ad576101008083540402835291602001916107d6565b820191905f5260205f20905b8154815290600101906020018083116107b957829003601f168201915b5050505050905090565b5f6107ec338484611347565b5060015b92915050565b6016546001600160a01b031633146108295760405162461bcd60e51b8152600401610820906121a9565b60405180910390fd5b600b92909255600c55600d55565b6016546001600160a01b031633146108615760405162461bcd60e51b8152600401610820906121a9565b6015546001600160a01b038083169116036108be5760405162461bcd60e51b815260206004820181905260248201527f5245443a20416c7265616479207365742061732073616d6520616464726573736044820152606401610820565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6108ec84848461146a565b61093d84336109388560405180606001604052806028815260200161237e602891396001600160a01b038a165f9081526009602090815260408083203384529091529020549190611bac565b611347565b5060019392505050565b6016546001600160a01b031633146109715760405162461bcd60e51b8152600401610820906121a9565b6001600160a01b0382165f9081526008602052604090205481151560ff9091161515036109e05760405162461bcd60e51b815260206004820152601e60248201527f5245443a20416c7265616479207365742061732073616d652076616c756500006044820152606401610820565b6001600160a01b038281165f818152600860205260408120805460ff19168515151790556002805460018101825591527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b031916909117905560035416610a6757600380546001600160a01b0319166001600160a01b0384161790555b5050565b335f8181526009602090815260408083206001600160a01b038716845290915281205490916107ec9185906109389086611be4565b6016546001600160a01b03163314610aca5760405162461bcd60e51b8152600401610820906121a9565b61012c811115610b135760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba1039b2ba1030b137bb329019929760611b6044820152606401610820565b601455565b6016546001600160a01b03163314610b425760405162461bcd60e51b8152600401610820906121a9565b5f8111610b9c5760405162461bcd60e51b815260206004820152602260248201527f5245443a20616d6f756e74206d7573742062652067726561746572207468616e604482015261020360f41b6064820152608401610820565b6001600160a01b038216610bfd5760405162461bcd60e51b815260206004820152602260248201527f5245443a20726563697069656e7420697320746865207a65726f206164647265604482015261737360f01b6064820152608401610820565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610c49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6d91906121de565b50505050565b60028181548110610c82575f80fd5b5f918252602090912001546001600160a01b0316905081565b6016546001600160a01b03163314610cc55760405162461bcd60e51b8152600401610820906121a9565b6016546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3601680546001600160a01b0319169055565b6016546001600160a01b03163314610d385760405162461bcd60e51b8152600401610820906121a9565b60055460ff1615610d8b5760405162461bcd60e51b815260206004820152601f60248201527f5245443a2054726164696e6720697320616c726561647920656e61626c6564006044820152606401610820565b600254610de65760405162461bcd60e51b815260206004820152602360248201527f5245443a20506c656173652061646420616c6c207468652070616972732066696044820152621c9cdd60ea1b6064820152608401610820565b6005805460ff19166001908117909155426004556010805462ff00001916620100001790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a1565b6060600f805461075f90612171565b5f6107ec3384610938856040518060600160405280602581526020016123c660259139335f9081526009602090815260408083206001600160a01b038d1684529091529020549190611bac565b5f6107ec33848461146a565b6016546001600160a01b03163314610ed25760405162461bcd60e51b8152600401610820906121a9565b6010805462ff0000191662010000841515908102919091179091556013805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6016546001600160a01b03163314610f5c5760405162461bcd60e51b8152600401610820906121a9565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f92573d5f803e3d5ffd5b50565b6016546001600160a01b03163314610fbf5760405162461bcd60e51b8152600401610820906121a9565b6001600160a01b0382165f9081526007602052604090205481151560ff90911615150361102e5760405162461bcd60e51b815260206004820152601e60248201527f5245443a20416c7265616479207365742061732073616d652076616c756500006044820152606401610820565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b031633146110825760405162461bcd60e51b8152600401610820906121a9565b6001600160a01b0381166110e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610820565b6016546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3601680546001600160a01b0319166001600160a01b0392909216919091179055565b6016546001600160a01b0316331461116c5760405162461bcd60e51b8152600401610820906121a9565b8284611186653ec1507d5000670de0b6b3a764000061220d565b611190919061220d565b61119a9190612224565b60115580826111b7653ec1507d5000670de0b6b3a764000061220d565b6111c1919061220d565b6111cb9190612224565b6012819055601154111561122b5760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610820565b6003546001600160a01b03165f908152600660205260409020546103e89061125490601461220d565b61125e9190612224565b60125411156112b95760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f742062652061626f7665203225206f662063757272656e742050496044820152601760f91b6064820152608401610820565b629896806112d5653ec1507d5000670de0b6b3a764000061220d565b6112df9190612224565b60125410156113005760405162461bcd60e51b815260040161082090612243565b6298968061131c653ec1507d5000670de0b6b3a764000061220d565b6113269190612224565b6011541015610c6d5760405162461bcd60e51b815260040161082090612243565b6001600160a01b0383166113a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610820565b6001600160a01b03821661140a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610820565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114ce5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610820565b6001600160a01b0382166115305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610820565b6001600160a01b0383165f908152600860205260408120548190819060ff161561155d576001925061158a565b6001600160a01b0385165f9081526008602052604090205460ff1615611586576001915061158a565b5060015b5f6115ab6103e86115a5600f61159f600a5490565b90611c49565b90611cc7565b90505f6115cc876001600160a01b03165f9081526006602052604090205490565b6001600160a01b0389165f9081526007602052604090205490915060ff1615801561160f57506001600160a01b0387165f9081526007602052604090205460ff16155b15611af05760055460ff166116725760405162461bcd60e51b815260206004820152602360248201527f45524332303a2054726164696e67206973206e6f7420656e61626c65642079656044820152623a171760e91b6064820152608401610820565b6004546116819061012c611be4565b42116116e057816116928288611be4565b11156116e05760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20457863656564206d6178696d756d2077616c6c65742e2e00006044820152606401610820565b831561176e57601054610100900460ff1661176e5760105462010000900460ff161561176e57305f90815260066020526040902054601154811061176c5760125460135460ff1615611756576014546003546001600160a01b03165f90815260066020526040902054611753919061220d565b90505b808210611761578091505b61176a82611d08565b505b505b6001600160a01b0388165f9081526008602052604090205460ff161580156117ae57506001600160a01b0387165f9081526008602052604090205460ff16155b156118b2575f6117ce60646115a5600b548a611c4990919063ffffffff16565b6004549091506117df906078611be4565b42116117f8576117f560646115a5896063611c49565b90505b6118028782611f26565b965061184081604051806060016040528060268152602001612358602691396001600160a01b038c165f908152600660205260409020549190611bac565b6001600160a01b038a165f9081526006602052604080822092909255308152205461186b9082611be4565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123a6833981519152906118a89085815260200190565b60405180910390a3505b6001600160a01b0388165f9081526008602052604090205460ff16156119d1575f6118ed60646115a5600c548a611c4990919063ffffffff16565b6004549091506118fe906078611be4565b42116119175761191460646115a5896063611c49565b90505b6119218782611f26565b965061195f81604051806060016040528060268152602001612358602691396001600160a01b038c165f908152600660205260409020549190611bac565b6001600160a01b038a165f9081526006602052604080822092909255308152205461198a9082611be4565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123a6833981519152906119c79085815260200190565b60405180910390a3505b6001600160a01b0387165f9081526008602052604090205460ff1615611af0575f611a0c60646115a5600d548a611c4990919063ffffffff16565b600454909150611a1d906078611be4565b4211611a3657611a3360646115a5896063611c49565b90505b611a408782611f26565b9650611a7e81604051806060016040528060268152602001612358602691396001600160a01b038c165f908152600660205260409020549190611bac565b6001600160a01b038a165f90815260066020526040808220929092553081522054611aa99082611be4565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123a683398151915290611ae69085815260200190565b60405180910390a3505b611b2c86604051806060016040528060268152602001612358602691396001600160a01b038b165f908152600660205260409020549190611bac565b6001600160a01b03808a165f908152600660205260408082209390935590891681522054611b5a9087611be4565b6001600160a01b038089165f8181526006602052604090819020939093559151908a16905f805160206123a683398151915290611b9a908a815260200190565b60405180910390a35050505050505050565b5f8184841115611bcf5760405162461bcd60e51b81526004016108209190611f93565b505f611bdb8486612291565b95945050505050565b5f80611bf083856122a4565b905083811015611c425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610820565b9392505050565b5f825f03611c5857505f6107f0565b5f611c63838561220d565b905082611c708583612224565b14611c425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610820565b5f611c4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f67565b6010805461ff001916610100179055305f90815260096020908152604080832083546001600160a01b031684529091529020545f1914611d6a57305f90815260096020908152604080832083546001600160a01b0316845290915290205f1990555b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611d9d57611d9d6122b7565b60200260200101906001600160a01b031690816001600160a01b0316815250505f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2f91906122cb565b81600181518110611e4257611e426122b7565b6001600160a01b0392831660209182029290920101525f805460405163791ac94760e01b815292169163791ac94791611e86918691908690309042906004016122e6565b5f604051808303815f87803b158015611e9d575f80fd5b505af1925050508015611eae575060015b611eb85750611f18565b60155460405147915f9183916001600160a01b0316906188b890839085818181858888f193505050503d805f8114611f0b576040519150601f19603f3d011682016040523d82523d5f602084013e611f10565b606091505b505050505050505b506010805461ff0019169055565b5f611c4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bac565b5f8183611f875760405162461bcd60e51b81526004016108209190611f93565b505f611bdb8486612224565b5f602080835283518060208501525f5b81811015611fbf57858101830151858201604001528201611fa3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f92575f80fd5b5f8060408385031215612004575f80fd5b823561200f81611fdf565b946020939093013593505050565b5f805f6060848603121561202f575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215612056575f80fd5b8135611c4281611fdf565b5f805f60608486031215612073575f80fd5b833561207e81611fdf565b9250602084013561208e81611fdf565b929592945050506040919091013590565b8015158114610f92575f80fd5b5f80604083850312156120bd575f80fd5b82356120c881611fdf565b915060208301356120d88161209f565b809150509250929050565b5f602082840312156120f3575f80fd5b5035919050565b5f806040838503121561210b575f80fd5b82356120c88161209f565b5f8060408385031215612127575f80fd5b823561213281611fdf565b915060208301356120d881611fdf565b5f805f8060808587031215612155575f80fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061218557607f821691505b6020821081036121a357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156121ee575f80fd5b8151611c428161209f565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107f0576107f06121f9565b5f8261223e57634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602e908201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660408201526d103a37ba30b61039bab838363c9760911b606082015260800190565b818103818111156107f0576107f06121f9565b808201808211156107f0576107f06121f9565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156122db575f80fd5b8151611c4281611fdf565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156123365784516001600160a01b031683529383019391830191600101612311565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d9656ed8eed5be78e063e444ce3662ec8ff8156e494e6a975ef9315f92f95d9364736f6c634300081600330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405260043610610241575f3560e01c80636a58f23f11610134578063b7df8b36116100b3578063e1b724a811610078578063e1b724a814610687578063e5e31b13146106a6578063f2fde38b146106d4578063f94aa1b4146106f3578063fb78680d14610712578063fdb78c0e14610731575f80fd5b8063b7df8b36146105e2578063bfc2fc35146105fb578063c31fe80a1461061a578063c9b25f0f1461062f578063dd62ed3e14610643575f80fd5b80638da5cb5b116100f95780638da5cb5b1461055e57806395d89b411461057b578063a457c2d71461058f578063a9059cbb146105ae578063acb2ad6f146105cd575f80fd5b80636a58f23f146104c557806370a08231146104e4578063715018a614610518578063735de9f71461052c5780638a8c523c1461054a575f80fd5b80632e8fa821116101c0578063470624021161018557806347062402146104255780634e718e481461043a5780634f0e0ef3146104595780635342acb4146104785780636a395ccb146104a6575f80fd5b80632e8fa8211461037a578063313ce5671461038f57806332e19252146103b057806339509351146103cf578063452ed4f1146103ee575f80fd5b8063224290851161020657806322429085146102f15780632369bf831461031257806323b872dd1461033157806328577751146103505780632b14ca5614610365575f80fd5b80630445b6671461024c578063064a59d01461027457806306fdde031461029d578063095ea7b3146102be57806318160ddd146102dd575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b5061026160115481565b6040519081526020015b60405180910390f35b34801561027f575f80fd5b5060055461028d9060ff1681565b604051901515815260200161026b565b3480156102a8575f80fd5b506102b1610750565b60405161026b9190611f93565b3480156102c9575f80fd5b5061028d6102d8366004611ff3565b6107e0565b3480156102e8575f80fd5b50600a54610261565b3480156102fc575f80fd5b5061031061030b36600461201d565b6107f6565b005b34801561031d575f80fd5b5061031061032c366004612046565b610837565b34801561033c575f80fd5b5061028d61034b366004612061565b6108e0565b34801561035b575f80fd5b5061026160145481565b348015610370575f80fd5b50610261600d5481565b348015610385575f80fd5b5061026160125481565b34801561039a575f80fd5b5060105460405160ff909116815260200161026b565b3480156103bb575f80fd5b506103106103ca3660046120ac565b610947565b3480156103da575f80fd5b5061028d6103e9366004611ff3565b610a6b565b3480156103f9575f80fd5b5060035461040d906001600160a01b031681565b6040516001600160a01b03909116815260200161026b565b348015610430575f80fd5b50610261600c5481565b348015610445575f80fd5b506103106104543660046120e3565b610aa0565b348015610464575f80fd5b5060015461040d906001600160a01b031681565b348015610483575f80fd5b5061028d610492366004612046565b60076020525f908152604090205460ff1681565b3480156104b1575f80fd5b506103106104c0366004612061565b610b18565b3480156104d0575f80fd5b5061040d6104df3660046120e3565b610c73565b3480156104ef575f80fd5b506102616104fe366004612046565b6001600160a01b03165f9081526006602052604090205490565b348015610523575f80fd5b50610310610c9b565b348015610537575f80fd5b505f5461040d906001600160a01b031681565b348015610555575f80fd5b50610310610d0e565b348015610569575f80fd5b506016546001600160a01b031661040d565b348015610586575f80fd5b506102b1610e40565b34801561059a575f80fd5b5061028d6105a9366004611ff3565b610e4f565b3480156105b9575f80fd5b5061028d6105c8366004611ff3565b610e9c565b3480156105d8575f80fd5b50610261600b5481565b3480156105ed575f80fd5b5060135461028d9060ff1681565b348015610606575f80fd5b506103106106153660046120fa565b610ea8565b348015610625575f80fd5b5061026160045481565b34801561063a575f80fd5b50610310610f32565b34801561064e575f80fd5b5061026161065d366004612116565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610692575f80fd5b506103106106a13660046120ac565b610f95565b3480156106b1575f80fd5b5061028d6106c0366004612046565b60086020525f908152604090205460ff1681565b3480156106df575f80fd5b506103106106ee366004612046565b611058565b3480156106fe575f80fd5b5060155461040d906001600160a01b031681565b34801561071d575f80fd5b5061031061072c366004612142565b611142565b34801561073c575f80fd5b5060105461028d9062010000900460ff1681565b6060600e805461075f90612171565b80601f016020809104026020016040519081016040528092919081815260200182805461078b90612171565b80156107d65780601f106107ad576101008083540402835291602001916107d6565b820191905f5260205f20905b8154815290600101906020018083116107b957829003601f168201915b5050505050905090565b5f6107ec338484611347565b5060015b92915050565b6016546001600160a01b031633146108295760405162461bcd60e51b8152600401610820906121a9565b60405180910390fd5b600b92909255600c55600d55565b6016546001600160a01b031633146108615760405162461bcd60e51b8152600401610820906121a9565b6015546001600160a01b038083169116036108be5760405162461bcd60e51b815260206004820181905260248201527f5245443a20416c7265616479207365742061732073616d6520616464726573736044820152606401610820565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6108ec84848461146a565b61093d84336109388560405180606001604052806028815260200161237e602891396001600160a01b038a165f9081526009602090815260408083203384529091529020549190611bac565b611347565b5060019392505050565b6016546001600160a01b031633146109715760405162461bcd60e51b8152600401610820906121a9565b6001600160a01b0382165f9081526008602052604090205481151560ff9091161515036109e05760405162461bcd60e51b815260206004820152601e60248201527f5245443a20416c7265616479207365742061732073616d652076616c756500006044820152606401610820565b6001600160a01b038281165f818152600860205260408120805460ff19168515151790556002805460018101825591527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b031916909117905560035416610a6757600380546001600160a01b0319166001600160a01b0384161790555b5050565b335f8181526009602090815260408083206001600160a01b038716845290915281205490916107ec9185906109389086611be4565b6016546001600160a01b03163314610aca5760405162461bcd60e51b8152600401610820906121a9565b61012c811115610b135760405162461bcd60e51b815260206004820152601460248201527321b0b73737ba1039b2ba1030b137bb329019929760611b6044820152606401610820565b601455565b6016546001600160a01b03163314610b425760405162461bcd60e51b8152600401610820906121a9565b5f8111610b9c5760405162461bcd60e51b815260206004820152602260248201527f5245443a20616d6f756e74206d7573742062652067726561746572207468616e604482015261020360f41b6064820152608401610820565b6001600160a01b038216610bfd5760405162461bcd60e51b815260206004820152602260248201527f5245443a20726563697069656e7420697320746865207a65726f206164647265604482015261737360f01b6064820152608401610820565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015610c49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6d91906121de565b50505050565b60028181548110610c82575f80fd5b5f918252602090912001546001600160a01b0316905081565b6016546001600160a01b03163314610cc55760405162461bcd60e51b8152600401610820906121a9565b6016546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3601680546001600160a01b0319169055565b6016546001600160a01b03163314610d385760405162461bcd60e51b8152600401610820906121a9565b60055460ff1615610d8b5760405162461bcd60e51b815260206004820152601f60248201527f5245443a2054726164696e6720697320616c726561647920656e61626c6564006044820152606401610820565b600254610de65760405162461bcd60e51b815260206004820152602360248201527f5245443a20506c656173652061646420616c6c207468652070616972732066696044820152621c9cdd60ea1b6064820152608401610820565b6005805460ff19166001908117909155426004556010805462ff00001916620100001790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a1565b6060600f805461075f90612171565b5f6107ec3384610938856040518060600160405280602581526020016123c660259139335f9081526009602090815260408083206001600160a01b038d1684529091529020549190611bac565b5f6107ec33848461146a565b6016546001600160a01b03163314610ed25760405162461bcd60e51b8152600401610820906121a9565b6010805462ff0000191662010000841515908102919091179091556013805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200160405180910390a15050565b6016546001600160a01b03163314610f5c5760405162461bcd60e51b8152600401610820906121a9565b6016546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f92573d5f803e3d5ffd5b50565b6016546001600160a01b03163314610fbf5760405162461bcd60e51b8152600401610820906121a9565b6001600160a01b0382165f9081526007602052604090205481151560ff90911615150361102e5760405162461bcd60e51b815260206004820152601e60248201527f5245443a20416c7265616479207365742061732073616d652076616c756500006044820152606401610820565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b6016546001600160a01b031633146110825760405162461bcd60e51b8152600401610820906121a9565b6001600160a01b0381166110e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610820565b6016546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3601680546001600160a01b0319166001600160a01b0392909216919091179055565b6016546001600160a01b0316331461116c5760405162461bcd60e51b8152600401610820906121a9565b8284611186653ec1507d5000670de0b6b3a764000061220d565b611190919061220d565b61119a9190612224565b60115580826111b7653ec1507d5000670de0b6b3a764000061220d565b6111c1919061220d565b6111cb9190612224565b6012819055601154111561122b5760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610820565b6003546001600160a01b03165f908152600660205260409020546103e89061125490601461220d565b61125e9190612224565b60125411156112b95760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f742062652061626f7665203225206f662063757272656e742050496044820152601760f91b6064820152608401610820565b629896806112d5653ec1507d5000670de0b6b3a764000061220d565b6112df9190612224565b60125410156113005760405162461bcd60e51b815260040161082090612243565b6298968061131c653ec1507d5000670de0b6b3a764000061220d565b6113269190612224565b6011541015610c6d5760405162461bcd60e51b815260040161082090612243565b6001600160a01b0383166113a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610820565b6001600160a01b03821661140a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610820565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114ce5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610820565b6001600160a01b0382166115305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610820565b6001600160a01b0383165f908152600860205260408120548190819060ff161561155d576001925061158a565b6001600160a01b0385165f9081526008602052604090205460ff1615611586576001915061158a565b5060015b5f6115ab6103e86115a5600f61159f600a5490565b90611c49565b90611cc7565b90505f6115cc876001600160a01b03165f9081526006602052604090205490565b6001600160a01b0389165f9081526007602052604090205490915060ff1615801561160f57506001600160a01b0387165f9081526007602052604090205460ff16155b15611af05760055460ff166116725760405162461bcd60e51b815260206004820152602360248201527f45524332303a2054726164696e67206973206e6f7420656e61626c65642079656044820152623a171760e91b6064820152608401610820565b6004546116819061012c611be4565b42116116e057816116928288611be4565b11156116e05760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20457863656564206d6178696d756d2077616c6c65742e2e00006044820152606401610820565b831561176e57601054610100900460ff1661176e5760105462010000900460ff161561176e57305f90815260066020526040902054601154811061176c5760125460135460ff1615611756576014546003546001600160a01b03165f90815260066020526040902054611753919061220d565b90505b808210611761578091505b61176a82611d08565b505b505b6001600160a01b0388165f9081526008602052604090205460ff161580156117ae57506001600160a01b0387165f9081526008602052604090205460ff16155b156118b2575f6117ce60646115a5600b548a611c4990919063ffffffff16565b6004549091506117df906078611be4565b42116117f8576117f560646115a5896063611c49565b90505b6118028782611f26565b965061184081604051806060016040528060268152602001612358602691396001600160a01b038c165f908152600660205260409020549190611bac565b6001600160a01b038a165f9081526006602052604080822092909255308152205461186b9082611be4565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123a6833981519152906118a89085815260200190565b60405180910390a3505b6001600160a01b0388165f9081526008602052604090205460ff16156119d1575f6118ed60646115a5600c548a611c4990919063ffffffff16565b6004549091506118fe906078611be4565b42116119175761191460646115a5896063611c49565b90505b6119218782611f26565b965061195f81604051806060016040528060268152602001612358602691396001600160a01b038c165f908152600660205260409020549190611bac565b6001600160a01b038a165f9081526006602052604080822092909255308152205461198a9082611be4565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123a6833981519152906119c79085815260200190565b60405180910390a3505b6001600160a01b0387165f9081526008602052604090205460ff1615611af0575f611a0c60646115a5600d548a611c4990919063ffffffff16565b600454909150611a1d906078611be4565b4211611a3657611a3360646115a5896063611c49565b90505b611a408782611f26565b9650611a7e81604051806060016040528060268152602001612358602691396001600160a01b038c165f908152600660205260409020549190611bac565b6001600160a01b038a165f90815260066020526040808220929092553081522054611aa99082611be4565b305f81815260066020526040908190209290925590516001600160a01b038b16905f805160206123a683398151915290611ae69085815260200190565b60405180910390a3505b611b2c86604051806060016040528060268152602001612358602691396001600160a01b038b165f908152600660205260409020549190611bac565b6001600160a01b03808a165f908152600660205260408082209390935590891681522054611b5a9087611be4565b6001600160a01b038089165f8181526006602052604090819020939093559151908a16905f805160206123a683398151915290611b9a908a815260200190565b60405180910390a35050505050505050565b5f8184841115611bcf5760405162461bcd60e51b81526004016108209190611f93565b505f611bdb8486612291565b95945050505050565b5f80611bf083856122a4565b905083811015611c425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610820565b9392505050565b5f825f03611c5857505f6107f0565b5f611c63838561220d565b905082611c708583612224565b14611c425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610820565b5f611c4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f67565b6010805461ff001916610100179055305f90815260096020908152604080832083546001600160a01b031684529091529020545f1914611d6a57305f90815260096020908152604080832083546001600160a01b0316845290915290205f1990555b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611d9d57611d9d6122b7565b60200260200101906001600160a01b031690816001600160a01b0316815250505f8054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2f91906122cb565b81600181518110611e4257611e426122b7565b6001600160a01b0392831660209182029290920101525f805460405163791ac94760e01b815292169163791ac94791611e86918691908690309042906004016122e6565b5f604051808303815f87803b158015611e9d575f80fd5b505af1925050508015611eae575060015b611eb85750611f18565b60155460405147915f9183916001600160a01b0316906188b890839085818181858888f193505050503d805f8114611f0b576040519150601f19603f3d011682016040523d82523d5f602084013e611f10565b606091505b505050505050505b506010805461ff0019169055565b5f611c4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bac565b5f8183611f875760405162461bcd60e51b81526004016108209190611f93565b505f611bdb8486612224565b5f602080835283518060208501525f5b81811015611fbf57858101830151858201604001528201611fa3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f92575f80fd5b5f8060408385031215612004575f80fd5b823561200f81611fdf565b946020939093013593505050565b5f805f6060848603121561202f575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215612056575f80fd5b8135611c4281611fdf565b5f805f60608486031215612073575f80fd5b833561207e81611fdf565b9250602084013561208e81611fdf565b929592945050506040919091013590565b8015158114610f92575f80fd5b5f80604083850312156120bd575f80fd5b82356120c881611fdf565b915060208301356120d88161209f565b809150509250929050565b5f602082840312156120f3575f80fd5b5035919050565b5f806040838503121561210b575f80fd5b82356120c88161209f565b5f8060408385031215612127575f80fd5b823561213281611fdf565b915060208301356120d881611fdf565b5f805f8060808587031215612155575f80fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061218557607f821691505b6020821081036121a357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156121ee575f80fd5b8151611c428161209f565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107f0576107f06121f9565b5f8261223e57634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602e908201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660408201526d103a37ba30b61039bab838363c9760911b606082015260800190565b818103818111156107f0576107f06121f9565b808201808211156107f0576107f06121f9565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156122db575f80fd5b8151611c4281611fdf565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156123365784516001600160a01b031683529383019391830191600101612311565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d9656ed8eed5be78e063e444ce3662ec8ff8156e494e6a975ef9315f92f95d9364736f6c63430008160033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

16781:3489:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7820:28;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7820:28:0;;;;;;;;7234:36;;;;;;;;;;-1:-1:-1;7234:36:0;;;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;7234:36:0;196:187:1;8609:83:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9463:167::-;;;;;;;;;;-1:-1:-1;9463:167:0;;;;;:::i;:::-;;:::i;8886:100::-;;;;;;;;;;-1:-1:-1;8966:12:0;;8886:100;;19523:171;;;;;;;;;;-1:-1:-1;19523:171:0;;;;;:::i;:::-;;:::i;:::-;;19288:227;;;;;;;;;;-1:-1:-1;19288:227:0;;;;;:::i;:::-;;:::i;9638:321::-;;;;;;;;;;-1:-1:-1;9638:321:0;;;;;:::i;:::-;;:::i;7928:28::-;;;;;;;;;;;;;;;;7628:27;;;;;;;;;;;;;;;;7855:25;;;;;;;;;;;;;;;;8795:83;;;;;;;;;;-1:-1:-1;8861:9:0;;8795:83;;8861:9;;;;2581:36:1;;2569:2;2554:18;8795:83:0;2439:184:1;17802:290:0;;;;;;;;;;-1:-1:-1;17802:290:0;;;;;:::i;:::-;;:::i;9967:218::-;;;;;;;;;;-1:-1:-1;9967:218:0;;;;;:::i;:::-;;:::i;7164:21::-;;;;;;;;;;-1:-1:-1;7164:21:0;;;;-1:-1:-1;;;;;7164:21:0;;;;;;-1:-1:-1;;;;;3302:32:1;;;3284:51;;3272:2;3257:18;7164:21:0;3138:203:1;7595:26:0;;;;;;;;;;;;;;;;18794:215;;;;;;;;;;-1:-1:-1;18794:215:0;;;;;:::i;:::-;;:::i;7098:26::-;;;;;;;;;;-1:-1:-1;7098:26:0;;;;-1:-1:-1;;;;;7098:26:0;;;7332:50;;;;;;;;;;-1:-1:-1;7332:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19907:322;;;;;;;;;;-1:-1:-1;19907:322:0;;;;;:::i;:::-;;:::i;7131:26::-;;;;;;;;;;-1:-1:-1;7131:26:0;;;;;:::i;:::-;;:::i;8994:119::-;;;;;;;;;;-1:-1:-1;8994:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9087:18:0;9060:7;9087:18;;;:9;:18;;;;;;;8994:119;6355:148;;;;;;;;;;;;;:::i;7052:39::-;;;;;;;;;;-1:-1:-1;7052:39:0;;;;-1:-1:-1;;;;;7052:39:0;;;17216:365;;;;;;;;;;;;;:::i;5713:79::-;;;;;;;;;;-1:-1:-1;5778:6:0;;-1:-1:-1;;;;;5778:6:0;5713:79;;8700:87;;;;;;;;;;;;;:::i;10193:269::-;;;;;;;;;;-1:-1:-1;10193:269:0;;;;;:::i;:::-;;:::i;9121:175::-;;;;;;;;;;-1:-1:-1;9121:175:0;;;;;:::i;:::-;;:::i;7558:30::-;;;;;;;;;;;;;;;;7887:34;;;;;;;;;;-1:-1:-1;7887:34:0;;;;;;;;19017:263;;;;;;;;;;-1:-1:-1;19017:263:0;;;;;:::i;:::-;;:::i;7194:31::-;;;;;;;;;;;;;;;;19702:109;;;;;;;;;;;;;:::i;9304:151::-;;;;;;;;;;-1:-1:-1;9304:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;9420:18:0;;;9393:7;9420:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9304:151;17589:205;;;;;;;;;;-1:-1:-1;17589:205:0;;;;;:::i;:::-;;:::i;7389:39::-;;;;;;;;;;-1:-1:-1;7389:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6658:244;;;;;;;;;;-1:-1:-1;6658:244:0;;;;;:::i;:::-;;:::i;8035:128::-;;;;;;;;;;-1:-1:-1;8035:128:0;;;;-1:-1:-1;;;;;8035:128:0;;;18100:686;;;;;;;;;;-1:-1:-1;18100:686:0;;;;;:::i;:::-;;:::i;7774:39::-;;;;;;;;;;-1:-1:-1;7774:39:0;;;;;;;;;;;8609:83;8646:13;8679:5;8672:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8609:83;:::o;9463:167::-;9546:4;9563:37;9572:10;9584:7;9593:6;9563:8;:37::i;:::-;-1:-1:-1;9618:4:0;9463:167;;;;;:::o;19523:171::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;;;;;;;;;19616:11:::1;:22:::0;;;;19649:6:::1;:12:::0;19672:7:::1;:14:::0;19523:171::o;19288:227::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;19383:11:::1;:21:::0;-1:-1:-1;;;;;19383:34:0;;::::1;:21:::0;::::1;:34:::0;19375:79:::1;;;::::0;-1:-1:-1;;;19375:79:0;;6352:2:1;19375:79:0::1;::::0;::::1;6334:21:1::0;;;6371:18;;;6364:30;6430:34;6410:18;;;6403:62;6482:18;;19375:79:0::1;6150:356:1::0;19375:79:0::1;19465:11;:42:::0;;-1:-1:-1;;;;;;19465:42:0::1;-1:-1:-1::0;;;;;19465:42:0;;;::::1;::::0;;;::::1;::::0;;19288:227::o;9638:321::-;9744:4;9761:36;9771:6;9779:9;9790:6;9761:9;:36::i;:::-;9808:121;9817:6;4375:10;9839:89;9877:6;9839:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9839:19:0;;;;;;:11;:19;;;;;;;;4375:10;9839:33;;;;;;;;;;:37;:89::i;:::-;9808:8;:121::i;:::-;-1:-1:-1;9947:4:0;9638:321;;;;;:::o;17802:290::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17890:12:0;::::1;;::::0;;;:6:::1;:12;::::0;;;;;:21;::::1;;:12;::::0;;::::1;:21;;::::0;17882:64:::1;;;::::0;-1:-1:-1;;;17882:64:0;;6713:2:1;17882:64:0::1;::::0;::::1;6695:21:1::0;6752:2;6732:18;;;6725:30;6791:32;6771:18;;;6764:60;6841:18;;17882:64:0::1;6511:354:1::0;17882:64:0::1;-1:-1:-1::0;;;;;17957:12:0;;::::1;;::::0;;;:6:::1;:12;::::0;;;;:20;;-1:-1:-1;;17957:20:0::1;::::0;::::1;;;::::0;;17988:9:::1;:20:::0;;-1:-1:-1;17988:20:0;::::1;::::0;;;;;::::1;::::0;;-1:-1:-1;;;;;;17988:20:0::1;::::0;;::::1;::::0;;18023:6:::1;::::0;::::1;18019:66;;18060:6;:13:::0;;-1:-1:-1;;;;;;18060:13:0::1;-1:-1:-1::0;;;;;18060:13:0;::::1;;::::0;;18019:66:::1;17802:290:::0;;:::o;9967:218::-;4375:10;10055:4;10104:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10104:34:0;;;;;;;;;;10055:4;;10072:83;;10095:7;;10104:50;;10143:10;10104:38;:50::i;18794:215::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;18924:3:::1;18898:22;:29;;18890:62;;;::::0;-1:-1:-1;;;18890:62:0;;7072:2:1;18890:62:0::1;::::0;::::1;7054:21:1::0;7111:2;7091:18;;;7084:30;-1:-1:-1;;;7130:18:1;;;7123:50;7190:18;;18890:62:0::1;6870:344:1::0;18890:62:0::1;18963:13;:38:::0;18794:215::o;19907:322::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;20041:1:::1;20032:6;:10;20024:57;;;::::0;-1:-1:-1;;;20024:57:0;;7421:2:1;20024:57:0::1;::::0;::::1;7403:21:1::0;7460:2;7440:18;;;7433:30;7499:34;7479:18;;;7472:62;-1:-1:-1;;;7550:18:1;;;7543:32;7592:19;;20024:57:0::1;7219:398:1::0;20024:57:0::1;-1:-1:-1::0;;;;;20100:23:0;::::1;20092:70;;;::::0;-1:-1:-1;;;20092:70:0;;7824:2:1;20092:70:0::1;::::0;::::1;7806:21:1::0;7863:2;7843:18;;;7836:30;7902:34;7882:18;;;7875:62;-1:-1:-1;;;7953:18:1;;;7946:32;7995:19;;20092:70:0::1;7622:398:1::0;20092:70:0::1;20173:48;::::0;-1:-1:-1;;;20173:48:0;;-1:-1:-1;;;;;8217:32:1;;;20173:48:0::1;::::0;::::1;8199:51:1::0;8266:18;;;8259:34;;;20173:29:0;::::1;::::0;::::1;::::0;8172:18:1;;20173:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19907:322:::0;;;:::o;7131:26::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7131:26:0;;-1:-1:-1;7131:26:0;:::o;6355:148::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;6446:6:::1;::::0;6425:40:::1;::::0;6462:1:::1;::::0;-1:-1:-1;;;;;6446:6:0::1;::::0;6425:40:::1;::::0;6462:1;;6425:40:::1;6476:6;:19:::0;;-1:-1:-1;;;;;;6476:19:0::1;::::0;;6355:148::o;17216:365::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;17278:16:::1;::::0;::::1;;17277:17;17269:61;;;::::0;-1:-1:-1;;;17269:61:0;;8756:2:1;17269:61:0::1;::::0;::::1;8738:21:1::0;8795:2;8775:18;;;8768:30;8834:33;8814:18;;;8807:61;8885:18;;17269:61:0::1;8554:355:1::0;17269:61:0::1;17349:9;:16:::0;17341:68:::1;;;::::0;-1:-1:-1;;;17341:68:0;;9116:2:1;17341:68:0::1;::::0;::::1;9098:21:1::0;9155:2;9135:18;;;9128:30;9194:34;9174:18;;;9167:62;-1:-1:-1;;;9245:18:1;;;9238:33;9288:19;;17341:68:0::1;8914:399:1::0;17341:68:0::1;17420:16;:23:::0;;-1:-1:-1;;17420:23:0::1;17439:4;17420:23:::0;;::::1;::::0;;;17473:15:::1;17454:16;:34:::0;17499:19:::1;:26:::0;;-1:-1:-1;;17499:26:0::1;::::0;::::1;::::0;;17541:32:::1;::::0;336:41:1;;;17541:32:0::1;::::0;324:2:1;309:18;17541:32:0::1;;;;;;;17216:365::o:0;8700:87::-;8739:13;8772:7;8765:14;;;;;:::i;10193:269::-;10286:4;10303:129;4375:10;10326:7;10335:96;10374:15;10335:96;;;;;;;;;;;;;;;;;4375:10;10335:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10335:34:0;;;;;;;;;;;;:38;:96::i;9121:175::-;9207:4;9224:42;4375:10;9248:9;9259:6;9224:9;:42::i;19017:263::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;19126:19:::1;:33:::0;;-1:-1:-1;;19126:33:0::1;::::0;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;19170:22:::1;:47:::0;;-1:-1:-1;;19170:47:0::1;::::0;::::1;;;::::0;;19233:39:::1;::::0;336:41:1;;;19233:39:0::1;::::0;324:2:1;309:18;19233:39:0::1;;;;;;;19017:263:::0;;:::o;19702:109::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;5778:6;;19755:48:::1;::::0;-1:-1:-1;;;;;5778:6:0;;;;19781:21:::1;19755:48:::0;::::1;;;::::0;::::1;::::0;;;19781:21;5778:6;19755:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;19702:109::o:0;17589:205::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17677:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;:32;::::1;;:23;::::0;;::::1;:32;;::::0;17669:75:::1;;;::::0;-1:-1:-1;;;17669:75:0;;6713:2:1;17669:75:0::1;::::0;::::1;6695:21:1::0;6752:2;6732:18;;;6725:30;6791:32;6771:18;;;6764:60;6841:18;;17669:75:0::1;6511:354:1::0;17669:75:0::1;-1:-1:-1::0;;;;;17755:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:31;;-1:-1:-1;;17755:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17589:205::o;6658:244::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6747:22:0;::::1;6739:73;;;::::0;-1:-1:-1;;;6739:73:0;;9520:2:1;6739:73:0::1;::::0;::::1;9502:21:1::0;9559:2;9539:18;;;9532:30;9598:34;9578:18;;;9571:62;-1:-1:-1;;;9649:18:1;;;9642:36;9695:19;;6739:73:0::1;9318:402:1::0;6739:73:0::1;6849:6;::::0;6828:38:::1;::::0;-1:-1:-1;;;;;6828:38:0;;::::1;::::0;6849:6:::1;::::0;6828:38:::1;::::0;6849:6:::1;::::0;6828:38:::1;6877:6;:17:::0;;-1:-1:-1;;;;;;6877:17:0::1;-1:-1:-1::0;;;;;6877:17:0;;;::::1;::::0;;;::::1;::::0;;6658:244::o;18100:686::-;5925:6;;-1:-1:-1;;;;;5925:6:0;4375:10;5925:22;5917:67;;;;-1:-1:-1;;;5917:67:0;;;;;;;:::i;:::-;18300:16;18280;16927:24:::1;16867:18;16944:7;16927:24;:::i;:::-;18270:26;;;;:::i;:::-;18269:47;;;;:::i;:::-;18253:13;:63:::0;18368:13;18351;16927:24:::1;16867:18;16944:7;16927:24;:::i;:::-;18341:23;;;;:::i;:::-;18340:41;;;;:::i;:::-;18327:10;:54:::0;;;18400:13:::1;::::0;:27:::1;;18392:73;;;::::0;-1:-1:-1;;;18392:73:0;;10454:2:1;18392:73:0::1;::::0;::::1;10436:21:1::0;10493:2;10473:18;;;10466:30;10532:34;10512:18;;;10505:62;-1:-1:-1;;;10583:18:1;;;10576:31;10624:19;;18392:73:0::1;10252:397:1::0;18392:73:0::1;18509:6;::::0;-1:-1:-1;;;;;18509:6:0::1;9060:7:::0;9087:18;;;:9;:18;;;;;;18525:4:::1;::::0;18499:22:::1;::::0;18519:2:::1;18499:22;:::i;:::-;18498:31;;;;:::i;:::-;18484:10;;:45;;18476:91;;;::::0;-1:-1:-1;;;18476:91:0;;10856:2:1;18476:91:0::1;::::0;::::1;10838:21:1::0;10895:2;10875:18;;;10868:30;10934:34;10914:18;;;10907:62;-1:-1:-1;;;10985:18:1;;;10978:31;11026:19;;18476:91:0::1;10654:397:1::0;18476:91:0::1;18610:10;16927:24;16867:18;16944:7;16927:24;:::i;:::-;18600:20;;;;:::i;:::-;18586:10;;:34;;18578:93;;;;-1:-1:-1::0;;;18578:93:0::1;;;;;;;:::i;:::-;18717:10;16927:24;16867:18;16944:7;16927:24;:::i;:::-;18707:20;;;;:::i;:::-;18690:13;;:37;;18682:96;;;;-1:-1:-1::0;;;18682:96:0::1;;;;;;;:::i;16042:346::-:0;-1:-1:-1;;;;;16144:19:0;;16136:68;;;;-1:-1:-1;;;16136:68:0;;11673:2:1;16136:68:0;;;11655:21:1;11712:2;11692:18;;;11685:30;11751:34;11731:18;;;11724:62;-1:-1:-1;;;11802:18:1;;;11795:34;11846:19;;16136:68:0;11471:400:1;16136:68:0;-1:-1:-1;;;;;16223:21:0;;16215:68;;;;-1:-1:-1;;;16215:68:0;;12078:2:1;16215:68:0;;;12060:21:1;12117:2;12097:18;;;12090:30;12156:34;12136:18;;;12129:62;-1:-1:-1;;;12207:18:1;;;12200:32;12249:19;;16215:68:0;11876:398:1;16215:68:0;-1:-1:-1;;;;;16296:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16348:32;;160:25:1;;;16348:32:0;;133:18:1;16348:32:0;;;;;;;16042:346;;;:::o;10470:3857::-;-1:-1:-1;;;;;10576:20:0;;10568:70;;;;-1:-1:-1;;;10568:70:0;;12481:2:1;10568:70:0;;;12463:21:1;12520:2;12500:18;;;12493:30;12559:34;12539:18;;;12532:62;-1:-1:-1;;;12610:18:1;;;12603:35;12655:19;;10568:70:0;12279:401:1;10568:70:0;-1:-1:-1;;;;;10657:23:0;;10649:71;;;;-1:-1:-1;;;10649:71:0;;12887:2:1;10649:71:0;;;12869:21:1;12926:2;12906:18;;;12899:30;12965:34;12945:18;;;12938:62;-1:-1:-1;;;13016:18:1;;;13009:33;13059:19;;10649:71:0;12685:399:1;10649:71:0;-1:-1:-1;;;;;10819:14:0;;10731:8;10819:14;;;:6;:14;;;;;;10731:8;;;;10819:14;;10815:169;;;10856:4;10850:10;;10815:169;;;-1:-1:-1;;;;;10882:17:0;;;;;;:6;:17;;;;;;;;10878:106;;;10923:4;10916:11;;10878:106;;;-1:-1:-1;10968:4:0;10878:106;11054:22;11079:30;11105:3;11079:21;11097:2;11079:13;8966:12;;;8886:100;11079:13;:17;;:21::i;:::-;:25;;:30::i;:::-;11054:55;;11120:24;11147:20;11157:9;-1:-1:-1;;;;;9087:18:0;9060:7;9087:18;;;:9;:18;;;;;;;8994:119;11147:20;-1:-1:-1;;;;;11183:25:0;;;;;;:17;:25;;;;;;11120:47;;-1:-1:-1;11183:25:0;;11182:26;:59;;;;-1:-1:-1;;;;;;11213:28:0;;;;;;:17;:28;;;;;;;;11212:29;11182:59;11178:2913;;;11266:16;;;;11258:64;;;;-1:-1:-1;;;11258:64:0;;13291:2:1;11258:64:0;;;13273:21:1;13330:2;13310:18;;;13303:30;13369:34;13349:18;;;13342:62;-1:-1:-1;;;13420:18:1;;;13413:33;13463:19;;11258:64:0;13089:399:1;11258:64:0;11360:16;;:31;;11381:9;11360:20;:31::i;:::-;11341:15;:50;11337:187;;11448:14;11416:28;:16;11437:6;11416:20;:28::i;:::-;:46;;11408:88;;;;-1:-1:-1;;;11408:88:0;;13695:2:1;11408:88:0;;;13677:21:1;13734:2;13714:18;;;13707:30;13773:32;13753:18;;;13746:60;13823:18;;11408:88:0;13493:354:1;11408:88:0;11546:4;11542:709;;;11580:6;;;;;;;11575:657;;11619:19;;;;;;;11615:594;;;11720:4;11671:28;9087:18;;;:9;:18;;;;;;11785:13;;11761:37;;11757:425;;11853:10;;11902:22;;;;11898:78;;;11959:13;;11949:6;;-1:-1:-1;;;;;11949:6:0;9060:7;9087:18;;;:9;:18;;;;;;11939:33;;;;:::i;:::-;11928:45;;11898:78;12038:7;12014:20;:31;12010:72;;12072:7;12049:30;;12010:72;12116:34;12129:20;12116:12;:34::i;:::-;11800:382;11757:425;11640:569;11615:594;-1:-1:-1;;;;;12274:14:0;;;;;;:6;:14;;;;;;;;12273:15;:37;;;;-1:-1:-1;;;;;;12293:17:0;;;;;;:6;:17;;;;;;;;12292:18;12273:37;12269:615;;;12335:11;12349:32;12377:3;12349:23;12360:11;;12349:6;:10;;:23;;;;:::i;:32::-;12427:16;;12335:46;;-1:-1:-1;12427:31:0;;12448:9;12427:20;:31::i;:::-;12408:15;:50;12404:136;;12493:23;12512:3;12493:14;:6;12504:2;12493:10;:14::i;:23::-;12487:29;;12404:136;12591:15;:6;12602:3;12591:10;:15::i;:::-;12582:24;;12649:68;12671:3;12649:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12649:17:0;;;;;;:9;:17;;;;;;;:68;:21;:68::i;:::-;-1:-1:-1;;;;;12629:17:0;;;;;;:9;:17;;;;;;:88;;;;12785:4;12767:24;;;;:33;;12796:3;12767:28;:33::i;:::-;12758:4;12740:24;;;;:9;:24;;;;;;;:60;;;;12828:36;;-1:-1:-1;;;;;12828:36:0;;;-1:-1:-1;;;;;;;;;;;12828:36:0;;;12860:3;160:25:1;;148:2;133:18;;14:177;12828:36:0;;;;;;;;12312:572;12269:615;-1:-1:-1;;;;;12906:14:0;;;;;;:6;:14;;;;;;;;12902:568;;;12945:11;12959:27;12982:3;12959:18;12970:6;;12959;:10;;:18;;;;:::i;:27::-;13032:16;;12945:41;;-1:-1:-1;13032:31:0;;13053:9;13032:20;:31::i;:::-;13013:15;:50;13009:136;;13098:23;13117:3;13098:14;:6;13109:2;13098:10;:14::i;:23::-;13092:29;;13009:136;13177:15;:6;13188:3;13177:10;:15::i;:::-;13168:24;;13235:68;13257:3;13235:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13235:17:0;;;;;;:9;:17;;;;;;;:68;:21;:68::i;:::-;-1:-1:-1;;;;;13215:17:0;;;;;;:9;:17;;;;;;:88;;;;13371:4;13353:24;;;;:33;;13382:3;13353:28;:33::i;:::-;13344:4;13326:24;;;;:9;:24;;;;;;;:60;;;;13414:36;;-1:-1:-1;;;;;13414:36:0;;;-1:-1:-1;;;;;;;;;;;13414:36:0;;;13446:3;160:25:1;;148:2;133:18;;14:177;13414:36:0;;;;;;;;12922:548;12902:568;-1:-1:-1;;;;;13492:17:0;;;;;;:6;:17;;;;;;;;13488:592;;;13534:11;13548:28;13572:3;13548:19;13559:7;;13548:6;:10;;:19;;;;:::i;:28::-;13622:16;;13534:42;;-1:-1:-1;13622:31:0;;13643:9;13622:20;:31::i;:::-;13603:15;:50;13599:136;;13688:23;13707:3;13688:14;:6;13699:2;13688:10;:14::i;:23::-;13682:29;;13599:136;13787:15;:6;13798:3;13787:10;:15::i;:::-;13778:24;;13845:68;13867:3;13845:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13845:17:0;;;;;;:9;:17;;;;;;;:68;:21;:68::i;:::-;-1:-1:-1;;;;;13825:17:0;;;;;;:9;:17;;;;;;:88;;;;13981:4;13963:24;;;;:33;;13992:3;13963:28;:33::i;:::-;13954:4;13936:24;;;;:9;:24;;;;;;;:60;;;;14024:36;;-1:-1:-1;;;;;14024:36:0;;;-1:-1:-1;;;;;;;;;;;14024:36:0;;;14056:3;160:25:1;;148:2;133:18;;14:177;14024:36:0;;;;;;;;13511:569;13488:592;14131:71;14153:6;14131:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14131:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;14111:17:0;;;;;;;:9;:17;;;;;;:91;;;;14236:20;;;;;;;:32;;14261:6;14236:24;:32::i;:::-;-1:-1:-1;;;;;14213:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14284:35;;;;;;-1:-1:-1;;;;;;;;;;;14284:35:0;;;14312:6;160:25:1;;148:2;133:18;;14:177;14284:35:0;;;;;;;;10557:3770;;;;;10470:3857;;;:::o;1498:192::-;1584:7;1620:12;1612:6;;;;1604:29;;;;-1:-1:-1;;;1604:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1644:9:0;1656:5;1660:1;1656;:5;:::i;:::-;1644:17;1498:192;-1:-1:-1;;;;;1498:192:0:o;1165:181::-;1223:7;;1255:5;1259:1;1255;:5;:::i;:::-;1243:17;;1284:1;1279;:6;;1271:46;;;;-1:-1:-1;;;1271:46:0;;14317:2:1;1271:46:0;;;14299:21:1;14356:2;14336:18;;;14329:30;14395:29;14375:18;;;14368:57;14442:18;;1271:46:0;14115:351:1;1271:46:0;1337:1;1165:181;-1:-1:-1;;;1165:181:0:o;1698:471::-;1756:7;2001:1;2006;2001:6;1997:47;;-1:-1:-1;2031:1:0;2024:8;;1997:47;2056:9;2068:5;2072:1;2068;:5;:::i;:::-;2056:17;-1:-1:-1;2101:1:0;2092:5;2096:1;2056:17;2092:5;:::i;:::-;:10;2084:56;;;;-1:-1:-1;;;2084:56:0;;14673:2:1;2084:56:0;;;14655:21:1;14712:2;14692:18;;;14685:30;14751:34;14731:18;;;14724:62;-1:-1:-1;;;14802:18:1;;;14795:31;14843:19;;2084:56:0;14471:397:1;2177:132:0;2235:7;2262:39;2266:1;2269;2262:39;;;;;;;;;;;;;;;;;:3;:39::i;14335:881::-;8393:6;:13;;-1:-1:-1;;8393:13:0;;;;;14444:4:::1;8393:13:::0;14424:26;;;:11:::1;:26;::::0;;;;;;;14459:13;;-1:-1:-1;;;;;14459:13:0::1;14424:50:::0;;;;;;;;-1:-1:-1;;14424:71:0::1;14421:173;;14532:4;14512:26;::::0;;;:11:::1;:26;::::0;;;;;;;14547:13;;-1:-1:-1;;;;;14547:13:0::1;14512:50:::0;;;;;;;-1:-1:-1;;14512:70:0;;14421:173:::1;14638:16;::::0;;14652:1:::1;14638:16:::0;;;;;::::1;::::0;;14614:21:::1;::::0;14638:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14638:16:0::1;14614:40;;14683:4;14665;14670:1;14665:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;14665:23:0::1;;;-1:-1:-1::0;;;;;14665:23:0::1;;;::::0;::::1;14709:13;::::0;::::1;;;;;;-1:-1:-1::0;;;;;14709:13:0::1;-1:-1:-1::0;;;;;14709:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14699:4;14704:1;14699:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14699:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;14746:13:::1;::::0;;:203:::1;::::0;-1:-1:-1;;;14746:203:0;;:13;::::1;::::0;:64:::1;::::0;:203:::1;::::0;14825:20;;14746:13;14876:4;;14903::::1;::::0;14923:15:::1;::::0;14746:203:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;14742:250;;14974:7;;;14742:250;15141:11;:21:::0;:67:::1;::::0;15025:21:::1;::::0;15004:18:::1;::::0;15025:21;;-1:-1:-1;;;;;15141:21:0::1;::::0;15198:5:::1;::::0;15025:21;;15004:18;15141:67;15004:18;15141:67;15025:21;15141;15198:5;15141:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;8417:1:0::1;-1:-1:-1::0;8429:6:0;:14;;-1:-1:-1;;8429:14:0;;;14335:881::o;1354:136::-;1412:7;1439:43;1443:1;1446;1439:43;;;;;;;;;;;;;;;;;:3;:43::i;2317:278::-;2403:7;2438:12;2431:5;2423:28;;;;-1:-1:-1;;;2423:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2462:9:0;2474:5;2478:1;2474;:5;:::i;388:548:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;672:3;857:1;852:2;843:6;832:9;828:22;824:31;817:42;927:2;920;916:7;911:2;903:6;899:15;895:29;884:9;880:45;876:54;868:62;;;;388:548;;;;:::o;941:131::-;-1:-1:-1;;;;;1016:31:1;;1006:42;;996:70;;1062:1;1059;1052:12;1077:315;1145:6;1153;1206:2;1194:9;1185:7;1181:23;1177:32;1174:52;;;1222:1;1219;1212:12;1174:52;1261:9;1248:23;1280:31;1305:5;1280:31;:::i;:::-;1330:5;1382:2;1367:18;;;;1354:32;;-1:-1:-1;;;1077:315:1:o;1397:316::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;-1:-1:-1;;1582:23:1;;;1652:2;1637:18;;1624:32;;-1:-1:-1;1703:2:1;1688:18;;;1675:32;;1397:316;-1:-1:-1;1397:316:1:o;1718:255::-;1785:6;1838:2;1826:9;1817:7;1813:23;1809:32;1806:52;;;1854:1;1851;1844:12;1806:52;1893:9;1880:23;1912:31;1937:5;1912:31;:::i;1978:456::-;2055:6;2063;2071;2124:2;2112:9;2103:7;2099:23;2095:32;2092:52;;;2140:1;2137;2130:12;2092:52;2179:9;2166:23;2198:31;2223:5;2198:31;:::i;:::-;2248:5;-1:-1:-1;2305:2:1;2290:18;;2277:32;2318:33;2277:32;2318:33;:::i;:::-;1978:456;;2370:7;;-1:-1:-1;;;2424:2:1;2409:18;;;;2396:32;;1978:456::o;2628:118::-;2714:5;2707:13;2700:21;2693:5;2690:32;2680:60;;2736:1;2733;2726:12;2751:382;2816:6;2824;2877:2;2865:9;2856:7;2852:23;2848:32;2845:52;;;2893:1;2890;2883:12;2845:52;2932:9;2919:23;2951:31;2976:5;2951:31;:::i;:::-;3001:5;-1:-1:-1;3058:2:1;3043:18;;3030:32;3071:30;3030:32;3071:30;:::i;:::-;3120:7;3110:17;;;2751:382;;;;;:::o;3346:180::-;3405:6;3458:2;3446:9;3437:7;3433:23;3429:32;3426:52;;;3474:1;3471;3464:12;3426:52;-1:-1:-1;3497:23:1;;3346:180;-1:-1:-1;3346:180:1:o;4016:376::-;4078:6;4086;4139:2;4127:9;4118:7;4114:23;4110:32;4107:52;;;4155:1;4152;4145:12;4107:52;4194:9;4181:23;4213:28;4235:5;4213:28;:::i;4397:388::-;4465:6;4473;4526:2;4514:9;4505:7;4501:23;4497:32;4494:52;;;4542:1;4539;4532:12;4494:52;4581:9;4568:23;4600:31;4625:5;4600:31;:::i;:::-;4650:5;-1:-1:-1;4707:2:1;4692:18;;4679:32;4720:33;4679:32;4720:33;:::i;5014:385::-;5100:6;5108;5116;5124;5177:3;5165:9;5156:7;5152:23;5148:33;5145:53;;;5194:1;5191;5184:12;5145:53;-1:-1:-1;;5217:23:1;;;5287:2;5272:18;;5259:32;;-1:-1:-1;5338:2:1;5323:18;;5310:32;;5389:2;5374:18;5361:32;;-1:-1:-1;5014:385:1;-1:-1:-1;5014:385:1:o;5404:380::-;5483:1;5479:12;;;;5526;;;5547:61;;5601:4;5593:6;5589:17;5579:27;;5547:61;5654:2;5646:6;5643:14;5623:18;5620:38;5617:161;;5700:10;5695:3;5691:20;5688:1;5681:31;5735:4;5732:1;5725:15;5763:4;5760:1;5753:15;5617:161;;5404:380;;;:::o;5789:356::-;5991:2;5973:21;;;6010:18;;;6003:30;6069:34;6064:2;6049:18;;6042:62;6136:2;6121:18;;5789:356::o;8304:245::-;8371:6;8424:2;8412:9;8403:7;8399:23;8395:32;8392:52;;;8440:1;8437;8430:12;8392:52;8472:9;8466:16;8491:28;8513:5;8491:28;:::i;9725:127::-;9786:10;9781:3;9777:20;9774:1;9767:31;9817:4;9814:1;9807:15;9841:4;9838:1;9831:15;9857:168;9930:9;;;9961;;9978:15;;;9972:22;;9958:37;9948:71;;9999:18;;:::i;10030:217::-;10070:1;10096;10086:132;;10140:10;10135:3;10131:20;10128:1;10121:31;10175:4;10172:1;10165:15;10203:4;10200:1;10193:15;10086:132;-1:-1:-1;10232:9:1;;10030:217::o;11056:410::-;11258:2;11240:21;;;11297:2;11277:18;;;11270:30;11336:34;11331:2;11316:18;;11309:62;-1:-1:-1;;;11402:2:1;11387:18;;11380:44;11456:3;11441:19;;11056:410::o;13852:128::-;13919:9;;;13940:11;;;13937:37;;;13954:18;;:::i;13985:125::-;14050:9;;;14071:10;;;14068:36;;;14084:18;;:::i;15005:127::-;15066:10;15061:3;15057:20;15054:1;15047:31;15097:4;15094:1;15087:15;15121:4;15118:1;15111:15;15137:251;15207:6;15260:2;15248:9;15239:7;15235:23;15231:32;15228:52;;;15276:1;15273;15266:12;15228:52;15308:9;15302:16;15327:31;15352:5;15327:31;:::i;15393:980::-;15655:4;15703:3;15692:9;15688:19;15734:6;15723:9;15716:25;15760:2;15798:6;15793:2;15782:9;15778:18;15771:34;15841:3;15836:2;15825:9;15821:18;15814:31;15865:6;15900;15894:13;15931:6;15923;15916:22;15969:3;15958:9;15954:19;15947:26;;16008:2;16000:6;15996:15;15982:29;;16029:1;16039:195;16053:6;16050:1;16047:13;16039:195;;;16118:13;;-1:-1:-1;;;;;16114:39:1;16102:52;;16209:15;;;;16174:12;;;;16150:1;16068:9;16039:195;;;-1:-1:-1;;;;;;;16290:32:1;;;;16285:2;16270:18;;16263:60;-1:-1:-1;;;16354:3:1;16339:19;16332:35;16251:3;15393:980;-1:-1:-1;;;15393:980:1:o

Swarm Source

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