ETH Price: $3,473.37 (-1.26%)
Gas: 5 Gwei

Token

Puffy Inu (PUFFY)
 

Overview

Max Total Supply

1,000,000,000,000 PUFFY

Holders

44

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
18,234,020,704.268511211 PUFFY

Value
$0.00
0x081e73978fd69039286af1185ff7c6b388e80791
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:
PuffyInu

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-14
*/

// Puffy Inu
// Website: http://Puffyinu.info/
// Twitter: https://twitter.com/Puffy_Inu (@Puffy_Inu)
// Telegram: https://t.me/PuffyInu (@PuffyInu)

pragma solidity ^0.6.12;
// SPDX-License-Identifier: Unlicensed
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 PuffyInu 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 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 public constant _name = "Puffy Inu";
    string public constant _symbol = "PUFFY";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 8;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private _FeeAddress;
    address payable private _marketingWalletAddress;
    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) public {
        _FeeAddress = FeeAddress;
        _marketingWalletAddress = marketingWalletAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[marketingWalletAddress] = 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 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");
                }
            }
            if(from != address(this)){
                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;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
		
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount.div(2));
        _marketingWalletAddress.transfer(amount.div(2));
    }
    
    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 = false;
        _maxTxAmount = 2 * 10**12 * 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 removeBots(address[] calldata botwallet) external {
        require( msg.sender == _marketingWalletAddress );
        for (uint256 i; i < botwallet.length; ++i) {
          bots[botwallet[i]] = true;
        }
      }    


    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        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)
            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"}],"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":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"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":[{"internalType":"address[]","name":"botwallet","type":"address[]"}],"name":"removeBots","outputs":[],"stateMutability":"nonpayable","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"}]

6080604052683635c9adc5dea00000600019816200001957fe5b0660001903600a556001600c556008600d55600c54600e55600d54600f556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff021916908315150217905550683635c9adc5dea00000601455348015620000a257600080fd5b50604051620045e1380380620045e183398181016040526040811015620000c857600080fd5b8101908080519060200190929190805190602001909291905050506000620000f56200045f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a54600260006200022c6200045f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002806200046760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003e96200045f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040518082815260200191505060405180910390a3505062000490565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61414180620004a06000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a1461069e578063c3c8cd8014610763578063c9567bf91461077a578063d28d885214610791578063d543dbeb14610821578063dd62ed3e1461085c57610135565b8063715018a6146104b55780638da5cb5b146104cc57806395d89b411461050d578063a9059cbb1461059d578063b09f12661461060e57610135565b8063313ce567116100f2578063313ce567146103485780635932ead1146103765780636c3bbfd7146103b35780636fc3eaec1461043957806370a082311461045057610135565b806306fdde031461013a578063095ea7b3146101ca57806318160ddd1461023b57806323b872dd14610266578063273123b7146102f757610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6108e1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d657600080fd5b50610223600480360360408110156101ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061091e565b60405180821515815260200191505060405180910390f35b34801561024757600080fd5b5061025061093c565b6040518082815260200191505060405180910390f35b34801561027257600080fd5b506102df6004803603606081101561028957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094d565b60405180821515815260200191505060405180910390f35b34801561030357600080fd5b506103466004803603602081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a26565b005b34801561035457600080fd5b5061035d610b49565b604051808260ff16815260200191505060405180910390f35b34801561038257600080fd5b506103b16004803603602081101561039957600080fd5b81019080803515159060200190929190505050610b52565b005b3480156103bf57600080fd5b50610437600480360360208110156103d657600080fd5b81019080803590602001906401000000008111156103f357600080fd5b82018360208201111561040557600080fd5b8035906020019184602083028401116401000000008311171561042757600080fd5b9091929391929390505050610c37565b005b34801561044557600080fd5b5061044e610d2f565b005b34801561045c57600080fd5b5061049f6004803603602081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da1565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104ca610e8c565b005b3480156104d857600080fd5b506104e1611012565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561051957600080fd5b5061052261103b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610562578082015181840152602081019050610547565b50505050905090810190601f16801561058f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105a957600080fd5b506105f6600480360360408110156105c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611078565b60405180821515815260200191505060405180910390f35b34801561061a57600080fd5b50610623611096565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610663578082015181840152602081019050610648565b50505050905090810190601f1680156106905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106aa57600080fd5b50610761600480360360208110156106c157600080fd5b81019080803590602001906401000000008111156106de57600080fd5b8201836020820111156106f057600080fd5b8035906020019184602083028401116401000000008311171561071257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506110cf565b005b34801561076f57600080fd5b5061077861121f565b005b34801561078657600080fd5b5061078f611299565b005b34801561079d57600080fd5b506107a6611917565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107e65780820151818401526020810190506107cb565b50505050905090810190601f1680156108135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082d57600080fd5b5061085a6004803603602081101561084457600080fd5b8101908080359060200190929190505050611950565b005b34801561086857600080fd5b506108cb6004803603604081101561087f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aff565b6040518082815260200191505060405180910390f35b60606040518060400160405280600981526020017f507566667920496e750000000000000000000000000000000000000000000000815250905090565b600061093261092b611b86565b8484611b8e565b6001905092915050565b6000683635c9adc5dea00000905090565b600061095a848484611d85565b610a1b84610966611b86565b610a168560405180606001604052806028815260200161407260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109cc611b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e49092919063ffffffff16565b611b8e565b600190509392505050565b610a2e611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610b5a611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9157600080fd5b60005b82829050811015610d2a57600160076000858585818110610cb157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806001019050610c94565b505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d70611b86565b73ffffffffffffffffffffffffffffffffffffffff1614610d9057600080fd5b6000479050610d9e816126a4565b50565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610e3c57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e87565b610e84600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279f565b90505b919050565b610e94611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5055464659000000000000000000000000000000000000000000000000000000815250905090565b600061108c611085611b86565b8484611d85565b6001905092915050565b6040518060400160405280600581526020017f505546465900000000000000000000000000000000000000000000000000000081525081565b6110d7611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b815181101561121b576001600760008484815181106111b557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505061119a565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611260611b86565b73ffffffffffffffffffffffffffffffffffffffff161461128057600080fd5b600061128b30610da1565b905061129681612823565b50565b6112a1611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601360149054906101000a900460ff16156113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061147430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611b8e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ba57600080fd5b505afa1580156114ce573d6000803e3d6000fd5b505050506040513d60208110156114e457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561155757600080fd5b505afa15801561156b573d6000803e3d6000fd5b505050506040513d602081101561158157600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156115fb57600080fd5b505af115801561160f573d6000803e3d6000fd5b505050506040513d602081101561162557600080fd5b8101908080519060200190929190505050601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306116bf30610da1565b6000806116ca611012565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561174f57600080fd5b505af1158015611763573d6000803e3d6000fd5b50505050506040513d606081101561177a57600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff021916908315150217905550686c6b935b8bbd4000006014819055506001601360146101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156118d857600080fd5b505af11580156118ec573d6000803e3d6000fd5b505050506040513d602081101561190257600080fd5b81019080805190602001909291905050505050565b6040518060400160405280600981526020017f507566667920496e75000000000000000000000000000000000000000000000081525081565b611958611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008111611a8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b611abd6064611aaf83683635c9adc5dea00000612b0d90919063ffffffff16565b612b9390919063ffffffff16565b6014819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6014546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140e86024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061402f6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e0b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806140c36025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613fe26023913960400191505060405180910390fd5b60008111611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061409a6029913960400191505060405180910390fd5b611ef2611012565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611f605750611f30611012565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561252157601360179054906101000a900460ff16156121c6573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fe257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561203c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120965750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121c557601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166120dc611b86565b73ffffffffffffffffffffffffffffffffffffffff1614806121525750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661213a611b86565b73ffffffffffffffffffffffffffffffffffffffff16145b6121c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122b65760145481111561220857600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122ac5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6122b557600080fd5b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156123615750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123b75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123cf5750601360179054906101000a900460ff165b156124675742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061241f57600080fd5b601e4201600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061247230610da1565b9050601360159054906101000a900460ff161580156124df5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156124f75750601360169054906101000a900460ff165b1561251f5761250581612823565b6000479050600081111561251d5761251c476126a4565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125c85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125d257600090505b6125de84848484612bdd565b50505050565b6000838311158290612691576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561265657808201518184015260208101905061263b565b50505050905090810190601f1680156126835780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6126f4600284612b9390919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561271f573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612770600284612b9390919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561279b573d6000803e3d6000fd5b5050565b6000600a548211156127fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614005602a913960400191505060405180910390fd5b6000612806612e34565b905061281b8184612b9390919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561285857600080fd5b506040519080825280602002602001820160405280156128875781602001602082028036833780820191505090505b509050308160008151811061289857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561293a57600080fd5b505afa15801561294e573d6000803e3d6000fd5b505050506040513d602081101561296457600080fd5b81019080805190602001909291905050508160018151811061298257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506129e930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b8e565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612aad578082015181840152602081019050612a92565b505050509050019650505050505050600060405180830381600087803b158015612ad657600080fd5b505af1158015612aea573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600080831415612b205760009050612b8d565b6000828402905082848281612b3157fe5b0414612b88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806140516021913960400191505060405180910390fd5b809150505b92915050565b6000612bd583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e5f565b905092915050565b80612beb57612bea612f25565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c8e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ca357612c9e848484612f68565b612e20565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612d465750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612d5b57612d568484846131c8565b612e1f565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612dfd5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612e1257612e0d848484613428565b612e1e565b612e1d84848461371d565b5b5b5b80612e2e57612e2d6138e8565b5b50505050565b6000806000612e416138fc565b91509150612e588183612b9390919063ffffffff16565b9250505090565b60008083118290612f0b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ed0578082015181840152602081019050612eb5565b50505050905090810190601f168015612efd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612f1757fe5b049050809150509392505050565b6000600c54148015612f3957506000600d54145b15612f4357612f66565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612f7a87613ba9565b955095509550955095509550612fd887600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061306d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061310285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061314e81613ce3565b6131588483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806131da87613ba9565b95509550955095509550955061323886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132cd83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061336285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133ae81613ce3565b6133b88483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b60008060008060008061343a87613ba9565b95509550955095509550955061349887600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c283600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061365785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136a381613ce3565b6136ad8483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b60008060008060008061372f87613ba9565b95509550955095509550955061378d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061382285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061386e81613ce3565b6138788483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600a5490506000683635c9adc5dea00000905060005b600980549050811015613b5e5782600260006009848154811061393657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613a1d57508160036000600984815481106139b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613a3b57600a54683635c9adc5dea0000094509450505050613ba5565b613ac46002600060098481548110613a4f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613c1190919063ffffffff16565b9250613b4f6003600060098481548110613ada57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613c1190919063ffffffff16565b91508080600101915050613917565b50613b7d683635c9adc5dea00000600a54612b9390919063ffffffff16565b821015613b9c57600a54683635c9adc5dea00000935093505050613ba5565b81819350935050505b9091565b6000806000806000806000806000613bc68a600c54600d54613ec2565b9250925092506000613bd6612e34565b90506000806000613be98e878787613f58565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000613c5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125e4565b905092915050565b600080828401905083811015613cd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000613ced612e34565b90506000613d048284612b0d90919063ffffffff16565b9050613d5881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613e8357613e3f83600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613e9d82600a54613c1190919063ffffffff16565b600a81905550613eb881600b54613c5b90919063ffffffff16565b600b819055505050565b600080600080613eee6064613ee0888a612b0d90919063ffffffff16565b612b9390919063ffffffff16565b90506000613f186064613f0a888b612b0d90919063ffffffff16565b612b9390919063ffffffff16565b90506000613f4182613f33858c613c1190919063ffffffff16565b613c1190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613f718589612b0d90919063ffffffff16565b90506000613f888689612b0d90919063ffffffff16565b90506000613f9f8789612b0d90919063ffffffff16565b90506000613fc882613fba8587613c1190919063ffffffff16565b613c1190919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220ae27e05a61f8c7e4ceb0fd71c27a2f81be0ec1cf265ff12e3a7f080d9fcdeb2a64736f6c634300060c00330000000000000000000000007b42fffd539e02a17a14de03cbed7cc5366e1a34000000000000000000000000a2ec61aef75e4f5bc60891d1248987e53cf951dc

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a1461069e578063c3c8cd8014610763578063c9567bf91461077a578063d28d885214610791578063d543dbeb14610821578063dd62ed3e1461085c57610135565b8063715018a6146104b55780638da5cb5b146104cc57806395d89b411461050d578063a9059cbb1461059d578063b09f12661461060e57610135565b8063313ce567116100f2578063313ce567146103485780635932ead1146103765780636c3bbfd7146103b35780636fc3eaec1461043957806370a082311461045057610135565b806306fdde031461013a578063095ea7b3146101ca57806318160ddd1461023b57806323b872dd14610266578063273123b7146102f757610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6108e1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d657600080fd5b50610223600480360360408110156101ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061091e565b60405180821515815260200191505060405180910390f35b34801561024757600080fd5b5061025061093c565b6040518082815260200191505060405180910390f35b34801561027257600080fd5b506102df6004803603606081101561028957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094d565b60405180821515815260200191505060405180910390f35b34801561030357600080fd5b506103466004803603602081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a26565b005b34801561035457600080fd5b5061035d610b49565b604051808260ff16815260200191505060405180910390f35b34801561038257600080fd5b506103b16004803603602081101561039957600080fd5b81019080803515159060200190929190505050610b52565b005b3480156103bf57600080fd5b50610437600480360360208110156103d657600080fd5b81019080803590602001906401000000008111156103f357600080fd5b82018360208201111561040557600080fd5b8035906020019184602083028401116401000000008311171561042757600080fd5b9091929391929390505050610c37565b005b34801561044557600080fd5b5061044e610d2f565b005b34801561045c57600080fd5b5061049f6004803603602081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da1565b6040518082815260200191505060405180910390f35b3480156104c157600080fd5b506104ca610e8c565b005b3480156104d857600080fd5b506104e1611012565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561051957600080fd5b5061052261103b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610562578082015181840152602081019050610547565b50505050905090810190601f16801561058f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105a957600080fd5b506105f6600480360360408110156105c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611078565b60405180821515815260200191505060405180910390f35b34801561061a57600080fd5b50610623611096565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610663578082015181840152602081019050610648565b50505050905090810190601f1680156106905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106aa57600080fd5b50610761600480360360208110156106c157600080fd5b81019080803590602001906401000000008111156106de57600080fd5b8201836020820111156106f057600080fd5b8035906020019184602083028401116401000000008311171561071257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506110cf565b005b34801561076f57600080fd5b5061077861121f565b005b34801561078657600080fd5b5061078f611299565b005b34801561079d57600080fd5b506107a6611917565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107e65780820151818401526020810190506107cb565b50505050905090810190601f1680156108135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561082d57600080fd5b5061085a6004803603602081101561084457600080fd5b8101908080359060200190929190505050611950565b005b34801561086857600080fd5b506108cb6004803603604081101561087f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aff565b6040518082815260200191505060405180910390f35b60606040518060400160405280600981526020017f507566667920496e750000000000000000000000000000000000000000000000815250905090565b600061093261092b611b86565b8484611b8e565b6001905092915050565b6000683635c9adc5dea00000905090565b600061095a848484611d85565b610a1b84610966611b86565b610a168560405180606001604052806028815260200161407260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109cc611b86565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e49092919063ffffffff16565b611b8e565b600190509392505050565b610a2e611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610b5a611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9157600080fd5b60005b82829050811015610d2a57600160076000858585818110610cb157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806001019050610c94565b505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d70611b86565b73ffffffffffffffffffffffffffffffffffffffff1614610d9057600080fd5b6000479050610d9e816126a4565b50565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610e3c57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e87565b610e84600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279f565b90505b919050565b610e94611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5055464659000000000000000000000000000000000000000000000000000000815250905090565b600061108c611085611b86565b8484611d85565b6001905092915050565b6040518060400160405280600581526020017f505546465900000000000000000000000000000000000000000000000000000081525081565b6110d7611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b815181101561121b576001600760008484815181106111b557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505061119a565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611260611b86565b73ffffffffffffffffffffffffffffffffffffffff161461128057600080fd5b600061128b30610da1565b905061129681612823565b50565b6112a1611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601360149054906101000a900460ff16156113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061147430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611b8e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ba57600080fd5b505afa1580156114ce573d6000803e3d6000fd5b505050506040513d60208110156114e457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561155757600080fd5b505afa15801561156b573d6000803e3d6000fd5b505050506040513d602081101561158157600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156115fb57600080fd5b505af115801561160f573d6000803e3d6000fd5b505050506040513d602081101561162557600080fd5b8101908080519060200190929190505050601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306116bf30610da1565b6000806116ca611012565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561174f57600080fd5b505af1158015611763573d6000803e3d6000fd5b50505050506040513d606081101561177a57600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff021916908315150217905550686c6b935b8bbd4000006014819055506001601360146101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156118d857600080fd5b505af11580156118ec573d6000803e3d6000fd5b505050506040513d602081101561190257600080fd5b81019080805190602001909291905050505050565b6040518060400160405280600981526020017f507566667920496e75000000000000000000000000000000000000000000000081525081565b611958611b86565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008111611a8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b611abd6064611aaf83683635c9adc5dea00000612b0d90919063ffffffff16565b612b9390919063ffffffff16565b6014819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6014546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140e86024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061402f6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e0b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806140c36025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613fe26023913960400191505060405180910390fd5b60008111611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061409a6029913960400191505060405180910390fd5b611ef2611012565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611f605750611f30611012565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561252157601360179054906101000a900460ff16156121c6573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fe257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561203c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120965750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121c557601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166120dc611b86565b73ffffffffffffffffffffffffffffffffffffffff1614806121525750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661213a611b86565b73ffffffffffffffffffffffffffffffffffffffff16145b6121c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122b65760145481111561220857600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122ac5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6122b557600080fd5b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156123615750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123b75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123cf5750601360179054906101000a900460ff165b156124675742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061241f57600080fd5b601e4201600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061247230610da1565b9050601360159054906101000a900460ff161580156124df5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156124f75750601360169054906101000a900460ff165b1561251f5761250581612823565b6000479050600081111561251d5761251c476126a4565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125c85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125d257600090505b6125de84848484612bdd565b50505050565b6000838311158290612691576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561265657808201518184015260208101905061263b565b50505050905090810190601f1680156126835780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6126f4600284612b9390919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561271f573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612770600284612b9390919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561279b573d6000803e3d6000fd5b5050565b6000600a548211156127fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614005602a913960400191505060405180910390fd5b6000612806612e34565b905061281b8184612b9390919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561285857600080fd5b506040519080825280602002602001820160405280156128875781602001602082028036833780820191505090505b509050308160008151811061289857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561293a57600080fd5b505afa15801561294e573d6000803e3d6000fd5b505050506040513d602081101561296457600080fd5b81019080805190602001909291905050508160018151811061298257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506129e930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b8e565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612aad578082015181840152602081019050612a92565b505050509050019650505050505050600060405180830381600087803b158015612ad657600080fd5b505af1158015612aea573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600080831415612b205760009050612b8d565b6000828402905082848281612b3157fe5b0414612b88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806140516021913960400191505060405180910390fd5b809150505b92915050565b6000612bd583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e5f565b905092915050565b80612beb57612bea612f25565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c8e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ca357612c9e848484612f68565b612e20565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612d465750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612d5b57612d568484846131c8565b612e1f565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612dfd5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612e1257612e0d848484613428565b612e1e565b612e1d84848461371d565b5b5b5b80612e2e57612e2d6138e8565b5b50505050565b6000806000612e416138fc565b91509150612e588183612b9390919063ffffffff16565b9250505090565b60008083118290612f0b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ed0578082015181840152602081019050612eb5565b50505050905090810190601f168015612efd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612f1757fe5b049050809150509392505050565b6000600c54148015612f3957506000600d54145b15612f4357612f66565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612f7a87613ba9565b955095509550955095509550612fd887600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061306d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061310285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061314e81613ce3565b6131588483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806131da87613ba9565b95509550955095509550955061323886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132cd83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061336285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133ae81613ce3565b6133b88483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b60008060008060008061343a87613ba9565b95509550955095509550955061349887600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c283600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061365785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136a381613ce3565b6136ad8483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b60008060008060008061372f87613ba9565b95509550955095509550955061378d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c1190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061382285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061386e81613ce3565b6138788483613e88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600a5490506000683635c9adc5dea00000905060005b600980549050811015613b5e5782600260006009848154811061393657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613a1d57508160036000600984815481106139b557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613a3b57600a54683635c9adc5dea0000094509450505050613ba5565b613ac46002600060098481548110613a4f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613c1190919063ffffffff16565b9250613b4f6003600060098481548110613ada57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613c1190919063ffffffff16565b91508080600101915050613917565b50613b7d683635c9adc5dea00000600a54612b9390919063ffffffff16565b821015613b9c57600a54683635c9adc5dea00000935093505050613ba5565b81819350935050505b9091565b6000806000806000806000806000613bc68a600c54600d54613ec2565b9250925092506000613bd6612e34565b90506000806000613be98e878787613f58565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000613c5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125e4565b905092915050565b600080828401905083811015613cd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000613ced612e34565b90506000613d048284612b0d90919063ffffffff16565b9050613d5881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613e8357613e3f83600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c5b90919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613e9d82600a54613c1190919063ffffffff16565b600a81905550613eb881600b54613c5b90919063ffffffff16565b600b819055505050565b600080600080613eee6064613ee0888a612b0d90919063ffffffff16565b612b9390919063ffffffff16565b90506000613f186064613f0a888b612b0d90919063ffffffff16565b612b9390919063ffffffff16565b90506000613f4182613f33858c613c1190919063ffffffff16565b613c1190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613f718589612b0d90919063ffffffff16565b90506000613f888689612b0d90919063ffffffff16565b90506000613f9f8789612b0d90919063ffffffff16565b90506000613fc882613fba8587613c1190919063ffffffff16565b613c1190919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220ae27e05a61f8c7e4ceb0fd71c27a2f81be0ec1cf265ff12e3a7f080d9fcdeb2a64736f6c634300060c0033

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

0000000000000000000000007b42fffd539e02a17a14de03cbed7cc5366e1a34000000000000000000000000a2ec61aef75e4f5bc60891d1248987e53cf951dc

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x7b42FFFD539E02a17a14De03CBeD7cC5366e1a34
Arg [1] : marketingWalletAddress (address): 0xa2EC61AEF75E4f5BC60891d1248987e53Cf951dC

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007b42fffd539e02a17a14de03cbed7cc5366e1a34
Arg [1] : 000000000000000000000000a2ec61aef75e4f5bc60891d1248987e53cf951dc


Deployed Bytecode Sourcemap

6435:14443:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8499:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9411:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8776:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9580:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15019:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8685:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9901:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14774:231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13562:190;;;;;;;;;;;;;:::i;:::-;;8879:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5514:148;;;;;;;;;;;;;:::i;:::-;;5300:79;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8590:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9085:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7220:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14596:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13359:191;;;;;;;;;;;;;:::i;:::-;;13768:816;;;;;;;;;;;;;:::i;:::-;;7171:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20620:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9260:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8499:83;8536:13;8569:5;;;;;;;;;;;;;;;;;8562:12;;8499:83;:::o;9411:161::-;9486:4;9503:39;9512:12;:10;:12::i;:::-;9526:7;9535:6;9503:8;:39::i;:::-;9560:4;9553:11;;9411:161;;;;:::o;8776:95::-;8829:7;7054:21;8849:14;;8776:95;:::o;9580:313::-;9678:4;9695:36;9705:6;9713:9;9724:6;9695:9;:36::i;:::-;9742:121;9751:6;9759:12;:10;:12::i;:::-;9773:89;9811:6;9773:89;;;;;;;;;;;;;;;;;:11;:19;9785:6;9773:19;;;;;;;;;;;;;;;:33;9793:12;:10;:12::i;:::-;9773:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9742:8;:121::i;:::-;9881:4;9874:11;;9580:313;;;;;:::o;15019:88::-;5437:12;:10;:12::i;:::-;5427:22;;:6;;;;;;;;;;:22;;;5419:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15094:5:::1;15079:4;:12;15084:6;15079:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;15019:88:::0;:::o;8685:83::-;8726:5;7302:1;8744:16;;8685:83;:::o;9901:103::-;5437:12;:10;:12::i;:::-;5427:22;;:6;;;;;;;;;;:22;;;5419:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9991:5:::1;9973:15;;:23;;;;;;;;;;;;;;;;;;9901:103:::0;:::o;14774:231::-;14867:23;;;;;;;;;;;14853:37;;:10;:37;;;14844:48;;;;;;14908:9;14903:93;14923:9;;:16;;14919:1;:20;14903:93;;;14980:4;14959;:18;14964:9;;14974:1;14964:12;;;;;;;;;;;;;;;14959:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;14941:3;;;;;14903:93;;;;14774:231;;:::o;13562:190::-;13628:11;;;;;;;;;;;13612:27;;:12;:10;:12::i;:::-;:27;;;13604:36;;;;;;13651:26;13680:21;13651:50;;13712:32;13725:18;13712:12;:32::i;:::-;13562:190;:::o;8879:198::-;8945:7;8969:11;:20;8981:7;8969:20;;;;;;;;;;;;;;;;;;;;;;;;;8965:49;;;8998:7;:16;9006:7;8998:16;;;;;;;;;;;;;;;;8991:23;;;;8965:49;9032:37;9052:7;:16;9060:7;9052:16;;;;;;;;;;;;;;;;9032:19;:37::i;:::-;9025:44;;8879:198;;;;:::o;5514:148::-;5437:12;:10;:12::i;:::-;5427:22;;:6;;;;;;;;;;:22;;;5419:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:1:::1;5584:40;;5605:6;::::0;::::1;;;;;;;;5584:40;;;;;;;;;;;;5652:1;5635:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5514:148::o:0;5300:79::-;5338:7;5365:6;;;;;;;;;;;5358:13;;5300:79;:::o;8590:87::-;8629:13;8662:7;;;;;;;;;;;;;;;;;8655:14;;8590:87;:::o;9085:167::-;9163:4;9180:42;9190:12;:10;:12::i;:::-;9204:9;9215:6;9180:9;:42::i;:::-;9240:4;9233:11;;9085:167;;;;:::o;7220:40::-;;;;;;;;;;;;;;;;;;;:::o;14596:164::-;5437:12;:10;:12::i;:::-;5427:22;;:6;;;;;;;;;;:22;;;5419:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14670:6:::1;14665:88;14686:5;:12;14682:1;:16;14665:88;;;14737:4;14720;:14;14725:5;14731:1;14725:8;;;;;;;;;;;;;;14720:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14700:3;;;;;;;14665:88;;;;14596:164:::0;:::o;13359:191::-;13425:11;;;;;;;;;;;13409:27;;:12;:10;:12::i;:::-;:27;;;13401:36;;;;;;13448:23;13474:24;13492:4;13474:9;:24::i;:::-;13448:50;;13509:33;13526:15;13509:16;:33::i;:::-;13359:191;:::o;13768:816::-;5437:12;:10;:12::i;:::-;5427:22;;:6;;;;;;;;;;:22;;;5419:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13832:11:::1;;;;;;;;;;;13831:12;13823:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13881:35;13938:42;13881:100;;14010:16;13992:15;;:34;;;;;;;;;;;;;;;;;;14037:58;14054:4;14069:15;;;;;;;;;;;7054:21;14037:8;:58::i;:::-;14140:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;14122:56;;;14187:4;14194:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;14122:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;14106:13;;:112;;;;;;;;;;;;;;;;;;14229:15;;;;;;;;;;;:31;;;14268:21;14299:4;14305:24;14323:4;14305:9;:24::i;:::-;14330:1;14332::::0;14334:7:::1;:5;:7::i;:::-;14342:15;14229:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14383:4;14369:11;;:18;;;;;;;;;;;;;;;;;;14416:5;14398:15;;:23;;;;;;;;;;;;;;;;;;14447:18;14432:12;:33;;;;14490:4;14476:11;;:18;;;;;;;;;;;;;;;;;;14512:13;;;;;;;;;;;14505:29;;;14543:15;;;;;;;;;;;14561:14;14505:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;5497:1;13768:816::o:0;7171:42::-;;;;;;;;;;;;;;;;;;;:::o;20620:255::-;5437:12;:10;:12::i;:::-;5427:22;;:6;;;;;;;;;;:22;;;5419:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20722:1:::1;20707:12;:16;20699:58;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20783:36;20813:5;20783:25;20795:12;7054:21;20783:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;20768:12;:51;;;;20835:32;20854:12;;20835:32;;;;;;;;;;;;;;;;;;20620:255:::0;:::o;9260:143::-;9341:7;9368:11;:18;9380:5;9368:18;;;;;;;;;;;;;;;:27;9387:7;9368:27;;;;;;;;;;;;;;;;9361:34;;9260:143;;;;:::o;254:106::-;307:15;342:10;335:17;;254:106;:::o;10619:335::-;10729:1;10712:19;;:5;:19;;;;10704:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10810:1;10791:21;;:7;:21;;;;10783:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10892:6;10862:11;:18;10874:5;10862:18;;;;;;;;;;;;;;;:27;10881:7;10862:27;;;;;;;;;;;;;;;:36;;;;10930:7;10914:32;;10923:5;10914:32;;;10939:6;10914:32;;;;;;;;;;;;;;;;;;10619:335;;;:::o;10962:1720::-;11066:1;11050:18;;:4;:18;;;;11042:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11143:1;11129:16;;:2;:16;;;;11121:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11213:1;11204:6;:10;11196:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11293:7;:5;:7::i;:::-;11285:15;;:4;:15;;;;:32;;;;;11310:7;:5;:7::i;:::-;11304:13;;:2;:13;;;;11285:32;11281:1203;;;11338:15;;;;;;;;;;;11334:320;;;11394:4;11378:21;;:4;:21;;;;:44;;;;;11417:4;11403:19;;:2;:19;;;;11378:44;:80;;;;;11442:15;;;;;;;;;;;11426:32;;:4;:32;;;;11378:80;:114;;;;;11476:15;;;;;;;;;;;11462:30;;:2;:30;;;;11378:114;11374:265;;;11549:15;;;;;;;;;;;11525:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;11585:13;;;;;;;;;;;11569:29;;:12;:10;:12::i;:::-;:29;;;11525:73;11517:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11374:265;11334:320;11687:4;11671:21;;:4;:21;;;11668:143;;11730:12;;11720:6;:22;;11712:31;;;;;;11771:4;:10;11776:4;11771:10;;;;;;;;;;;;;;;;;;;;;;;;;11770:11;:24;;;;;11786:4;:8;11791:2;11786:8;;;;;;;;;;;;;;;;;;;;;;;;;11785:9;11770:24;11762:33;;;;;;11668:143;11837:13;;;;;;;;;;;11829:21;;:4;:21;;;:55;;;;;11868:15;;;;;;;;;;;11854:30;;:2;:30;;;;11829:55;:83;;;;;11890:18;:22;11909:2;11890:22;;;;;;;;;;;;;;;;;;;;;;;;;11888:24;11829:83;:102;;;;;11916:15;;;;;;;;;;;11829:102;11825:246;;;11975:15;11960:8;:12;11969:2;11960:12;;;;;;;;;;;;;;;;:30;11952:39;;;;;;12044:10;12025:15;:30;12010:8;:12;12019:2;12010:12;;;;;;;;;;;;;;;:45;;;;11825:246;12085:28;12116:24;12134:4;12116:9;:24::i;:::-;12085:55;;12160:6;;;;;;;;;;;12159:7;:32;;;;;12178:13;;;;;;;;;;;12170:21;;:4;:21;;;;12159:32;:47;;;;;12195:11;;;;;;;;;;;12159:47;12155:318;;;12227:38;12244:20;12227:16;:38::i;:::-;12284:26;12313:21;12284:50;;12377:1;12356:18;:22;12353:105;;;12403:35;12416:21;12403:12;:35::i;:::-;12353:105;12155:318;;11281:1203;;12494:12;12509:4;12494:19;;12529:18;:24;12548:4;12529:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12557:18;:22;12576:2;12557:22;;;;;;;;;;;;;;;;;;;;;;;;;12529:50;12526:96;;;12605:5;12595:15;;12526:96;12636:38;12651:4;12656:2;12659:6;12666:7;12636:14;:38::i;:::-;10962:1720;;;;:::o;1521:190::-;1607:7;1640:1;1635;:6;;1643:12;1627:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1667:9;1683:1;1679;:5;1667:17;;1702:1;1695:8;;;1521:190;;;;;:::o;13189:158::-;13246:11;;;;;;;;;;;:20;;:35;13267:13;13278:1;13267:6;:10;;:13;;;;:::i;:::-;13246:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13292:23;;;;;;;;;;;:32;;:47;13325:13;13336:1;13325:6;:10;;:13;;;;:::i;:::-;13292:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13189:158;:::o;10012:254::-;10079:7;10118;;10107;:18;;10099:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10183:19;10206:10;:8;:10::i;:::-;10183:33;;10234:24;10246:11;10234:7;:11;;:24;;;;:::i;:::-;10227:31;;;10012:254;;;:::o;12690:483::-;7941:4;7932:6;;:13;;;;;;;;;;;;;;;;;;12768:21:::1;12806:1;12792:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12768:40;;12837:4;12819;12824:1;12819:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;12863:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;12853:4;12858:1;12853:7;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;12896:62;12913:4;12928:15;;;;;;;;;;;12946:11;12896:8;:62::i;:::-;12969:15;;;;;;;;;;;:66;;;13050:11;13076:1;13092:4;13119;13139:15;12969:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7956:1;7977:5:::0;7968:6;;:14;;;;;;;;;;;;;;;;;;12690:483;:::o;1719:246::-;1777:7;1806:1;1801;:6;1797:47;;;1831:1;1824:8;;;;1797:47;1854:9;1870:1;1866;:5;1854:17;;1899:1;1894;1890;:5;;;;;;:10;1882:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1956:1;1949:8;;;1719:246;;;;;:::o;1973:132::-;2031:7;2058:39;2062:1;2065;2058:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2051:46;;1973:132;;;;:::o;15123:685::-;15235:7;15231:40;;15257:14;:12;:14::i;:::-;15231:40;15286:11;:19;15298:6;15286:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;15310:11;:22;15322:9;15310:22;;;;;;;;;;;;;;;;;;;;;;;;;15309:23;15286:46;15282:467;;;15349:48;15371:6;15379:9;15390:6;15349:21;:48::i;:::-;15282:467;;;15420:11;:19;15432:6;15420:19;;;;;;;;;;;;;;;;;;;;;;;;;15419:20;:46;;;;;15443:11;:22;15455:9;15443:22;;;;;;;;;;;;;;;;;;;;;;;;;15419:46;15415:334;;;15482:46;15502:6;15510:9;15521:6;15482:19;:46::i;:::-;15415:334;;;15550:11;:19;15562:6;15550:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;15573:11;:22;15585:9;15573:22;;;;;;;;;;;;;;;;;;;;;;;;;15550:45;15546:203;;;15612:48;15634:6;15642:9;15653:6;15612:21;:48::i;:::-;15546:203;;;15693:44;15711:6;15719:9;15730:6;15693:17;:44::i;:::-;15546:203;15415:334;15282:467;15763:7;15759:41;;15785:15;:13;:15::i;:::-;15759:41;15123:685;;;;:::o;19872:163::-;19913:7;19934:15;19951;19970:19;:17;:19::i;:::-;19933:56;;;;20007:20;20019:7;20007;:11;;:20;;;;:::i;:::-;20000:27;;;;19872:163;:::o;2113:189::-;2199:7;2231:1;2227;:5;2234:12;2219:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2258:9;2274:1;2270;:5;;;;;;2258:17;;2293:1;2286:8;;;2113:189;;;;;:::o;10274:210::-;10331:1;10320:7;;:12;:29;;;;;10348:1;10336:8;;:13;10320:29;10317:41;;;10351:7;;10317:41;10386:7;;10368:15;:25;;;;10423:8;;10404:16;:27;;;;10452:1;10442:7;:11;;;;10475:1;10464:8;:12;;;;10274:210;:::o;16896:552::-;16999:15;17016:23;17041:12;17055:23;17080:12;17094:13;17111:19;17122:7;17111:10;:19::i;:::-;16998:132;;;;;;;;;;;;17159:28;17179:7;17159;:15;17167:6;17159:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17141:7;:15;17149:6;17141:15;;;;;;;;;;;;;;;:46;;;;17216:28;17236:7;17216;:15;17224:6;17216:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17198:7;:15;17206:6;17198:15;;;;;;;;;;;;;;;:46;;;;17276:39;17299:15;17276:7;:18;17284:9;17276:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17255:7;:18;17263:9;17255:18;;;;;;;;;;;;;;;:60;;;;17327:16;17337:5;17327:9;:16::i;:::-;17357:23;17369:4;17375;17357:11;:23::i;:::-;17413:9;17396:44;;17405:6;17396:44;;;17424:15;17396:44;;;;;;;;;;;;;;;;;;16896:552;;;;;;;;;:::o;16313:575::-;16414:15;16431:23;16456:12;16470:23;16495:12;16509:13;16526:19;16537:7;16526:10;:19::i;:::-;16413:132;;;;;;;;;;;;16574:28;16594:7;16574;:15;16582:6;16574:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16556:7;:15;16564:6;16556:15;;;;;;;;;;;;;;;:46;;;;16634:39;16657:15;16634:7;:18;16642:9;16634:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16613:7;:18;16621:9;16613:18;;;;;;;;;;;;;;;:60;;;;16705:39;16728:15;16705:7;:18;16713:9;16705:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16684:7;:18;16692:9;16684:18;;;;;;;;;;;;;;;:60;;;;16759:16;16769:5;16759:9;:16::i;:::-;16797:23;16809:4;16815;16797:11;:23::i;:::-;16853:9;16836:44;;16845:6;16836:44;;;16864:15;16836:44;;;;;;;;;;;;;;;;;;16313:575;;;;;;;;;:::o;17456:631::-;17559:15;17576:23;17601:12;17615:23;17640:12;17654:13;17671:19;17682:7;17671:10;:19::i;:::-;17558:132;;;;;;;;;;;;17719:28;17739:7;17719;:15;17727:6;17719:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17701:7;:15;17709:6;17701:15;;;;;;;;;;;;;;;:46;;;;17776:28;17796:7;17776;:15;17784:6;17776:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17758:7;:15;17766:6;17758:15;;;;;;;;;;;;;;;:46;;;;17836:39;17859:15;17836:7;:18;17844:9;17836:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17815:7;:18;17823:9;17815:18;;;;;;;;;;;;;;;:60;;;;17907:39;17930:15;17907:7;:18;17915:9;17907:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17886:7;:18;17894:9;17886:18;;;;;;;;;;;;;;;:60;;;;17960:16;17970:5;17960:9;:16::i;:::-;17996:23;18008:4;18014;17996:11;:23::i;:::-;18052:9;18035:44;;18044:6;18035:44;;;18063:15;18035:44;;;;;;;;;;;;;;;;;;17456:631;;;;;;;;;:::o;15816:489::-;15915:15;15932:23;15957:12;15971:23;15996:12;16010:13;16027:19;16038:7;16027:10;:19::i;:::-;15914:132;;;;;;;;;;;;16075:28;16095:7;16075;:15;16083:6;16075:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16057:7;:15;16065:6;16057:15;;;;;;;;;;;;;;;:46;;;;16135:39;16158:15;16135:7;:18;16143:9;16135:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16114:7;:18;16122:9;16114:18;;;;;;;;;;;;;;;:60;;;;16186:16;16196:5;16186:9;:16::i;:::-;16214:23;16226:4;16232;16214:11;:23::i;:::-;16270:9;16253:44;;16262:6;16253:44;;;16281:15;16253:44;;;;;;;;;;;;;;;;;;15816:489;;;;;;;;;:::o;10496:115::-;10550:15;;10540:7;:25;;;;10587:16;;10576:8;:27;;;;10496:115::o;20043:561::-;20093:7;20102;20122:15;20140:7;;20122:25;;20158:15;7054:21;20158:25;;20205:9;20200:289;20224:9;:16;;;;20220:1;:20;20200:289;;;20290:7;20266;:21;20274:9;20284:1;20274:12;;;;;;;;;;;;;;;;;;;;;;;;;20266:21;;;;;;;;;;;;;;;;:31;:66;;;;20325:7;20301;:21;20309:9;20319:1;20309:12;;;;;;;;;;;;;;;;;;;;;;;;;20301:21;;;;;;;;;;;;;;;;:31;20266:66;20262:97;;;20342:7;;7054:21;20334:25;;;;;;;;;20262:97;20384:34;20396:7;:21;20404:9;20414:1;20404:12;;;;;;;;;;;;;;;;;;;;;;;;;20396:21;;;;;;;;;;;;;;;;20384:7;:11;;:34;;;;:::i;:::-;20374:44;;20443:34;20455:7;:21;20463:9;20473:1;20463:12;;;;;;;;;;;;;;;;;;;;;;;;;20455:21;;;;;;;;;;;;;;;;20443:7;:11;;:34;;;;:::i;:::-;20433:44;;20242:3;;;;;;;20200:289;;;;20513:20;7054:21;20513:7;;:11;;:20;;;;:::i;:::-;20503:7;:30;20499:61;;;20543:7;;7054:21;20535:25;;;;;;;;20499:61;20579:7;20588;20571:25;;;;;;20043:561;;;:::o;18620:468::-;18679:7;18688;18697;18706;18715;18724;18745:23;18770:12;18784:13;18801:39;18813:7;18822;;18831:8;;18801:11;:39::i;:::-;18744:96;;;;;;18851:19;18874:10;:8;:10::i;:::-;18851:33;;18896:15;18913:23;18938:12;18954:46;18966:7;18975:4;18981:5;18988:11;18954;:46::i;:::-;18895:105;;;;;;19019:7;19028:15;19045:4;19051:15;19068:4;19074:5;19011:69;;;;;;;;;;;;;;;;;;;18620:468;;;;;;;:::o;1377:136::-;1435:7;1462:43;1466:1;1469;1462:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1455:50;;1377:136;;;;:::o;1190:179::-;1248:7;1268:9;1284:1;1280;:5;1268:17;;1309:1;1304;:6;;1296:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1360:1;1353:8;;;1190:179;;;;:::o;18095:325::-;18148:19;18171:10;:8;:10::i;:::-;18148:33;;18192:13;18208:22;18218:11;18208:5;:9;;:22;;;;:::i;:::-;18192:38;;18266:33;18293:5;18266:7;:22;18282:4;18266:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;18241:7;:22;18257:4;18241:22;;;;;;;;;;;;;;;:58;;;;18313:11;:26;18333:4;18313:26;;;;;;;;;;;;;;;;;;;;;;;;;18310:102;;;18379:33;18406:5;18379:7;:22;18395:4;18379:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;18354:7;:22;18370:4;18354:22;;;;;;;;;;;;;;;:58;;;;18310:102;18095:325;;;:::o;18428:147::-;18506:17;18518:4;18506:7;;:11;;:17;;;;:::i;:::-;18496:7;:27;;;;18547:20;18562:4;18547:10;;:14;;:20;;;;:::i;:::-;18534:10;:33;;;;18428:147;;:::o;19096:351::-;19189:7;19198;19207;19227:12;19242:28;19266:3;19242:19;19254:6;19242:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;19227:43;;19281:13;19297:29;19322:3;19297:20;19309:7;19297;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;19281:45;;19337:23;19363:28;19385:5;19363:17;19375:4;19363:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19337:54;;19410:15;19427:4;19433:5;19402:37;;;;;;;;;19096:351;;;;;;;:::o;19455:409::-;19565:7;19574;19583;19603:15;19621:24;19633:11;19621:7;:11;;:24;;;;:::i;:::-;19603:42;;19656:12;19671:21;19680:11;19671:4;:8;;:21;;;;:::i;:::-;19656:36;;19703:13;19719:22;19729:11;19719:5;:9;;:22;;;;:::i;:::-;19703:38;;19752:23;19778:28;19800:5;19778:17;19790:4;19778:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19752:54;;19825:7;19834:15;19851:4;19817:39;;;;;;;;;;19455:409;;;;;;;;:::o

Swarm Source

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