ETH Price: $3,272.56 (-2.48%)
Gas: 6.39 Gwei

Token

Earth To Moon (ETM)
 

Overview

Max Total Supply

1,000,000,000,000 ETM

Holders

229

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
yungkeanu.eth
Balance
65,320,147.572596049 ETM

Value
$0.00
0x3149d7d69698a9E6b233c9BbE7Fb3D7d60977676
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:
ETM

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 9999 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-29
*/

/**
 *Submitted for verification at Etherscan.io on 2021-05-27
*/

/*
Earth To Moon
https://t.me/earthtomoon_official
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.6.12;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        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;
        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) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        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");
        (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 private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract ETM is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    mapping (address => bool) private _isSmallFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    address[] private _excluded;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = "Earth To Moon";
    string private constant _symbol = 'ETM';
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 2;
    uint256 private _teamFee = 12;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private _FeeAddress;
    address payable private _marketingWalletAddress;
    address payable private _buybackWalletAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;

    event MaxTxAmountUpdated(uint _maxTxAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    constructor (address payable FeeAddress, address payable marketingWalletAddress, address payable buybackWalletAddress) public {
        _FeeAddress = FeeAddress;
        _marketingWalletAddress = marketingWalletAddress;
        _buybackWalletAddress = buybackWalletAddress;

        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[marketingWalletAddress] = true;
        _isExcludedFromFee[buybackWalletAddress] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

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

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }

    function reduceFee() private {
        if(_taxFee == 0 && _teamFee == 6) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 6;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner()) {
            if (cooldownEnabled) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            require(amount <= _maxTxAmount);
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;
        bool smallFee = false;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || _isSmallFee[to]){
            takeFee = false;
        }

        if(_isSmallFee[from]) {
            smallFee = true;
        }
		
        _tokenTransfer(from,to,amount,takeFee,smallFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount.div(3));
        _marketingWalletAddress.transfer(amount.div(3));
        _buybackWalletAddress.transfer(amount.div(3));
    }
    
    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
        
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 2500000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee, bool smallFee) private {
        if(!takeFee)
            removeAllFee();
        else if (smallFee)
            reduceFee();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
        if(!takeFee || !smallFee)
            restoreAllFee();
    }

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

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

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

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

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

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

    receive() external payable {}

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

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

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

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

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
        
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"},{"internalType":"address payable","name":"buybackWalletAddress","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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526818ce40f6d0219fffff19600b556002600d819055600c600e819055600f919091556010556015805462ffffff60a81b19169055683635c9adc5dea000006016553480156200005257600080fd5b506040516200272938038062002729833981810160405260608110156200007857600080fd5b508051602082015160409092015190919060006200009562000242565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601180546001600160a01b038086166001600160a01b031992831617909255601280548584169083161790556013805492841692909116919091179055600b54600260006200012d62000242565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160056000620001676200024660201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260059093528183208054851660019081179091558782168452828420805486168217905586821684528284208054861682179055908516835291208054909216179055620001e562000242565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040518082815260200191505060405180910390a350505062000255565b3390565b6000546001600160a01b031690565b6124c480620002656000396000f3fe60806040526004361061012d5760003560e01c8063715018a6116100a5578063b515566a11610074578063c9567bf911610059578063c9567bf9146104a7578063d543dbeb146104bc578063dd62ed3e146104e657610134565b8063b515566a146103e2578063c3c8cd801461049257610134565b8063715018a61461034e5780638da5cb5b1461036357806395d89b4114610394578063a9059cbb146103a957610134565b8063273123b7116100fc5780635932ead1116100e15780635932ead1146102da5780636fc3eaec1461030657806370a082311461031b57610134565b8063273123b71461027a578063313ce567146102af57610134565b806306fdde0314610139578063095ea7b3146101c357806318160ddd1461021057806323b872dd1461023757610134565b3661013457005b600080fd5b34801561014557600080fd5b5061014e610521565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610188578181015183820152602001610170565b50505050905090810190601f1680156101b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cf57600080fd5b506101fc600480360360408110156101e657600080fd5b506001600160a01b038135169060200135610558565b604080519115158252519081900360200190f35b34801561021c57600080fd5b50610225610576565b60408051918252519081900360200190f35b34801561024357600080fd5b506101fc6004803603606081101561025a57600080fd5b506001600160a01b03813581169160208101359091169060400135610583565b34801561028657600080fd5b506102ad6004803603602081101561029d57600080fd5b50356001600160a01b031661060a565b005b3480156102bb57600080fd5b506102c46106b3565b6040805160ff9092168252519081900360200190f35b3480156102e657600080fd5b506102ad600480360360208110156102fd57600080fd5b503515156106b8565b34801561031257600080fd5b506102ad61076f565b34801561032757600080fd5b506102256004803603602081101561033e57600080fd5b50356001600160a01b03166107a3565b34801561035a57600080fd5b506102ad61080d565b34801561036f57600080fd5b506103786108d9565b604080516001600160a01b039092168252519081900360200190f35b3480156103a057600080fd5b5061014e6108e8565b3480156103b557600080fd5b506101fc600480360360408110156103cc57600080fd5b506001600160a01b03813516906020013561091f565b3480156103ee57600080fd5b506102ad6004803603602081101561040557600080fd5b81019060208101813564010000000081111561042057600080fd5b82018360208201111561043257600080fd5b8035906020019184602083028401116401000000008311171561045457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610933945050505050565b34801561049e57600080fd5b506102ad610a17565b3480156104b357600080fd5b506102ad610a54565b3480156104c857600080fd5b506102ad600480360360208110156104df57600080fd5b5035610f8c565b3480156104f257600080fd5b506102256004803603604081101561050957600080fd5b506001600160a01b03813581169160200135166110a3565b60408051808201909152600d81527f456172746820546f204d6f6f6e00000000000000000000000000000000000000602082015290565b600061056c6105656110ce565b84846110d2565b5060015b92915050565b683635c9adc5dea0000090565b60006105908484846111be565b6106008461059c6110ce565b6105fb856040518060600160405280602881526020016123f5602891396001600160a01b038a166000908152600460205260408120906105da6110ce565b6001600160a01b031681526020810191909152604001600020549190611639565b6110d2565b5060019392505050565b6106126110ce565b6000546001600160a01b03908116911614610674576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0316600090815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600990565b6106c06110ce565b6000546001600160a01b03908116911614610722576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6015805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6011546001600160a01b03166107836110ce565b6001600160a01b03161461079657600080fd5b476107a0816116d0565b50565b6001600160a01b03811660009081526006602052604081205460ff16156107e357506001600160a01b038116600090815260036020526040902054610808565b6001600160a01b03821660009081526002602052604090205461080590611798565b90505b919050565b6108156110ce565b6000546001600160a01b03908116911614610877576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000546001600160a01b031690565b60408051808201909152600381527f45544d0000000000000000000000000000000000000000000000000000000000602082015290565b600061056c61092c6110ce565b84846111be565b61093b6110ce565b6000546001600160a01b0390811691161461099d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610a13576001600860008484815181106109bb57fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016109a0565b5050565b6011546001600160a01b0316610a2b6110ce565b6001600160a01b031614610a3e57600080fd5b6000610a49306107a3565b90506107a0816117f8565b610a5c6110ce565b6000546001600160a01b03908116911614610abe576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60155474010000000000000000000000000000000000000000900460ff1615610b2e576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b601480547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179182905590610b8f9030906001600160a01b0316683635c9adc5dea000006110d2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b5051604080517fad5c464800000000000000000000000000000000000000000000000000000000815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610c5b57600080fd5b505afa158015610c6f573d6000803e3d6000fd5b505050506040513d6020811015610c8557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610cef57600080fd5b505af1158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b5051601580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556014541663f305d7194730610d63816107a3565b600080610d6e6108d9565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610dd957600080fd5b505af1158015610ded573d6000803e3d6000fd5b50505050506040513d6060811015610e0457600080fd5b5050601580546722b1c8c1227a00006016557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff9092167601000000000000000000000000000000000000000000001791909116770100000000000000000000000000000000000000000000001716740100000000000000000000000000000000000000001790819055601454604080517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610f5d57600080fd5b505af1158015610f71573d6000803e3d6000fd5b505050506040513d6020811015610f8757600080fd5b505050565b610f946110ce565b6000546001600160a01b03908116911614610ff6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000811161104b576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b6110696064611063683635c9adc5dea0000084611a4b565b90611aa4565b601681905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166111175760405162461bcd60e51b815260040180806020018281038252602481526020018061246b6024913960400191505060405180910390fd5b6001600160a01b03821661115c5760405162461bcd60e51b81526004018080602001828103825260228152602001806123b26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112035760405162461bcd60e51b81526004018080602001828103825260258152602001806124466025913960400191505060405180910390fd5b6001600160a01b0382166112485760405162461bcd60e51b81526004018080602001828103825260238152602001806123656023913960400191505060405180910390fd5b600081116112875760405162461bcd60e51b815260040180806020018281038252602981526020018061241d6029913960400191505060405180910390fd5b61128f6108d9565b6001600160a01b0316836001600160a01b0316141580156112c957506112b36108d9565b6001600160a01b0316826001600160a01b031614155b156115905760155477010000000000000000000000000000000000000000000000900460ff16156113e3576001600160a01b038316301480159061131657506001600160a01b0382163014155b801561133057506014546001600160a01b03848116911614155b801561134a57506014546001600160a01b03838116911614155b156113e3576014546001600160a01b03166113636110ce565b6001600160a01b0316148061139257506015546001600160a01b03166113876110ce565b6001600160a01b0316145b6113e3576040805162461bcd60e51b815260206004820152601160248201527f4552523a20556e6973776170206f6e6c79000000000000000000000000000000604482015290519081900360640190fd5b6016548111156113f257600080fd5b6001600160a01b03831660009081526008602052604090205460ff1615801561143457506001600160a01b03821660009081526008602052604090205460ff16155b61143d57600080fd5b6015546001600160a01b03848116911614801561146857506014546001600160a01b03838116911614155b801561148d57506001600160a01b03821660009081526005602052604090205460ff16155b80156114b6575060155477010000000000000000000000000000000000000000000000900460ff165b156114fe576001600160a01b03821660009081526009602052604090205442116114df57600080fd5b6001600160a01b0382166000908152600960205260409020601e420190555b6000611509306107a3565b6015549091507501000000000000000000000000000000000000000000900460ff1615801561154657506015546001600160a01b03858116911614155b801561156e5750601554760100000000000000000000000000000000000000000000900460ff165b1561158e5761157c816117f8565b47801561158c5761158c476116d0565b505b505b6001600160a01b0383166000908152600560205260408120546001919060ff16806115d357506001600160a01b03841660009081526005602052604090205460ff165b806115f657506001600160a01b03841660009081526007602052604090205460ff165b1561160057600091505b6001600160a01b03851660009081526007602052604090205460ff1615611625575060015b6116328585858585611ae6565b5050505050565b600081848411156116c85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561168d578181015183820152602001611675565b50505050905090810190601f1680156116ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6011546001600160a01b03166108fc6116ea836003611aa4565b6040518115909202916000818181858888f19350505050158015611712573d6000803e3d6000fd5b506012546001600160a01b03166108fc61172d836003611aa4565b6040518115909202916000818181858888f19350505050158015611755573d6000803e3d6000fd5b506013546001600160a01b03166108fc611770836003611aa4565b6040518115909202916000818181858888f19350505050158015610a13573d6000803e3d6000fd5b6000600b548211156117db5760405162461bcd60e51b815260040180806020018281038252602a815260200180612388602a913960400191505060405180910390fd5b60006117e5611c20565b90506117f18382611aa4565b9392505050565b601580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790558061184257611a20565b6040805160028082526060808301845292602083019080368337019050509050308160008151811061187057fe5b6001600160a01b03928316602091820292909201810191909152601454604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b1580156118dd57600080fd5b505afa1580156118f1573d6000803e3d6000fd5b505050506040513d602081101561190757600080fd5b505181518290600190811061191857fe5b6001600160a01b03928316602091820292909201015260145461193e91309116846110d2565b6014546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156119dd5781810151838201526020016119c5565b505050509050019650505050505050600060405180830381600087803b158015611a0657600080fd5b505af1158015611a1a573d6000803e3d6000fd5b50505050505b50601580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055565b600082611a5a57506000610570565b82820282848281611a6757fe5b04146117f15760405162461bcd60e51b81526004018080602001828103825260218152602001806123d46021913960400191505060405180910390fd5b60006117f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c43565b81611af857611af3611ca8565b611b06565b8015611b0657611b06611cda565b6001600160a01b03851660009081526006602052604090205460ff168015611b4757506001600160a01b03841660009081526006602052604090205460ff16155b15611b5c57611b57858585611d0f565b611c08565b6001600160a01b03851660009081526006602052604090205460ff16158015611b9d57506001600160a01b03841660009081526006602052604090205460ff165b15611bad57611b57858585611e33565b6001600160a01b03851660009081526006602052604090205460ff168015611bed57506001600160a01b03841660009081526006602052604090205460ff165b15611bfd57611b57858585611edc565b611c08858585611f4f565b811580611c13575080155b1561163257611632611f93565b6000806000611c2d611fa1565b9092509050611c3c8282611aa4565b9250505090565b60008183611c925760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561168d578181015183820152602001611675565b506000838581611c9e57fe5b0495945050505050565b600d54158015611cb85750600e54155b15611cc257611cd8565b600d8054600f55600e8054601055600091829055555b565b600d54158015611cec5750600e546006145b15611cf657611cd8565b600d8054600f55600e8054601055600090915560069055565b600080600080600080611d2187612120565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611d53908861217d565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611d82908761217d565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611db190866121bf565b6001600160a01b038916600090815260026020526040902055611dd381612219565b611ddd84836122a1565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080611e4587612120565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611e77908761217d565b6001600160a01b03808b16600090815260026020908152604080832094909455918b16815260039091522054611ead90846121bf565b6001600160a01b038916600090815260036020908152604080832093909355600290522054611db190866121bf565b600080600080600080611eee87612120565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611f20908861217d565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611e77908761217d565b600080600080600080611f6187612120565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611d82908761217d565b600f54600d55601054600e55565b600b546000908190683635c9adc5dea00000825b600a548110156120e0578260026000600a8481548110611fd157fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061203657508160036000600a848154811061200f57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561205457600b54683635c9adc5dea000009450945050505061211c565b61209460026000600a848154811061206857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054849061217d565b92506120d660036000600a84815481106120aa57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054839061217d565b9150600101611fb5565b50600b546120f790683635c9adc5dea00000611aa4565b82101561211657600b54683635c9adc5dea0000093509350505061211c565b90925090505b9091565b600080600080600080600080600061213d8a600d54600e546122c5565b925092509250600061214d611c20565b905060008060006121608e878787612314565b919e509c509a509598509396509194505050505091939550919395565b60006117f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611639565b6000828201838110156117f1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612223611c20565b905060006122318383611a4b565b3060009081526002602052604090205490915061224e90826121bf565b3060009081526002602090815260408083209390935560069052205460ff1615610f87573060009081526003602052604090205461228c90846121bf565b30600090815260036020526040902055505050565b600b546122ae908361217d565b600b55600c546122be90826121bf565b600c555050565b60008080806122d960646110638989611a4b565b905060006122ec60646110638a89611a4b565b90506000612304826122fe8b8661217d565b9061217d565b9992985090965090945050505050565b60008080806123238886611a4b565b905060006123318887611a4b565b9050600061233f8888611a4b565b90506000612351826122fe868661217d565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220f806b38ee94a469ba784746aca13f1106027958c215e45f39f9d65b43c13194e64736f6c634300060c0033000000000000000000000000ca4ba6dd86be79d9024a803965d984176f9629a70000000000000000000000003dbfe018a5076fb3b307e620dd02cbfb4bdbb64e000000000000000000000000e8381067c09c17cbb3f0ec65b4f20e947d935162

Deployed Bytecode

0x60806040526004361061012d5760003560e01c8063715018a6116100a5578063b515566a11610074578063c9567bf911610059578063c9567bf9146104a7578063d543dbeb146104bc578063dd62ed3e146104e657610134565b8063b515566a146103e2578063c3c8cd801461049257610134565b8063715018a61461034e5780638da5cb5b1461036357806395d89b4114610394578063a9059cbb146103a957610134565b8063273123b7116100fc5780635932ead1116100e15780635932ead1146102da5780636fc3eaec1461030657806370a082311461031b57610134565b8063273123b71461027a578063313ce567146102af57610134565b806306fdde0314610139578063095ea7b3146101c357806318160ddd1461021057806323b872dd1461023757610134565b3661013457005b600080fd5b34801561014557600080fd5b5061014e610521565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610188578181015183820152602001610170565b50505050905090810190601f1680156101b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cf57600080fd5b506101fc600480360360408110156101e657600080fd5b506001600160a01b038135169060200135610558565b604080519115158252519081900360200190f35b34801561021c57600080fd5b50610225610576565b60408051918252519081900360200190f35b34801561024357600080fd5b506101fc6004803603606081101561025a57600080fd5b506001600160a01b03813581169160208101359091169060400135610583565b34801561028657600080fd5b506102ad6004803603602081101561029d57600080fd5b50356001600160a01b031661060a565b005b3480156102bb57600080fd5b506102c46106b3565b6040805160ff9092168252519081900360200190f35b3480156102e657600080fd5b506102ad600480360360208110156102fd57600080fd5b503515156106b8565b34801561031257600080fd5b506102ad61076f565b34801561032757600080fd5b506102256004803603602081101561033e57600080fd5b50356001600160a01b03166107a3565b34801561035a57600080fd5b506102ad61080d565b34801561036f57600080fd5b506103786108d9565b604080516001600160a01b039092168252519081900360200190f35b3480156103a057600080fd5b5061014e6108e8565b3480156103b557600080fd5b506101fc600480360360408110156103cc57600080fd5b506001600160a01b03813516906020013561091f565b3480156103ee57600080fd5b506102ad6004803603602081101561040557600080fd5b81019060208101813564010000000081111561042057600080fd5b82018360208201111561043257600080fd5b8035906020019184602083028401116401000000008311171561045457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610933945050505050565b34801561049e57600080fd5b506102ad610a17565b3480156104b357600080fd5b506102ad610a54565b3480156104c857600080fd5b506102ad600480360360208110156104df57600080fd5b5035610f8c565b3480156104f257600080fd5b506102256004803603604081101561050957600080fd5b506001600160a01b03813581169160200135166110a3565b60408051808201909152600d81527f456172746820546f204d6f6f6e00000000000000000000000000000000000000602082015290565b600061056c6105656110ce565b84846110d2565b5060015b92915050565b683635c9adc5dea0000090565b60006105908484846111be565b6106008461059c6110ce565b6105fb856040518060600160405280602881526020016123f5602891396001600160a01b038a166000908152600460205260408120906105da6110ce565b6001600160a01b031681526020810191909152604001600020549190611639565b6110d2565b5060019392505050565b6106126110ce565b6000546001600160a01b03908116911614610674576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0316600090815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600990565b6106c06110ce565b6000546001600160a01b03908116911614610722576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6015805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6011546001600160a01b03166107836110ce565b6001600160a01b03161461079657600080fd5b476107a0816116d0565b50565b6001600160a01b03811660009081526006602052604081205460ff16156107e357506001600160a01b038116600090815260036020526040902054610808565b6001600160a01b03821660009081526002602052604090205461080590611798565b90505b919050565b6108156110ce565b6000546001600160a01b03908116911614610877576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000546001600160a01b031690565b60408051808201909152600381527f45544d0000000000000000000000000000000000000000000000000000000000602082015290565b600061056c61092c6110ce565b84846111be565b61093b6110ce565b6000546001600160a01b0390811691161461099d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610a13576001600860008484815181106109bb57fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016109a0565b5050565b6011546001600160a01b0316610a2b6110ce565b6001600160a01b031614610a3e57600080fd5b6000610a49306107a3565b90506107a0816117f8565b610a5c6110ce565b6000546001600160a01b03908116911614610abe576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60155474010000000000000000000000000000000000000000900460ff1615610b2e576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b601480547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179182905590610b8f9030906001600160a01b0316683635c9adc5dea000006110d2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b5051604080517fad5c464800000000000000000000000000000000000000000000000000000000815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610c5b57600080fd5b505afa158015610c6f573d6000803e3d6000fd5b505050506040513d6020811015610c8557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610cef57600080fd5b505af1158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b5051601580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556014541663f305d7194730610d63816107a3565b600080610d6e6108d9565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610dd957600080fd5b505af1158015610ded573d6000803e3d6000fd5b50505050506040513d6060811015610e0457600080fd5b5050601580546722b1c8c1227a00006016557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff9092167601000000000000000000000000000000000000000000001791909116770100000000000000000000000000000000000000000000001716740100000000000000000000000000000000000000001790819055601454604080517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610f5d57600080fd5b505af1158015610f71573d6000803e3d6000fd5b505050506040513d6020811015610f8757600080fd5b505050565b610f946110ce565b6000546001600160a01b03908116911614610ff6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000811161104b576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b6110696064611063683635c9adc5dea0000084611a4b565b90611aa4565b601681905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166111175760405162461bcd60e51b815260040180806020018281038252602481526020018061246b6024913960400191505060405180910390fd5b6001600160a01b03821661115c5760405162461bcd60e51b81526004018080602001828103825260228152602001806123b26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112035760405162461bcd60e51b81526004018080602001828103825260258152602001806124466025913960400191505060405180910390fd5b6001600160a01b0382166112485760405162461bcd60e51b81526004018080602001828103825260238152602001806123656023913960400191505060405180910390fd5b600081116112875760405162461bcd60e51b815260040180806020018281038252602981526020018061241d6029913960400191505060405180910390fd5b61128f6108d9565b6001600160a01b0316836001600160a01b0316141580156112c957506112b36108d9565b6001600160a01b0316826001600160a01b031614155b156115905760155477010000000000000000000000000000000000000000000000900460ff16156113e3576001600160a01b038316301480159061131657506001600160a01b0382163014155b801561133057506014546001600160a01b03848116911614155b801561134a57506014546001600160a01b03838116911614155b156113e3576014546001600160a01b03166113636110ce565b6001600160a01b0316148061139257506015546001600160a01b03166113876110ce565b6001600160a01b0316145b6113e3576040805162461bcd60e51b815260206004820152601160248201527f4552523a20556e6973776170206f6e6c79000000000000000000000000000000604482015290519081900360640190fd5b6016548111156113f257600080fd5b6001600160a01b03831660009081526008602052604090205460ff1615801561143457506001600160a01b03821660009081526008602052604090205460ff16155b61143d57600080fd5b6015546001600160a01b03848116911614801561146857506014546001600160a01b03838116911614155b801561148d57506001600160a01b03821660009081526005602052604090205460ff16155b80156114b6575060155477010000000000000000000000000000000000000000000000900460ff165b156114fe576001600160a01b03821660009081526009602052604090205442116114df57600080fd5b6001600160a01b0382166000908152600960205260409020601e420190555b6000611509306107a3565b6015549091507501000000000000000000000000000000000000000000900460ff1615801561154657506015546001600160a01b03858116911614155b801561156e5750601554760100000000000000000000000000000000000000000000900460ff165b1561158e5761157c816117f8565b47801561158c5761158c476116d0565b505b505b6001600160a01b0383166000908152600560205260408120546001919060ff16806115d357506001600160a01b03841660009081526005602052604090205460ff165b806115f657506001600160a01b03841660009081526007602052604090205460ff165b1561160057600091505b6001600160a01b03851660009081526007602052604090205460ff1615611625575060015b6116328585858585611ae6565b5050505050565b600081848411156116c85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561168d578181015183820152602001611675565b50505050905090810190601f1680156116ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6011546001600160a01b03166108fc6116ea836003611aa4565b6040518115909202916000818181858888f19350505050158015611712573d6000803e3d6000fd5b506012546001600160a01b03166108fc61172d836003611aa4565b6040518115909202916000818181858888f19350505050158015611755573d6000803e3d6000fd5b506013546001600160a01b03166108fc611770836003611aa4565b6040518115909202916000818181858888f19350505050158015610a13573d6000803e3d6000fd5b6000600b548211156117db5760405162461bcd60e51b815260040180806020018281038252602a815260200180612388602a913960400191505060405180910390fd5b60006117e5611c20565b90506117f18382611aa4565b9392505050565b601580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790558061184257611a20565b6040805160028082526060808301845292602083019080368337019050509050308160008151811061187057fe5b6001600160a01b03928316602091820292909201810191909152601454604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b1580156118dd57600080fd5b505afa1580156118f1573d6000803e3d6000fd5b505050506040513d602081101561190757600080fd5b505181518290600190811061191857fe5b6001600160a01b03928316602091820292909201015260145461193e91309116846110d2565b6014546040517f791ac947000000000000000000000000000000000000000000000000000000008152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156119dd5781810151838201526020016119c5565b505050509050019650505050505050600060405180830381600087803b158015611a0657600080fd5b505af1158015611a1a573d6000803e3d6000fd5b50505050505b50601580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055565b600082611a5a57506000610570565b82820282848281611a6757fe5b04146117f15760405162461bcd60e51b81526004018080602001828103825260218152602001806123d46021913960400191505060405180910390fd5b60006117f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c43565b81611af857611af3611ca8565b611b06565b8015611b0657611b06611cda565b6001600160a01b03851660009081526006602052604090205460ff168015611b4757506001600160a01b03841660009081526006602052604090205460ff16155b15611b5c57611b57858585611d0f565b611c08565b6001600160a01b03851660009081526006602052604090205460ff16158015611b9d57506001600160a01b03841660009081526006602052604090205460ff165b15611bad57611b57858585611e33565b6001600160a01b03851660009081526006602052604090205460ff168015611bed57506001600160a01b03841660009081526006602052604090205460ff165b15611bfd57611b57858585611edc565b611c08858585611f4f565b811580611c13575080155b1561163257611632611f93565b6000806000611c2d611fa1565b9092509050611c3c8282611aa4565b9250505090565b60008183611c925760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561168d578181015183820152602001611675565b506000838581611c9e57fe5b0495945050505050565b600d54158015611cb85750600e54155b15611cc257611cd8565b600d8054600f55600e8054601055600091829055555b565b600d54158015611cec5750600e546006145b15611cf657611cd8565b600d8054600f55600e8054601055600090915560069055565b600080600080600080611d2187612120565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611d53908861217d565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611d82908761217d565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611db190866121bf565b6001600160a01b038916600090815260026020526040902055611dd381612219565b611ddd84836122a1565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080611e4587612120565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611e77908761217d565b6001600160a01b03808b16600090815260026020908152604080832094909455918b16815260039091522054611ead90846121bf565b6001600160a01b038916600090815260036020908152604080832093909355600290522054611db190866121bf565b600080600080600080611eee87612120565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611f20908861217d565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054611e77908761217d565b600080600080600080611f6187612120565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611d82908761217d565b600f54600d55601054600e55565b600b546000908190683635c9adc5dea00000825b600a548110156120e0578260026000600a8481548110611fd157fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061203657508160036000600a848154811061200f57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561205457600b54683635c9adc5dea000009450945050505061211c565b61209460026000600a848154811061206857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054849061217d565b92506120d660036000600a84815481106120aa57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054839061217d565b9150600101611fb5565b50600b546120f790683635c9adc5dea00000611aa4565b82101561211657600b54683635c9adc5dea0000093509350505061211c565b90925090505b9091565b600080600080600080600080600061213d8a600d54600e546122c5565b925092509250600061214d611c20565b905060008060006121608e878787612314565b919e509c509a509598509396509194505050505091939550919395565b60006117f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611639565b6000828201838110156117f1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612223611c20565b905060006122318383611a4b565b3060009081526002602052604090205490915061224e90826121bf565b3060009081526002602090815260408083209390935560069052205460ff1615610f87573060009081526003602052604090205461228c90846121bf565b30600090815260036020526040902055505050565b600b546122ae908361217d565b600b55600c546122be90826121bf565b600c555050565b60008080806122d960646110638989611a4b565b905060006122ec60646110638a89611a4b565b90506000612304826122fe8b8661217d565b9061217d565b9992985090965090945050505050565b60008080806123238886611a4b565b905060006123318887611a4b565b9050600061233f8888611a4b565b90506000612351826122fe868661217d565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220f806b38ee94a469ba784746aca13f1106027958c215e45f39f9d65b43c13194e64736f6c634300060c0033

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

000000000000000000000000ca4ba6dd86be79d9024a803965d984176f9629a70000000000000000000000003dbfe018a5076fb3b307e620dd02cbfb4bdbb64e000000000000000000000000e8381067c09c17cbb3f0ec65b4f20e947d935162

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0xCa4Ba6dd86be79d9024a803965D984176f9629a7
Arg [1] : marketingWalletAddress (address): 0x3dbfe018A5076fB3b307e620dd02CbfB4BdBb64e
Arg [2] : buybackWalletAddress (address): 0xe8381067c09C17CBB3f0eC65B4F20e947D935162

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000ca4ba6dd86be79d9024a803965d984176f9629a7
Arg [1] : 0000000000000000000000003dbfe018a5076fb3b307e620dd02cbfb4bdbb64e
Arg [2] : 000000000000000000000000e8381067c09c17cbb3f0ec65b4f20e947d935162


Deployed Bytecode Sourcemap

6413:14963:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8744:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9656:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9656:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9021:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;9825:313;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9825:313:0;;;;;;;;;;;;;;;;;:::i;15435:88::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15435:88:0;-1:-1:-1;;;;;15435:88:0;;:::i;:::-;;8930:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10146:103;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10146:103:0;;;;:::i;14226:190::-;;;;;;;;;;;;;:::i;9124:198::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9124:198:0;-1:-1:-1;;;;;9124:198:0;;:::i;5492:148::-;;;;;;;;;;;;;:::i;5278:79::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5278:79:0;;;;;;;;;;;;;;8835:87;;;;;;;;;;;;;:::i;9330:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9330:167:0;;;;;;;;:::i;15259:164::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15259:164:0;;-1:-1:-1;15259:164:0;;-1:-1:-1;;;;;15259:164:0:i;14023:191::-;;;;;;;;;;;;;:::i;14432:815::-;;;;;;;;;;;;;:::i;21118:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21118:255:0;;:::i;9505:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9505:143:0;;;;;;;;;;:::i;8744:83::-;8814:5;;;;;;;;;;;;;;;;;8744:83;:::o;9656:161::-;9731:4;9748:39;9757:12;:10;:12::i;:::-;9771:7;9780:6;9748:8;:39::i;:::-;-1:-1:-1;9805:4:0;9656:161;;;;;:::o;9021:95::-;7079:21;9021:95;:::o;9825:313::-;9923:4;9940:36;9950:6;9958:9;9969:6;9940:9;:36::i;:::-;9987:121;9996:6;10004:12;:10;:12::i;:::-;10018:89;10056:6;10018:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10018:19:0;;;;;;:11;:19;;;;;;10038:12;:10;:12::i;:::-;-1:-1:-1;;;;;10018:33:0;;;;;;;;;;;;-1:-1:-1;10018:33:0;;;:89;:37;:89::i;:::-;9987:8;:121::i;:::-;-1:-1:-1;10126:4:0;9825:313;;;;;:::o;15435:88::-;5415:12;:10;:12::i;:::-;5405:6;;-1:-1:-1;;;;;5405:6:0;;;:22;;;5397:67;;;;;-1:-1:-1;;;5397:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15495:12:0::1;15510:5;15495:12:::0;;;:4:::1;:12;::::0;;;;:20;;;::::1;::::0;;15435:88::o;8930:83::-;7331:1;8930:83;:::o;10146:103::-;5415:12;:10;:12::i;:::-;5405:6;;-1:-1:-1;;;;;5405:6:0;;;:22;;;5397:67;;;;;-1:-1:-1;;;5397:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10218:15:::1;:23:::0;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;10146:103::o;14226:190::-;14292:11;;-1:-1:-1;;;;;14292:11:0;14276:12;:10;:12::i;:::-;-1:-1:-1;;;;;14276:27:0;;14268:36;;;;;;14344:21;14376:32;14344:21;14376:12;:32::i;:::-;14226:190;:::o;9124:198::-;-1:-1:-1;;;;;9214:20:0;;9190:7;9214:20;;;:11;:20;;;;;;;;9210:49;;;-1:-1:-1;;;;;;9243:16:0;;;;;;:7;:16;;;;;;9236:23;;9210:49;-1:-1:-1;;;;;9297:16:0;;;;;;:7;:16;;;;;;9277:37;;:19;:37::i;:::-;9270:44;;9124:198;;;;:::o;5492:148::-;5415:12;:10;:12::i;:::-;5405:6;;-1:-1:-1;;;;;5405:6:0;;;:22;;;5397:67;;;;;-1:-1:-1;;;5397:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5599:1:::1;5583:6:::0;;5562:40:::1;::::0;-1:-1:-1;;;;;5583:6:0;;::::1;::::0;5562:40:::1;::::0;5599:1;;5562:40:::1;5630:1;5613:19:::0;;;::::1;::::0;;5492:148::o;5278:79::-;5316:7;5343:6;-1:-1:-1;;;;;5343:6:0;5278:79;:::o;8835:87::-;8907:7;;;;;;;;;;;;;;;;;8835:87;:::o;9330:167::-;9408:4;9425:42;9435:12;:10;:12::i;:::-;9449:9;9460:6;9425:9;:42::i;15259:164::-;5415:12;:10;:12::i;:::-;5405:6;;-1:-1:-1;;;;;5405:6:0;;;:22;;;5397:67;;;;;-1:-1:-1;;;5397:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15333:6:::1;15328:88;15349:5;:12;15345:1;:16;15328:88;;;15400:4;15383;:14;15388:5;15394:1;15388:8;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15383:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;15383:14:0;:21;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;15363:3:0::1;15328:88;;;;15259:164:::0;:::o;14023:191::-;14089:11;;-1:-1:-1;;;;;14089:11:0;14073:12;:10;:12::i;:::-;-1:-1:-1;;;;;14073:27:0;;14065:36;;;;;;14112:23;14138:24;14156:4;14138:9;:24::i;:::-;14112:50;;14173:33;14190:15;14173:16;:33::i;14432:815::-;5415:12;:10;:12::i;:::-;5405:6;;-1:-1:-1;;;;;5405:6:0;;;:22;;;5397:67;;;;;-1:-1:-1;;;5397:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14496:11:::1;::::0;;;::::1;;;14495:12;14487:47;;;::::0;;-1:-1:-1;;;14487:47:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14656:15;:34:::0;;;::::1;14602:42;14656:34:::0;;::::1;::::0;;;;14602:42;14701:58:::1;::::0;14718:4:::1;::::0;-1:-1:-1;;;;;14733:15:0::1;7079:21;14701:8;:58::i;:::-;14804:16;-1:-1:-1::0;;;;;14804:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14804:26:0;14858:23:::1;::::0;;;;;;;-1:-1:-1;;;;;14786:56:0;;::::1;::::0;::::1;::::0;14851:4:::1;::::0;14858:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;14804:26:::1;::::0;14858:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14858:23:0;14786:96:::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;;;;;14786:96:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;14858:23:::1;::::0;14786:96;;;;;;;-1:-1:-1;14786:96:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14786:96:0;14770:13:::1;:112:::0;;;::::1;-1:-1:-1::0;;;;;14770:112:0;;::::1;;::::0;;14893:15:::1;::::0;::::1;:31;14932:21;14963:4;14969:24;14963:4:::0;14969:9:::1;:24::i;:::-;14994:1;14996::::0;14998:7:::1;:5;:7::i;:::-;15006:15;14893:129;;;;;;;;;;;;;-1:-1:-1::0;;;;;14893:129:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;14893:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;15033:11:0::1;:18:::0;;15110::::1;15033:11;15095:33:::0;15139:18;15062:22;15033:18;;;::::1;::::0;::::1;15062:22:::0;;;::::1;::::0;::::1;15139:18;::::0;::::1;::::0;;;;:11:::1;15206:15:::0;14893:129;15168:71;;;;;-1:-1:-1;;;;;15206:15:0;;::::1;15168:71;::::0;::::1;::::0;-1:-1:-1;15168:71:0;;;;;;15175:13;;;::::1;::::0;15168:29:::1;::::0;:71;;;;;14893:129:::1;::::0;15168:71;;;;;;;15033:18;15175:13;15168:71;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;14432:815:0:o;21118:255::-;5415:12;:10;:12::i;:::-;5405:6;;-1:-1:-1;;;;;5405:6:0;;;:22;;;5397:67;;;;;-1:-1:-1;;;5397:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21220:1:::1;21205:12;:16;21197:58;;;::::0;;-1:-1:-1;;;21197:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;21281:36;21311:5;21281:25;7079:21;21293:12:::0;21281:11:::1;:25::i;:::-;:29:::0;::::1;:36::i;:::-;21266:12;:51:::0;;;21333:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;21118:255:::0;:::o;9505:143::-;-1:-1:-1;;;;;9613:18:0;;;9586:7;9613:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9505:143::o;232:106::-;320:10;232:106;:::o;11079:335::-;-1:-1:-1;;;;;11172:19:0;;11164:68;;;;-1:-1:-1;;;11164:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11251:21:0;;11243:68;;;;-1:-1:-1;;;11243:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11322:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11374:32;;;;;;;;;;;;;;;;;11079:335;;;:::o;11422:1793::-;-1:-1:-1;;;;;11510:18:0;;11502:68;;;;-1:-1:-1;;;11502:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11589:16:0;;11581:64;;;;-1:-1:-1;;;11581:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11673:1;11664:6;:10;11656:64;;;;-1:-1:-1;;;11656:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11753:7;:5;:7::i;:::-;-1:-1:-1;;;;;11745:15:0;:4;-1:-1:-1;;;;;11745:15:0;;;:32;;;;;11770:7;:5;:7::i;:::-;-1:-1:-1;;;;;11764:13:0;:2;-1:-1:-1;;;;;11764:13:0;;;11745:32;11741:1140;;;11798:15;;;;;;;11794:320;;;-1:-1:-1;;;;;11838:21:0;;11854:4;11838:21;;;;:44;;-1:-1:-1;;;;;;11863:19:0;;11877:4;11863:19;;11838:44;:80;;;;-1:-1:-1;11902:15:0;;-1:-1:-1;;;;;11886:32:0;;;11902:15;;11886:32;;11838:80;:114;;;;-1:-1:-1;11936:15:0;;-1:-1:-1;;;;;11922:30:0;;;11936:15;;11922:30;;11838:114;11834:265;;;12009:15;;-1:-1:-1;;;;;12009:15:0;11985:12;:10;:12::i;:::-;-1:-1:-1;;;;;11985:40:0;;:73;;;-1:-1:-1;12045:13:0;;-1:-1:-1;;;;;12045:13:0;12029:12;:10;:12::i;:::-;-1:-1:-1;;;;;12029:29:0;;11985:73;11977:102;;;;;-1:-1:-1;;;11977:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12146:12;;12136:6;:22;;12128:31;;;;;;-1:-1:-1;;;;;12183:10:0;;;;;;:4;:10;;;;;;;;12182:11;:24;;;;-1:-1:-1;;;;;;12198:8:0;;;;;;:4;:8;;;;;;;;12197:9;12182:24;12174:33;;;;;;12234:13;;-1:-1:-1;;;;;12226:21:0;;;12234:13;;12226:21;:55;;;;-1:-1:-1;12265:15:0;;-1:-1:-1;;;;;12251:30:0;;;12265:15;;12251:30;;12226:55;:83;;;;-1:-1:-1;;;;;;12287:22:0;;;;;;:18;:22;;;;;;;;12285:24;12226:83;:102;;;;-1:-1:-1;12313:15:0;;;;;;;12226:102;12222:246;;;-1:-1:-1;;;;;12357:12:0;;;;;;:8;:12;;;;;;12372:15;-1:-1:-1;12349:39:0;;;;;;-1:-1:-1;;;;;12407:12:0;;;;;;:8;:12;;;;;12441:10;12422:15;:30;12407:45;;12222:246;12482:28;12513:24;12531:4;12513:9;:24::i;:::-;12557:6;;12482:55;;-1:-1:-1;12557:6:0;;;;;12556:7;:32;;;;-1:-1:-1;12575:13:0;;-1:-1:-1;;;;;12567:21:0;;;12575:13;;12567:21;;12556:32;:47;;;;-1:-1:-1;12592:11:0;;;;;;;12556:47;12552:318;;;12624:38;12641:20;12624:16;:38::i;:::-;12710:21;12753:22;;12750:105;;12800:35;12813:21;12800:12;:35::i;:::-;12552:318;;11741:1140;;-1:-1:-1;;;;;12958:24:0;;12891:12;12958:24;;;:18;:24;;;;;;12906:4;;12891:12;12958:24;;;:50;;-1:-1:-1;;;;;;12986:22:0;;;;;;:18;:22;;;;;;;;12958:50;:69;;;-1:-1:-1;;;;;;13012:15:0;;;;;;:11;:15;;;;;;;;12958:69;12955:115;;;13053:5;13043:15;;12955:115;-1:-1:-1;;;;;13085:17:0;;;;;;:11;:17;;;;;;;;13082:64;;;-1:-1:-1;13130:4:0;13082:64;13160:47;13175:4;13180:2;13183:6;13190:7;13198:8;13160:14;:47::i;:::-;11422:1793;;;;;:::o;1499:190::-;1585:7;1621:12;1613:6;;;;1605:29;;;;-1:-1:-1;;;1605:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1657:5:0;;;1499:190::o;13797:214::-;13854:11;;-1:-1:-1;;;;;13854:11:0;:35;13875:13;:6;13886:1;13875:10;:13::i;:::-;13854:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13900:23:0;;-1:-1:-1;;;;;13900:23:0;:47;13933:13;:6;13944:1;13933:10;:13::i;:::-;13900:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13958:21:0;;-1:-1:-1;;;;;13958:21:0;:45;13989:13;:6;14000:1;13989:10;:13::i;:::-;13958:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10257:254;10324:7;10363;;10352;:18;;10344:73;;;;-1:-1:-1;;;10344:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10428:19;10451:10;:8;:10::i;:::-;10428:33;-1:-1:-1;10479:24:0;:7;10428:33;10479:11;:24::i;:::-;10472:31;10257:254;-1:-1:-1;;;10257:254:0:o;13223:558::-;8018:6;:13;;;;;;;;13305:16;13301:55:::1;;13338:7;;13301:55;13400:16;::::0;;13414:1:::1;13400:16:::0;;;13376:21:::1;13400:16:::0;;::::1;::::0;;13376:21;13400:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13400:16:0::1;13376:40;;13445:4;13427;13432:1;13427:7;;;;;;;;-1:-1:-1::0;;;;;13427:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13471:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13427:7;;13471:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13471:22:0;13461:7;;:4;;13466:1:::1;::::0;13461:7;::::1;;;;;-1:-1:-1::0;;;;;13461:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13536:15:::1;::::0;13504:62:::1;::::0;13521:4:::1;::::0;13536:15:::1;13554:11:::0;13504:8:::1;:62::i;:::-;13577:15;::::0;:196:::1;::::0;;;;::::1;::::0;::::1;::::0;;;:15:::1;:196:::0;;;;;;13727:4:::1;13577:196:::0;;;;;;13747:15:::1;13577:196:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13577:15:0;;::::1;::::0;:66:::1;::::0;13658:11;;13700:4;;13727;13747:15;13577:196;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:196:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8042:1;;-1:-1:-1::0;8054:6:0;:14;;;;;;13223:558::o;1697:246::-;1755:7;1779:6;1775:47;;-1:-1:-1;1809:1:0;1802:8;;1775:47;1844:5;;;1848:1;1844;:5;:1;1868:5;;;;;:10;1860:56;;;;-1:-1:-1;;;1860:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1951:132;2009:7;2036:39;2040:1;2043;2036:39;;;;;;;;;;;;;;;;;:3;:39::i;15539:767::-;15666:7;15662:94;;15688:14;:12;:14::i;:::-;15662:94;;;15722:8;15718:38;;;15745:11;:9;:11::i;:::-;-1:-1:-1;;;;;15771:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;15795:22:0;;;;;;:11;:22;;;;;;;;15794:23;15771:46;15767:467;;;15834:48;15856:6;15864:9;15875:6;15834:21;:48::i;:::-;15767:467;;;-1:-1:-1;;;;;15905:19:0;;;;;;:11;:19;;;;;;;;15904:20;:46;;;;-1:-1:-1;;;;;;15928:22:0;;;;;;:11;:22;;;;;;;;15904:46;15900:334;;;15967:46;15987:6;15995:9;16006:6;15967:19;:46::i;15900:334::-;-1:-1:-1;;;;;16035:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;16058:22:0;;;;;;:11;:22;;;;;;;;16035:45;16031:203;;;16097:48;16119:6;16127:9;16138:6;16097:21;:48::i;16031:203::-;16178:44;16196:6;16204:9;16215:6;16178:17;:44::i;:::-;16248:7;16247:8;:21;;;;16260:8;16259:9;16247:21;16244:54;;;16283:15;:13;:15::i;20370:163::-;20411:7;20432:15;20449;20468:19;:17;:19::i;:::-;20431:56;;-1:-1:-1;20431:56:0;-1:-1:-1;20505:20:0;20431:56;;20505:11;:20::i;:::-;20498:27;;;;20370:163;:::o;2091:189::-;2177:7;2212:12;2205:5;2197:28;;;;-1:-1:-1;;;2197:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2236:9;2252:1;2248;:5;;;;;;;2091:189;-1:-1:-1;;;;;2091:189:0:o;10519:210::-;10565:7;;:12;:29;;;;-1:-1:-1;10581:8:0;;:13;10565:29;10562:41;;;10596:7;;10562:41;10631:7;;;10613:15;:25;10668:8;;;10649:16;:27;-1:-1:-1;10687:11:0;;;;10709:12;10519:210;:::o;10737:207::-;10780:7;;:12;:29;;;;;10796:8;;10808:1;10796:13;10780:29;10777:41;;;10811:7;;10777:41;10846:7;;;10828:15;:25;10883:8;;;10864:16;:27;-1:-1:-1;10902:11:0;;;10935:1;10924:12;;10737:207::o;17394:552::-;17497:15;17514:23;17539:12;17553:23;17578:12;17592:13;17609:19;17620:7;17609:10;:19::i;:::-;-1:-1:-1;;;;;17657:15:0;;;;;;:7;:15;;;;;;17496:132;;-1:-1:-1;17496:132:0;;-1:-1:-1;17496:132:0;;-1:-1:-1;17496:132:0;-1:-1:-1;17496:132:0;-1:-1:-1;17496:132:0;-1:-1:-1;17657:28:0;;17677:7;17657:19;:28::i;:::-;-1:-1:-1;;;;;17639:15:0;;;;;;:7;:15;;;;;;;;:46;;;;17714:7;:15;;;;:28;;17734:7;17714:19;:28::i;:::-;-1:-1:-1;;;;;17696:15:0;;;;;;;:7;:15;;;;;;:46;;;;17774:18;;;;;;;:39;;17797:15;17774:22;:39::i;:::-;-1:-1:-1;;;;;17753:18:0;;;;;;:7;:18;;;;;:60;17825:16;17835:5;17825:9;:16::i;:::-;17855:23;17867:4;17873;17855:11;:23::i;:::-;17911:9;-1:-1:-1;;;;;17894:44:0;17903:6;-1:-1:-1;;;;;17894:44:0;;17922:15;17894:44;;;;;;;;;;;;;;;;;;17394:552;;;;;;;;;:::o;16811:575::-;16912:15;16929:23;16954:12;16968:23;16993:12;17007:13;17024:19;17035:7;17024:10;:19::i;:::-;-1:-1:-1;;;;;17072:15:0;;;;;;:7;:15;;;;;;16911:132;;-1:-1:-1;16911:132:0;;-1:-1:-1;16911:132:0;;-1:-1:-1;16911:132:0;-1:-1:-1;16911:132:0;-1:-1:-1;16911:132:0;-1:-1:-1;17072:28:0;;16911:132;17072:19;:28::i;:::-;-1:-1:-1;;;;;17054:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;17132:18;;;;;:7;:18;;;;;:39;;17155:15;17132:22;:39::i;:::-;-1:-1:-1;;;;;17111:18:0;;;;;;:7;:18;;;;;;;;:60;;;;17203:7;:18;;;;:39;;17226:15;17203:22;:39::i;17954:631::-;18057:15;18074:23;18099:12;18113:23;18138:12;18152:13;18169:19;18180:7;18169:10;:19::i;:::-;-1:-1:-1;;;;;18217:15:0;;;;;;:7;:15;;;;;;18056:132;;-1:-1:-1;18056:132:0;;-1:-1:-1;18056:132:0;;-1:-1:-1;18056:132:0;-1:-1:-1;18056:132:0;-1:-1:-1;18056:132:0;-1:-1:-1;18217:28:0;;18237:7;18217:19;:28::i;:::-;-1:-1:-1;;;;;18199:15:0;;;;;;:7;:15;;;;;;;;:46;;;;18274:7;:15;;;;:28;;18294:7;18274:19;:28::i;16314:489::-;16413:15;16430:23;16455:12;16469:23;16494:12;16508:13;16525:19;16536:7;16525:10;:19::i;:::-;-1:-1:-1;;;;;16573:15:0;;;;;;:7;:15;;;;;;16412:132;;-1:-1:-1;16412:132:0;;-1:-1:-1;16412:132:0;;-1:-1:-1;16412:132:0;-1:-1:-1;16412:132:0;-1:-1:-1;16412:132:0;-1:-1:-1;16573:28:0;;16412:132;16573:19;:28::i;10956:115::-;11010:15;;11000:7;:25;11047:16;;11036:8;:27;10956:115::o;20541:561::-;20638:7;;20591;;;;7079:21;20591:7;20698:289;20722:9;:16;20718:20;;20698:289;;;20788:7;20764;:21;20772:9;20782:1;20772:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20772:12:0;20764:21;;;;;;;;;;;;;:31;;:66;;;20823:7;20799;:21;20807:9;20817:1;20807:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20807:12:0;20799:21;;;;;;;;;;;;;:31;20764:66;20760:97;;;20840:7;;7079:21;20832:25;;;;;;;;;20760:97;20882:34;20894:7;:21;20902:9;20912:1;20902:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20902:12:0;20894:21;;;;;;;;;;;;;20882:7;;:11;:34::i;:::-;20872:44;;20941:34;20953:7;:21;20961:9;20971:1;20961:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20961:12:0;20953:21;;;;;;;;;;;;;20941:7;;:11;:34::i;:::-;20931:44;-1:-1:-1;20740:3:0;;20698:289;;;-1:-1:-1;21011:7:0;;:20;;7079:21;21011:11;:20::i;:::-;21001:7;:30;20997:61;;;21041:7;;7079:21;21033:25;;;;;;;;20997:61;21077:7;;-1:-1:-1;21086:7:0;-1:-1:-1;20541:561:0;;;:::o;19118:468::-;19177:7;19186;19195;19204;19213;19222;19243:23;19268:12;19282:13;19299:39;19311:7;19320;;19329:8;;19299:11;:39::i;:::-;19242:96;;;;;;19349:19;19372:10;:8;:10::i;:::-;19349:33;;19394:15;19411:23;19436:12;19452:46;19464:7;19473:4;19479:5;19486:11;19452;:46::i;:::-;19393:105;;-1:-1:-1;19393:105:0;-1:-1:-1;19393:105:0;-1:-1:-1;19549:15:0;;-1:-1:-1;19566:4:0;;-1:-1:-1;19572:5:0;;-1:-1:-1;;;;;19118:468:0;;;;;;;:::o;1355:136::-;1413:7;1440:43;1444:1;1447;1440:43;;;;;;;;;;;;;;;;;:3;:43::i;1168:179::-;1226:7;1258:5;;;1282:6;;;;1274:46;;;;;-1:-1:-1;;;1274:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18593:325;18646:19;18669:10;:8;:10::i;:::-;18646:33;-1:-1:-1;18690:13:0;18706:22;:5;18646:33;18706:9;:22::i;:::-;18780:4;18764:22;;;;:7;:22;;;;;;18690:38;;-1:-1:-1;18764:33:0;;18690:38;18764:26;:33::i;:::-;18755:4;18739:22;;;;:7;:22;;;;;;;;:58;;;;18811:11;:26;;;;;;18808:102;;;18893:4;18877:22;;;;:7;:22;;;;;;:33;;18904:5;18877:26;:33::i;:::-;18868:4;18852:22;;;;:7;:22;;;;;:58;18593:325;;;:::o;18926:147::-;19004:7;;:17;;19016:4;19004:11;:17::i;:::-;18994:7;:27;19045:10;;:20;;19060:4;19045:14;:20::i;:::-;19032:10;:33;-1:-1:-1;;18926:147:0:o;19594:351::-;19687:7;;;;19740:28;19764:3;19740:19;:7;19752:6;19740:11;:19::i;:28::-;19725:43;-1:-1:-1;19779:13:0;19795:29;19820:3;19795:20;:7;19807;19795:11;:20::i;:29::-;19779:45;-1:-1:-1;19835:23:0;19861:28;19779:45;19861:17;:7;19873:4;19861:11;:17::i;:::-;:21;;:28::i;:::-;19835:54;19925:4;;-1:-1:-1;19931:5:0;;-1:-1:-1;19594:351:0;;-1:-1:-1;;;;;19594:351:0:o;19953:409::-;20063:7;;;;20119:24;:7;20131:11;20119;:24::i;:::-;20101:42;-1:-1:-1;20154:12:0;20169:21;:4;20178:11;20169:8;:21::i;:::-;20154:36;-1:-1:-1;20201:13:0;20217:22;:5;20227:11;20217:9;:22::i;:::-;20201:38;-1:-1:-1;20250:23:0;20276:28;20201:38;20276:17;:7;20288:4;20276:11;:17::i;:28::-;20323:7;;;;-1:-1:-1;20349:4:0;;-1:-1:-1;19953:409:0;;-1:-1:-1;;;;;;;19953:409:0:o

Swarm Source

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