ETH Price: $3,122.37 (+0.06%)
Gas: 8.08 Gwei

Token

TokenFlip (TF)
 

Overview

Max Total Supply

10,000,000,000 TF

Holders

86

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
274,076.589444317 TF

Value
$0.00
0x21093641ed0da001134545108d26e54f94a232b2
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:
TokenFlip

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : token.sol
/**
*/

/*
Flip the coin, embrace the thrill, and let every turn bring you exciting financial opportunities with TokenFlip! 🚀🪙 Play now and flip your way to victory! 🚀🥳

Website - https://tokenflip.net/
Coinflip - https://game.tokenflip.net/
Twitter - https://twitter.com/TokenFlipGame
Telegram - https://t.me/tokenflipgame

⠀⠀⠀⠀⠀⠀⠀
*/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.20;

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

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

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 TokenFlip is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _preventSwapBefore=35;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000000 * 10**_decimals;
    string private constant _name = unicode"TokenFlip";
    string private constant _symbol = unicode"TF";
    uint256 public _maxTxAmount = 100000000 * 10**_decimals;
    uint256 public _maxWalletSize = 100000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 150000001 * 10**_decimals;
    uint256 public _maxTaxSwap= 150000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

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

    function _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 50000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }


    function Open_Trading () external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_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":"Open_Trading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160055f6101000a81548160ff0219169083151502179055506014600655601960075560056008556005600955601e600a556023600b556023600c555f600d556009600a62000055919062000612565b6305f5e10062000066919062000662565b600e556009600a62000079919062000612565b6305f5e1006200008a919062000662565b600f556009600a6200009d919062000612565b6308f0d181620000ae919062000662565b6010556009600a620000c1919062000612565b6308f0d180620000d2919062000662565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff02191690831515021790555034801562000115575f80fd5b505f620001276200045260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d36200045260201b60201c565b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000223919062000612565b6402540be40062000235919062000662565b60015f620002486200045260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200029a6200045960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003c56200045260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000423919062000612565b6402540be40062000435919062000662565b604051620004449190620006bd565b60405180910390a3620006d8565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050a57808604811115620004e257620004e162000480565b5b6001851615620004f25780820291505b80810290506200050285620004ad565b9450620004c2565b94509492505050565b5f82620005245760019050620005f6565b8162000533575f9050620005f6565b81600181146200054c576002811462000557576200058d565b6001915050620005f6565b60ff8411156200056c576200056b62000480565b5b8360020a91508482111562000586576200058562000480565b5b50620005f6565b5060208310610133831016604e8410600b8410161715620005c75782820a905083811115620005c157620005c062000480565b5b620005f6565b620005d68484846001620004b9565b92509050818404811115620005f057620005ef62000480565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061e82620005fd565b91506200062b8362000606565b92506200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000513565b905092915050565b5f6200066e82620005fd565b91506200067b83620005fd565b92508282026200068b81620005fd565b91508282048414831517620006a557620006a462000480565b5b5092915050565b620006b781620005fd565b82525050565b5f602082019050620006d25f830184620006ac565b92915050565b612f5e80620006e65f395ff3fe608060405260043610610117575f3560e01c8063715018a61161009f57806395d89b411161006357806395d89b4114610354578063a9059cbb1461037e578063bf474bed146103ba578063c876d0b9146103e4578063dd62ed3e1461040e5761011e565b8063715018a6146102aa578063751039fc146102c05780637d1db4a5146102d65780638da5cb5b146103005780638f9a55c01461032a5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806358fea56b1461025857806370a082311461026e5761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b6040516101439190612050565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612101565b610487565b60405161017f9190612159565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a99190612181565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d39190612181565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd919061219a565b6104ce565b60405161020f9190612159565b60405180910390f35b348015610223575f80fd5b5061022c6105a2565b6040516102399190612205565b60405180910390f35b34801561024d575f80fd5b506102566105aa565b005b348015610263575f80fd5b5061026c610642565b005b348015610279575f80fd5b50610294600480360381019061028f919061221e565b610b65565b6040516102a19190612181565b60405180910390f35b3480156102b5575f80fd5b506102be610bab565b005b3480156102cb575f80fd5b506102d4610cf9565b005b3480156102e1575f80fd5b506102ea610e44565b6040516102f79190612181565b60405180910390f35b34801561030b575f80fd5b50610314610e4a565b6040516103219190612258565b60405180910390f35b348015610335575f80fd5b5061033e610e71565b60405161034b9190612181565b60405180910390f35b34801561035f575f80fd5b50610368610e77565b6040516103759190612050565b60405180910390f35b348015610389575f80fd5b506103a4600480360381019061039f9190612101565b610eb4565b6040516103b19190612159565b60405180910390f35b3480156103c5575f80fd5b506103ce610ed1565b6040516103db9190612181565b60405180910390f35b3480156103ef575f80fd5b506103f8610ed7565b6040516104059190612159565b60405180910390f35b348015610419575f80fd5b50610434600480360381019061042f9190612271565b610ee9565b6040516104419190612181565b60405180910390f35b60606040518060400160405280600981526020017f546f6b656e466c69700000000000000000000000000000000000000000000000815250905090565b5f61049a610493610f6b565b8484610f72565b6001905092915050565b60115481565b5f6009600a6104b9919061240b565b6402540be4006104c99190612455565b905090565b5f6104da848484611135565b610597846104e6610f6b565b61059285604051806060016040528060288152602001612f016028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610549610f6b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ab19092919063ffffffff16565b610f72565b600190509392505050565b5f6009905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105eb610f6b565b73ffffffffffffffffffffffffffffffffffffffff161461060a575f80fd5b5f61061430610b65565b90505f8111156106285761062781611b13565b5b5f4790505f81111561063e5761063d81611d7e565b5b5050565b61064a610f6b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906124e0565b60405180910390fd5b601360149054906101000a900460ff1615610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90612548565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107c33060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6107ae919061240b565b6402540be4006107be9190612455565b610f72565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610851919061257a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb919061257a565b6040518363ffffffff1660e01b81526004016109189291906125a5565b6020604051808303815f875af1158015610934573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610958919061257a565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109df30610b65565b5f806109e9610e4a565b426040518863ffffffff1660e01b8152600401610a0b9695949392919061260e565b60606040518083038185885af1158015610a27573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a4c9190612681565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610aec9291906126d1565b6020604051808303815f875af1158015610b08573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2c9190612722565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bb3610f6b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c36906124e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d01610f6b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d84906124e0565b60405180910390fd5b6009600a610d9b919061240b565b6402540be400610dab9190612455565b600e819055506009600a610dbf919061240b565b6402540be400610dcf9190612455565b600f819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610e1d919061240b565b6402540be400610e2d9190612455565b604051610e3a9190612181565b60405180910390a1565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600281526020017f5446000000000000000000000000000000000000000000000000000000000000815250905090565b5f610ec7610ec0610f6b565b8484611135565b6001905092915050565b60105481565b60055f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd7906127bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361104e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110459061284b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111289190612181565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a906128d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890612967565b60405180910390fd5b5f8111611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a906129f5565b60405180910390fd5b5f61125c610e4a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112ca575061129a610e4a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118015761130b60646112fd600a54600d54116112ea576006546112ee565b6008545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b905060055f9054906101000a900460ff16156114935760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113cb575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611492574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061144f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144690612aa9565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561153c575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561158f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561164957600e548211156115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612b11565b60405180910390fd5b600f54826115e685610b65565b6115f09190612b2f565b1115611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890612bac565b60405180910390fd5b600d5f81548092919061164390612bca565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116d157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611715576117126064611704600b54600d54116116f1576007546116f5565b6009545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b90505b5f61171f30610b65565b9050601360159054906101000a900460ff1615801561178a575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117a25750601360169054906101000a900460ff165b80156117af575060105481115b80156117be5750600c54600d54115b156117ff576117e06117db846117d684601154611ea7565b611ea7565b611b13565b5f47905066b1a2bc2ec500008111156117fd576117fc47611d7e565b5b505b505b5f811115611900576118598160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f79190612181565b60405180910390a35b6119508260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119f36119a78284611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a968486611f1c90919063ffffffff16565b604051611aa39190612181565b60405180910390a350505050565b5f838311158290611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef9190612050565b60405180910390fd5b505f8385611b069190612c11565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b4a57611b49612c44565b5b604051908082528060200260200182016040528015611b785781602001602082028036833780820191505090505b50905030815f81518110611b8f57611b8e612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c57919061257a565b81600181518110611c6b57611c6a612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cd13060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f72565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d33959493929190612d55565b5f604051808303815f87803b158015611d4a575f80fd5b505af1158015611d5c573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611de3573d5f803e3d5ffd5b5050565b5f808303611df7575f9050611e58565b5f8284611e049190612455565b9050828482611e139190612dda565b14611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a90612e7a565b60405180910390fd5b809150505b92915050565b5f611e9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f65565b905092915050565b5f818311611eb55782611eb7565b815b905092915050565b5f808284611ecd9190612b2f565b905083811015611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990612ee2565b60405180910390fd5b8091505092915050565b5f611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab1565b905092915050565b5f8083118290611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa29190612050565b60405180910390fd5b505f8385611fb99190612dda565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611ffd578082015181840152602081019050611fe2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61202282611fc6565b61202c8185611fd0565b935061203c818560208601611fe0565b61204581612008565b840191505092915050565b5f6020820190508181035f8301526120688184612018565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61209d82612074565b9050919050565b6120ad81612093565b81146120b7575f80fd5b50565b5f813590506120c8816120a4565b92915050565b5f819050919050565b6120e0816120ce565b81146120ea575f80fd5b50565b5f813590506120fb816120d7565b92915050565b5f806040838503121561211757612116612070565b5b5f612124858286016120ba565b9250506020612135858286016120ed565b9150509250929050565b5f8115159050919050565b6121538161213f565b82525050565b5f60208201905061216c5f83018461214a565b92915050565b61217b816120ce565b82525050565b5f6020820190506121945f830184612172565b92915050565b5f805f606084860312156121b1576121b0612070565b5b5f6121be868287016120ba565b93505060206121cf868287016120ba565b92505060406121e0868287016120ed565b9150509250925092565b5f60ff82169050919050565b6121ff816121ea565b82525050565b5f6020820190506122185f8301846121f6565b92915050565b5f6020828403121561223357612232612070565b5b5f612240848285016120ba565b91505092915050565b61225281612093565b82525050565b5f60208201905061226b5f830184612249565b92915050565b5f806040838503121561228757612286612070565b5b5f612294858286016120ba565b92505060206122a5858286016120ba565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123315780860481111561230d5761230c6122af565b5b600185161561231c5780820291505b808102905061232a856122dc565b94506122f1565b94509492505050565b5f826123495760019050612404565b81612356575f9050612404565b816001811461236c5760028114612376576123a5565b6001915050612404565b60ff841115612388576123876122af565b5b8360020a91508482111561239f5761239e6122af565b5b50612404565b5060208310610133831016604e8410600b84101617156123da5782820a9050838111156123d5576123d46122af565b5b612404565b6123e784848460016122e8565b925090508184048111156123fe576123fd6122af565b5b81810290505b9392505050565b5f612415826120ce565b9150612420836121ea565b925061244d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461233a565b905092915050565b5f61245f826120ce565b915061246a836120ce565b9250828202612478816120ce565b9150828204841483151761248f5761248e6122af565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124ca602083611fd0565b91506124d582612496565b602082019050919050565b5f6020820190508181035f8301526124f7816124be565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612532601783611fd0565b915061253d826124fe565b602082019050919050565b5f6020820190508181035f83015261255f81612526565b9050919050565b5f81519050612574816120a4565b92915050565b5f6020828403121561258f5761258e612070565b5b5f61259c84828501612566565b91505092915050565b5f6040820190506125b85f830185612249565b6125c56020830184612249565b9392505050565b5f819050919050565b5f819050919050565b5f6125f86125f36125ee846125cc565b6125d5565b6120ce565b9050919050565b612608816125de565b82525050565b5f60c0820190506126215f830189612249565b61262e6020830188612172565b61263b60408301876125ff565b61264860608301866125ff565b6126556080830185612249565b61266260a0830184612172565b979650505050505050565b5f8151905061267b816120d7565b92915050565b5f805f6060848603121561269857612697612070565b5b5f6126a58682870161266d565b93505060206126b68682870161266d565b92505060406126c78682870161266d565b9150509250925092565b5f6040820190506126e45f830185612249565b6126f16020830184612172565b9392505050565b6127018161213f565b811461270b575f80fd5b50565b5f8151905061271c816126f8565b92915050565b5f6020828403121561273757612736612070565b5b5f6127448482850161270e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a7602483611fd0565b91506127b28261274d565b604082019050919050565b5f6020820190508181035f8301526127d48161279b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612835602283611fd0565b9150612840826127db565b604082019050919050565b5f6020820190508181035f83015261286281612829565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c3602583611fd0565b91506128ce82612869565b604082019050919050565b5f6020820190508181035f8301526128f0816128b7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612951602383611fd0565b915061295c826128f7565b604082019050919050565b5f6020820190508181035f83015261297e81612945565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129df602983611fd0565b91506129ea82612985565b604082019050919050565b5f6020820190508181035f830152612a0c816129d3565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612a93604983611fd0565b9150612a9e82612a13565b606082019050919050565b5f6020820190508181035f830152612ac081612a87565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612afb601983611fd0565b9150612b0682612ac7565b602082019050919050565b5f6020820190508181035f830152612b2881612aef565b9050919050565b5f612b39826120ce565b9150612b44836120ce565b9250828201905080821115612b5c57612b5b6122af565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b96601a83611fd0565b9150612ba182612b62565b602082019050919050565b5f6020820190508181035f830152612bc381612b8a565b9050919050565b5f612bd4826120ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c0657612c056122af565b5b600182019050919050565b5f612c1b826120ce565b9150612c26836120ce565b9250828203905081811115612c3e57612c3d6122af565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd081612093565b82525050565b5f612ce18383612cc7565b60208301905092915050565b5f602082019050919050565b5f612d0382612c9e565b612d0d8185612ca8565b9350612d1883612cb8565b805f5b83811015612d48578151612d2f8882612cd6565b9750612d3a83612ced565b925050600181019050612d1b565b5085935050505092915050565b5f60a082019050612d685f830188612172565b612d7560208301876125ff565b8181036040830152612d878186612cf9565b9050612d966060830185612249565b612da36080830184612172565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612de4826120ce565b9150612def836120ce565b925082612dff57612dfe612dad565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e64602183611fd0565b9150612e6f82612e0a565b604082019050919050565b5f6020820190508181035f830152612e9181612e58565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ecc601b83611fd0565b9150612ed782612e98565b602082019050919050565b5f6020820190508181035f830152612ef981612ec0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205acd37098f6b998d07f189bdae5fa33a4d297fdf746dad610270bff4a61025b464736f6c63430008140033

Deployed Bytecode

0x608060405260043610610117575f3560e01c8063715018a61161009f57806395d89b411161006357806395d89b4114610354578063a9059cbb1461037e578063bf474bed146103ba578063c876d0b9146103e4578063dd62ed3e1461040e5761011e565b8063715018a6146102aa578063751039fc146102c05780637d1db4a5146102d65780638da5cb5b146103005780638f9a55c01461032a5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806358fea56b1461025857806370a082311461026e5761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b6040516101439190612050565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612101565b610487565b60405161017f9190612159565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a99190612181565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d39190612181565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd919061219a565b6104ce565b60405161020f9190612159565b60405180910390f35b348015610223575f80fd5b5061022c6105a2565b6040516102399190612205565b60405180910390f35b34801561024d575f80fd5b506102566105aa565b005b348015610263575f80fd5b5061026c610642565b005b348015610279575f80fd5b50610294600480360381019061028f919061221e565b610b65565b6040516102a19190612181565b60405180910390f35b3480156102b5575f80fd5b506102be610bab565b005b3480156102cb575f80fd5b506102d4610cf9565b005b3480156102e1575f80fd5b506102ea610e44565b6040516102f79190612181565b60405180910390f35b34801561030b575f80fd5b50610314610e4a565b6040516103219190612258565b60405180910390f35b348015610335575f80fd5b5061033e610e71565b60405161034b9190612181565b60405180910390f35b34801561035f575f80fd5b50610368610e77565b6040516103759190612050565b60405180910390f35b348015610389575f80fd5b506103a4600480360381019061039f9190612101565b610eb4565b6040516103b19190612159565b60405180910390f35b3480156103c5575f80fd5b506103ce610ed1565b6040516103db9190612181565b60405180910390f35b3480156103ef575f80fd5b506103f8610ed7565b6040516104059190612159565b60405180910390f35b348015610419575f80fd5b50610434600480360381019061042f9190612271565b610ee9565b6040516104419190612181565b60405180910390f35b60606040518060400160405280600981526020017f546f6b656e466c69700000000000000000000000000000000000000000000000815250905090565b5f61049a610493610f6b565b8484610f72565b6001905092915050565b60115481565b5f6009600a6104b9919061240b565b6402540be4006104c99190612455565b905090565b5f6104da848484611135565b610597846104e6610f6b565b61059285604051806060016040528060288152602001612f016028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610549610f6b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ab19092919063ffffffff16565b610f72565b600190509392505050565b5f6009905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105eb610f6b565b73ffffffffffffffffffffffffffffffffffffffff161461060a575f80fd5b5f61061430610b65565b90505f8111156106285761062781611b13565b5b5f4790505f81111561063e5761063d81611d7e565b5b5050565b61064a610f6b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906124e0565b60405180910390fd5b601360149054906101000a900460ff1615610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90612548565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107c33060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6107ae919061240b565b6402540be4006107be9190612455565b610f72565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610851919061257a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb919061257a565b6040518363ffffffff1660e01b81526004016109189291906125a5565b6020604051808303815f875af1158015610934573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610958919061257a565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109df30610b65565b5f806109e9610e4a565b426040518863ffffffff1660e01b8152600401610a0b9695949392919061260e565b60606040518083038185885af1158015610a27573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a4c9190612681565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610aec9291906126d1565b6020604051808303815f875af1158015610b08573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2c9190612722565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bb3610f6b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c36906124e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d01610f6b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d84906124e0565b60405180910390fd5b6009600a610d9b919061240b565b6402540be400610dab9190612455565b600e819055506009600a610dbf919061240b565b6402540be400610dcf9190612455565b600f819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610e1d919061240b565b6402540be400610e2d9190612455565b604051610e3a9190612181565b60405180910390a1565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600281526020017f5446000000000000000000000000000000000000000000000000000000000000815250905090565b5f610ec7610ec0610f6b565b8484611135565b6001905092915050565b60105481565b60055f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd7906127bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361104e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110459061284b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111289190612181565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a906128d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890612967565b60405180910390fd5b5f8111611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a906129f5565b60405180910390fd5b5f61125c610e4a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112ca575061129a610e4a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118015761130b60646112fd600a54600d54116112ea576006546112ee565b6008545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b905060055f9054906101000a900460ff16156114935760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113cb575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611492574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061144f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144690612aa9565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561153c575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561158f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561164957600e548211156115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612b11565b60405180910390fd5b600f54826115e685610b65565b6115f09190612b2f565b1115611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890612bac565b60405180910390fd5b600d5f81548092919061164390612bca565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116d157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611715576117126064611704600b54600d54116116f1576007546116f5565b6009545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b90505b5f61171f30610b65565b9050601360159054906101000a900460ff1615801561178a575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117a25750601360169054906101000a900460ff165b80156117af575060105481115b80156117be5750600c54600d54115b156117ff576117e06117db846117d684601154611ea7565b611ea7565b611b13565b5f47905066b1a2bc2ec500008111156117fd576117fc47611d7e565b5b505b505b5f811115611900576118598160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f79190612181565b60405180910390a35b6119508260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119f36119a78284611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a968486611f1c90919063ffffffff16565b604051611aa39190612181565b60405180910390a350505050565b5f838311158290611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef9190612050565b60405180910390fd5b505f8385611b069190612c11565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b4a57611b49612c44565b5b604051908082528060200260200182016040528015611b785781602001602082028036833780820191505090505b50905030815f81518110611b8f57611b8e612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c57919061257a565b81600181518110611c6b57611c6a612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cd13060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f72565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d33959493929190612d55565b5f604051808303815f87803b158015611d4a575f80fd5b505af1158015611d5c573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611de3573d5f803e3d5ffd5b5050565b5f808303611df7575f9050611e58565b5f8284611e049190612455565b9050828482611e139190612dda565b14611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a90612e7a565b60405180910390fd5b809150505b92915050565b5f611e9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f65565b905092915050565b5f818311611eb55782611eb7565b815b905092915050565b5f808284611ecd9190612b2f565b905083811015611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990612ee2565b60405180910390fd5b8091505092915050565b5f611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab1565b905092915050565b5f8083118290611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa29190612050565b60405180910390fd5b505f8385611fb99190612dda565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611ffd578082015181840152602081019050611fe2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61202282611fc6565b61202c8185611fd0565b935061203c818560208601611fe0565b61204581612008565b840191505092915050565b5f6020820190508181035f8301526120688184612018565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61209d82612074565b9050919050565b6120ad81612093565b81146120b7575f80fd5b50565b5f813590506120c8816120a4565b92915050565b5f819050919050565b6120e0816120ce565b81146120ea575f80fd5b50565b5f813590506120fb816120d7565b92915050565b5f806040838503121561211757612116612070565b5b5f612124858286016120ba565b9250506020612135858286016120ed565b9150509250929050565b5f8115159050919050565b6121538161213f565b82525050565b5f60208201905061216c5f83018461214a565b92915050565b61217b816120ce565b82525050565b5f6020820190506121945f830184612172565b92915050565b5f805f606084860312156121b1576121b0612070565b5b5f6121be868287016120ba565b93505060206121cf868287016120ba565b92505060406121e0868287016120ed565b9150509250925092565b5f60ff82169050919050565b6121ff816121ea565b82525050565b5f6020820190506122185f8301846121f6565b92915050565b5f6020828403121561223357612232612070565b5b5f612240848285016120ba565b91505092915050565b61225281612093565b82525050565b5f60208201905061226b5f830184612249565b92915050565b5f806040838503121561228757612286612070565b5b5f612294858286016120ba565b92505060206122a5858286016120ba565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123315780860481111561230d5761230c6122af565b5b600185161561231c5780820291505b808102905061232a856122dc565b94506122f1565b94509492505050565b5f826123495760019050612404565b81612356575f9050612404565b816001811461236c5760028114612376576123a5565b6001915050612404565b60ff841115612388576123876122af565b5b8360020a91508482111561239f5761239e6122af565b5b50612404565b5060208310610133831016604e8410600b84101617156123da5782820a9050838111156123d5576123d46122af565b5b612404565b6123e784848460016122e8565b925090508184048111156123fe576123fd6122af565b5b81810290505b9392505050565b5f612415826120ce565b9150612420836121ea565b925061244d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461233a565b905092915050565b5f61245f826120ce565b915061246a836120ce565b9250828202612478816120ce565b9150828204841483151761248f5761248e6122af565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124ca602083611fd0565b91506124d582612496565b602082019050919050565b5f6020820190508181035f8301526124f7816124be565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612532601783611fd0565b915061253d826124fe565b602082019050919050565b5f6020820190508181035f83015261255f81612526565b9050919050565b5f81519050612574816120a4565b92915050565b5f6020828403121561258f5761258e612070565b5b5f61259c84828501612566565b91505092915050565b5f6040820190506125b85f830185612249565b6125c56020830184612249565b9392505050565b5f819050919050565b5f819050919050565b5f6125f86125f36125ee846125cc565b6125d5565b6120ce565b9050919050565b612608816125de565b82525050565b5f60c0820190506126215f830189612249565b61262e6020830188612172565b61263b60408301876125ff565b61264860608301866125ff565b6126556080830185612249565b61266260a0830184612172565b979650505050505050565b5f8151905061267b816120d7565b92915050565b5f805f6060848603121561269857612697612070565b5b5f6126a58682870161266d565b93505060206126b68682870161266d565b92505060406126c78682870161266d565b9150509250925092565b5f6040820190506126e45f830185612249565b6126f16020830184612172565b9392505050565b6127018161213f565b811461270b575f80fd5b50565b5f8151905061271c816126f8565b92915050565b5f6020828403121561273757612736612070565b5b5f6127448482850161270e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a7602483611fd0565b91506127b28261274d565b604082019050919050565b5f6020820190508181035f8301526127d48161279b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612835602283611fd0565b9150612840826127db565b604082019050919050565b5f6020820190508181035f83015261286281612829565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c3602583611fd0565b91506128ce82612869565b604082019050919050565b5f6020820190508181035f8301526128f0816128b7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612951602383611fd0565b915061295c826128f7565b604082019050919050565b5f6020820190508181035f83015261297e81612945565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129df602983611fd0565b91506129ea82612985565b604082019050919050565b5f6020820190508181035f830152612a0c816129d3565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612a93604983611fd0565b9150612a9e82612a13565b606082019050919050565b5f6020820190508181035f830152612ac081612a87565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612afb601983611fd0565b9150612b0682612ac7565b602082019050919050565b5f6020820190508181035f830152612b2881612aef565b9050919050565b5f612b39826120ce565b9150612b44836120ce565b9250828201905080821115612b5c57612b5b6122af565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b96601a83611fd0565b9150612ba182612b62565b602082019050919050565b5f6020820190508181035f830152612bc381612b8a565b9050919050565b5f612bd4826120ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c0657612c056122af565b5b600182019050919050565b5f612c1b826120ce565b9150612c26836120ce565b9250828203905081811115612c3e57612c3d6122af565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd081612093565b82525050565b5f612ce18383612cc7565b60208301905092915050565b5f602082019050919050565b5f612d0382612c9e565b612d0d8185612ca8565b9350612d1883612cb8565b805f5b83811015612d48578151612d2f8882612cd6565b9750612d3a83612ced565b925050600181019050612d1b565b5085935050505092915050565b5f60a082019050612d685f830188612172565b612d7560208301876125ff565b8181036040830152612d878186612cf9565b9050612d966060830185612249565b612da36080830184612172565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612de4826120ce565b9150612def836120ce565b925082612dff57612dfe612dad565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e64602183611fd0565b9150612e6f82612e0a565b604082019050919050565b5f6020820190508181035f830152612e9181612e58565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ecc601b83611fd0565b9150612ed782612e98565b602082019050919050565b5f6020820190508181035f830152612ef981612ec0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205acd37098f6b998d07f189bdae5fa33a4d297fdf746dad610270bff4a61025b464736f6c63430008140033

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.