ETH Price: $2,369.20 (-3.79%)
Gas: 1.52 Gwei

Token

The Black Swordsman (GUTS)
 

Overview

Max Total Supply

10,000,000 GUTS

Holders

107

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
4.22765127 GUTS

Value
$0.00
0xae38f24682c6e528324c620e25886cf205b80961
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:
TheBlackSwordsmanERC

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : guts.sol
// SPDX-License-Identifier: UNLICENSED
/**

GUTS - The Black Swordsman

https://medium.com/@TheBlackSwordsmanERC/

https://t.me/theblackswordsmanerc


**/

pragma solidity 0.8.17;

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;
    address private _previousOwner;
    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 TheBlackSwordsmanERC is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10_000_000 * 10**8;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _initialTax;
    uint256 private _finalTax;
    uint256 private _reduceTaxCountdown;
    address payable private _feeAddrWallet;

    string private constant _name = "The Black Swordsman";
    string private constant _symbol = "GUTS";
    uint8 private constant _decimals = 8;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = 200_000 * 10**8;
    uint256 private _maxWalletSize = 300_000 * 10**8;
    uint256 private _swapSize=100_000*10**8;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(_msgSender());
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _initialTax=8;
        _finalTax=4;
        _reduceTaxCountdown=60;

        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 tokenFromReflection(_rOwned[account]);
    }

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

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

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

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

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");


        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            _feeAddr1 = 1;
            _feeAddr2 = (_reduceTaxCountdown==0)?_finalTax:_initialTax;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_reduceTaxCountdown>0){_reduceTaxCountdown--;}
            }


            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>=_swapSize && _reduceTaxCountdown<20) {
                swapTokensForEth(_swapSize);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _feeAddr1 = 0;
          _feeAddr2 = 0;
        }

        _tokenTransfer(from,to,amount);
    }

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

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;

        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

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

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

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

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


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

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

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

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

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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"}]

608060405266038d7ea4c680006000196200001b91906200043e565b6000196200002a9190620004a5565b6008556000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff0219169083151502179055506000601160176101000a81548160ff0219169083151502179055506512309ce54000601255651b48eb57e0006013556509184e72a000601455348015620000a957600080fd5b506000620000bc620003d460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200016a620003d460201b60201c565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001c1620003d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000215620003dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506008600c819055506004600d81905550603c600e8190555062000360620003d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c68000604051620003c69190620004f1565b60405180910390a36200050e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200044b8262000405565b9150620004588362000405565b9250826200046b576200046a6200040f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004b28262000405565b9150620004bf8362000405565b9250828203905081811115620004da57620004d962000476565b5b92915050565b620004eb8162000405565b82525050565b6000602082019050620005086000830184620004e0565b92915050565b613382806200051e6000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb1461033e578063c3c8cd801461037b578063c9567bf914610392578063d34628cc146103a9578063dd62ed3e146103d257610114565b8063715018a6146102ba578063751039fc146102d15780638da5cb5b146102e857806395d89b411461031357610114565b8063313ce567116100dc578063313ce567146101e957806331c2d847146102145780635932ead11461023d5780636fc3eaec1461026657806370a082311461027d57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61040f565b60405161013b91906123c0565b60405180910390f35b34801561015057600080fd5b5061016b6004803603810190610166919061248a565b61044c565b60405161017891906124e5565b60405180910390f35b34801561018d57600080fd5b5061019661046a565b6040516101a3919061250f565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce919061252a565b610479565b6040516101e091906124e5565b60405180910390f35b3480156101f557600080fd5b506101fe610552565b60405161020b9190612599565b60405180910390f35b34801561022057600080fd5b5061023b600480360381019061023691906126fc565b61055b565b005b34801561024957600080fd5b50610264600480360381019061025f9190612771565b610685565b005b34801561027257600080fd5b5061027b610737565b005b34801561028957600080fd5b506102a4600480360381019061029f919061279e565b6107a9565b6040516102b1919061250f565b60405180910390f35b3480156102c657600080fd5b506102cf6107fa565b005b3480156102dd57600080fd5b506102e661094d565b005b3480156102f457600080fd5b506102fd610a00565b60405161030a91906127da565b60405180910390f35b34801561031f57600080fd5b50610328610a29565b60405161033591906123c0565b60405180910390f35b34801561034a57600080fd5b506103656004803603810190610360919061248a565b610a66565b60405161037291906124e5565b60405180910390f35b34801561038757600080fd5b50610390610a84565b005b34801561039e57600080fd5b506103a7610afe565b005b3480156103b557600080fd5b506103d060048036038101906103cb91906126fc565b610ffe565b005b3480156103de57600080fd5b506103f960048036038101906103f491906127f5565b611128565b604051610406919061250f565b60405180910390f35b60606040518060400160405280601381526020017f54686520426c61636b2053776f7264736d616e00000000000000000000000000815250905090565b60006104606104596111af565b84846111b7565b6001905092915050565b600066038d7ea4c68000905090565b6000610486848484611380565b610547846104926111af565b6105428560405180606001604052806028815260200161332560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104f86111af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ca9092919063ffffffff16565b6111b7565b600190509392505050565b60006008905090565b6105636111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e790612881565b60405180910390fd5b60005b815181101561068157600060066000848481518110610615576106146128a1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610679906128ff565b9150506105f3565b5050565b61068d6111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071190612881565b60405180910390fd5b80601160176101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107786111af565b73ffffffffffffffffffffffffffffffffffffffff161461079857600080fd5b60004790506107a68161192e565b50565b60006107f3600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199a565b9050919050565b6108026111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088690612881565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109556111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612881565b60405180910390fd5b66038d7ea4c6800060128190555066038d7ea4c68000601381905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4755545300000000000000000000000000000000000000000000000000000000815250905090565b6000610a7a610a736111af565b8484611380565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ac56111af565b73ffffffffffffffffffffffffffffffffffffffff1614610ae557600080fd5b6000610af0306107a9565b9050610afb81611a08565b50565b610b066111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a90612881565b60405180910390fd5b601160149054906101000a900460ff1615610be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bda90612993565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c7130601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c680006111b7565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce091906129c8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6b91906129c8565b6040518363ffffffff1660e01b8152600401610d889291906129f5565b6020604051808303816000875af1158015610da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcb91906129c8565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e54306107a9565b600080610e5f610a00565b426040518863ffffffff1660e01b8152600401610e8196959493929190612a63565b60606040518083038185885af1158015610e9f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ec49190612ad9565b5050506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fb7929190612b2c565b6020604051808303816000875af1158015610fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffa9190612b6a565b5050565b6110066111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108a90612881565b60405180910390fd5b60005b8151811015611124576001600660008484815181106110b8576110b76128a1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061111c906128ff565b915050611096565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121d90612c09565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612c9b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611373919061250f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e690612d2d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361145e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145590612dbf565b60405180910390fd5b600081116114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612e51565b60405180910390fd5b6114a9610a00565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561151757506114e7610a00565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118a957600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115c05750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115c957600080fd5b6001600a819055506000600e54146115e357600c546115e7565b600d545b600b81905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116985750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116ee5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117065750601160179054906101000a900460ff165b156117cd57601254811115611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612ebd565b60405180910390fd5b6013548161175d846107a9565b6117679190612edd565b11156117a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179f90612f5d565b60405180910390fd5b6000600e5411156117cc57600e60008154809291906117c690612f7d565b91905055505b5b60006117d8306107a9565b9050601160159054906101000a900460ff161580156118455750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561185d5750601160169054906101000a900460ff165b801561186b57506014548110155b801561187957506014600e54105b156118a357611889601454611a08565b600047905060008111156118a1576118a04761192e565b5b505b506118ba565b6000600a819055506000600b819055505b6118c5838383611c81565b505050565b6000838311158290611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190991906123c0565b60405180910390fd5b50600083856119219190612fa6565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611996573d6000803e3d6000fd5b5050565b60006008548211156119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d89061304c565b60405180910390fd5b60006119eb611c91565b9050611a008184611cbc90919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a4057611a3f6125b9565b5b604051908082528060200260200182016040528015611a6e5781602001602082028036833780820191505090505b5090503081600081518110611a8657611a856128a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5191906129c8565b81600181518110611b6557611b646128a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bcc30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111b7565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c3095949392919061312a565b600060405180830381600087803b158015611c4a57600080fd5b505af1158015611c5e573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b611c8c838383611d06565b505050565b6000806000611c9e611ed1565b91509150611cb58183611cbc90919063ffffffff16565b9250505090565b6000611cfe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f2d565b905092915050565b600080600080600080611d1887611f90565b955095509550955095509550611d7686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e57816120a0565b611e61848361215d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ebe919061250f565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611f0366038d7ea4c68000600854611cbc90919063ffffffff16565b821015611f205760085466038d7ea4c68000935093505050611f29565b81819350935050505b9091565b60008083118290611f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6b91906123c0565b60405180910390fd5b5060008385611f8391906131b3565b9050809150509392505050565b6000806000806000806000806000611fad8a600a54600b54612197565b9250925092506000611fbd611c91565b90506000806000611fd08e87878761222d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061203a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118ca565b905092915050565b60008082846120519190612edd565b905083811015612096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208d90613230565b60405180910390fd5b8091505092915050565b60006120aa611c91565b905060006120c182846122b690919063ffffffff16565b905061211581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61217282600854611ff890919063ffffffff16565b60088190555061218d8160095461204290919063ffffffff16565b6009819055505050565b6000806000806121c360646121b5888a6122b690919063ffffffff16565b611cbc90919063ffffffff16565b905060006121ed60646121df888b6122b690919063ffffffff16565b611cbc90919063ffffffff16565b9050600061221682612208858c611ff890919063ffffffff16565b611ff890919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061224685896122b690919063ffffffff16565b9050600061225d86896122b690919063ffffffff16565b9050600061227487896122b690919063ffffffff16565b9050600061229d8261228f8587611ff890919063ffffffff16565b611ff890919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036122c8576000905061232a565b600082846122d69190613250565b90508284826122e591906131b3565b14612325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231c90613304565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561236a57808201518184015260208101905061234f565b60008484015250505050565b6000601f19601f8301169050919050565b600061239282612330565b61239c818561233b565b93506123ac81856020860161234c565b6123b581612376565b840191505092915050565b600060208201905081810360008301526123da8184612387565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612421826123f6565b9050919050565b61243181612416565b811461243c57600080fd5b50565b60008135905061244e81612428565b92915050565b6000819050919050565b61246781612454565b811461247257600080fd5b50565b6000813590506124848161245e565b92915050565b600080604083850312156124a1576124a06123ec565b5b60006124af8582860161243f565b92505060206124c085828601612475565b9150509250929050565b60008115159050919050565b6124df816124ca565b82525050565b60006020820190506124fa60008301846124d6565b92915050565b61250981612454565b82525050565b60006020820190506125246000830184612500565b92915050565b600080600060608486031215612543576125426123ec565b5b60006125518682870161243f565b93505060206125628682870161243f565b925050604061257386828701612475565b9150509250925092565b600060ff82169050919050565b6125938161257d565b82525050565b60006020820190506125ae600083018461258a565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6125f182612376565b810181811067ffffffffffffffff821117156126105761260f6125b9565b5b80604052505050565b60006126236123e2565b905061262f82826125e8565b919050565b600067ffffffffffffffff82111561264f5761264e6125b9565b5b602082029050602081019050919050565b600080fd5b600061267861267384612634565b612619565b9050808382526020820190506020840283018581111561269b5761269a612660565b5b835b818110156126c457806126b0888261243f565b84526020840193505060208101905061269d565b5050509392505050565b600082601f8301126126e3576126e26125b4565b5b81356126f3848260208601612665565b91505092915050565b600060208284031215612712576127116123ec565b5b600082013567ffffffffffffffff8111156127305761272f6123f1565b5b61273c848285016126ce565b91505092915050565b61274e816124ca565b811461275957600080fd5b50565b60008135905061276b81612745565b92915050565b600060208284031215612787576127866123ec565b5b60006127958482850161275c565b91505092915050565b6000602082840312156127b4576127b36123ec565b5b60006127c28482850161243f565b91505092915050565b6127d481612416565b82525050565b60006020820190506127ef60008301846127cb565b92915050565b6000806040838503121561280c5761280b6123ec565b5b600061281a8582860161243f565b925050602061282b8582860161243f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061286b60208361233b565b915061287682612835565b602082019050919050565b6000602082019050818103600083015261289a8161285e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061290a82612454565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293c5761293b6128d0565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061297d60178361233b565b915061298882612947565b602082019050919050565b600060208201905081810360008301526129ac81612970565b9050919050565b6000815190506129c281612428565b92915050565b6000602082840312156129de576129dd6123ec565b5b60006129ec848285016129b3565b91505092915050565b6000604082019050612a0a60008301856127cb565b612a1760208301846127cb565b9392505050565b6000819050919050565b6000819050919050565b6000612a4d612a48612a4384612a1e565b612a28565b612454565b9050919050565b612a5d81612a32565b82525050565b600060c082019050612a7860008301896127cb565b612a856020830188612500565b612a926040830187612a54565b612a9f6060830186612a54565b612aac60808301856127cb565b612ab960a0830184612500565b979650505050505050565b600081519050612ad38161245e565b92915050565b600080600060608486031215612af257612af16123ec565b5b6000612b0086828701612ac4565b9350506020612b1186828701612ac4565b9250506040612b2286828701612ac4565b9150509250925092565b6000604082019050612b4160008301856127cb565b612b4e6020830184612500565b9392505050565b600081519050612b6481612745565b92915050565b600060208284031215612b8057612b7f6123ec565b5b6000612b8e84828501612b55565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bf360248361233b565b9150612bfe82612b97565b604082019050919050565b60006020820190508181036000830152612c2281612be6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c8560228361233b565b9150612c9082612c29565b604082019050919050565b60006020820190508181036000830152612cb481612c78565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d1760258361233b565b9150612d2282612cbb565b604082019050919050565b60006020820190508181036000830152612d4681612d0a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612da960238361233b565b9150612db482612d4d565b604082019050919050565b60006020820190508181036000830152612dd881612d9c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e3b60298361233b565b9150612e4682612ddf565b604082019050919050565b60006020820190508181036000830152612e6a81612e2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612ea760198361233b565b9150612eb282612e71565b602082019050919050565b60006020820190508181036000830152612ed681612e9a565b9050919050565b6000612ee882612454565b9150612ef383612454565b9250828201905080821115612f0b57612f0a6128d0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f47601a8361233b565b9150612f5282612f11565b602082019050919050565b60006020820190508181036000830152612f7681612f3a565b9050919050565b6000612f8882612454565b915060008203612f9b57612f9a6128d0565b5b600182039050919050565b6000612fb182612454565b9150612fbc83612454565b9250828203905081811115612fd457612fd36128d0565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613036602a8361233b565b915061304182612fda565b604082019050919050565b6000602082019050818103600083015261306581613029565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130a181612416565b82525050565b60006130b38383613098565b60208301905092915050565b6000602082019050919050565b60006130d78261306c565b6130e18185613077565b93506130ec83613088565b8060005b8381101561311d57815161310488826130a7565b975061310f836130bf565b9250506001810190506130f0565b5085935050505092915050565b600060a08201905061313f6000830188612500565b61314c6020830187612a54565b818103604083015261315e81866130cc565b905061316d60608301856127cb565b61317a6080830184612500565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131be82612454565b91506131c983612454565b9250826131d9576131d8613184565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061321a601b8361233b565b9150613225826131e4565b602082019050919050565b600060208201905081810360008301526132498161320d565b9050919050565b600061325b82612454565b915061326683612454565b925082820261327481612454565b9150828204841483151761328b5761328a6128d0565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132ee60218361233b565b91506132f982613292565b604082019050919050565b6000602082019050818103600083015261331d816132e1565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122092e329680bb283b5b4c547d4b88feb34e6c4fa86deed12e3e4cb88d0bc16d8ee64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb1461033e578063c3c8cd801461037b578063c9567bf914610392578063d34628cc146103a9578063dd62ed3e146103d257610114565b8063715018a6146102ba578063751039fc146102d15780638da5cb5b146102e857806395d89b411461031357610114565b8063313ce567116100dc578063313ce567146101e957806331c2d847146102145780635932ead11461023d5780636fc3eaec1461026657806370a082311461027d57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61040f565b60405161013b91906123c0565b60405180910390f35b34801561015057600080fd5b5061016b6004803603810190610166919061248a565b61044c565b60405161017891906124e5565b60405180910390f35b34801561018d57600080fd5b5061019661046a565b6040516101a3919061250f565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce919061252a565b610479565b6040516101e091906124e5565b60405180910390f35b3480156101f557600080fd5b506101fe610552565b60405161020b9190612599565b60405180910390f35b34801561022057600080fd5b5061023b600480360381019061023691906126fc565b61055b565b005b34801561024957600080fd5b50610264600480360381019061025f9190612771565b610685565b005b34801561027257600080fd5b5061027b610737565b005b34801561028957600080fd5b506102a4600480360381019061029f919061279e565b6107a9565b6040516102b1919061250f565b60405180910390f35b3480156102c657600080fd5b506102cf6107fa565b005b3480156102dd57600080fd5b506102e661094d565b005b3480156102f457600080fd5b506102fd610a00565b60405161030a91906127da565b60405180910390f35b34801561031f57600080fd5b50610328610a29565b60405161033591906123c0565b60405180910390f35b34801561034a57600080fd5b506103656004803603810190610360919061248a565b610a66565b60405161037291906124e5565b60405180910390f35b34801561038757600080fd5b50610390610a84565b005b34801561039e57600080fd5b506103a7610afe565b005b3480156103b557600080fd5b506103d060048036038101906103cb91906126fc565b610ffe565b005b3480156103de57600080fd5b506103f960048036038101906103f491906127f5565b611128565b604051610406919061250f565b60405180910390f35b60606040518060400160405280601381526020017f54686520426c61636b2053776f7264736d616e00000000000000000000000000815250905090565b60006104606104596111af565b84846111b7565b6001905092915050565b600066038d7ea4c68000905090565b6000610486848484611380565b610547846104926111af565b6105428560405180606001604052806028815260200161332560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104f86111af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ca9092919063ffffffff16565b6111b7565b600190509392505050565b60006008905090565b6105636111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e790612881565b60405180910390fd5b60005b815181101561068157600060066000848481518110610615576106146128a1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610679906128ff565b9150506105f3565b5050565b61068d6111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071190612881565b60405180910390fd5b80601160176101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107786111af565b73ffffffffffffffffffffffffffffffffffffffff161461079857600080fd5b60004790506107a68161192e565b50565b60006107f3600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199a565b9050919050565b6108026111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088690612881565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109556111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612881565b60405180910390fd5b66038d7ea4c6800060128190555066038d7ea4c68000601381905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4755545300000000000000000000000000000000000000000000000000000000815250905090565b6000610a7a610a736111af565b8484611380565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ac56111af565b73ffffffffffffffffffffffffffffffffffffffff1614610ae557600080fd5b6000610af0306107a9565b9050610afb81611a08565b50565b610b066111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a90612881565b60405180910390fd5b601160149054906101000a900460ff1615610be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bda90612993565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c7130601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c680006111b7565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce091906129c8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6b91906129c8565b6040518363ffffffff1660e01b8152600401610d889291906129f5565b6020604051808303816000875af1158015610da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcb91906129c8565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e54306107a9565b600080610e5f610a00565b426040518863ffffffff1660e01b8152600401610e8196959493929190612a63565b60606040518083038185885af1158015610e9f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ec49190612ad9565b5050506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fb7929190612b2c565b6020604051808303816000875af1158015610fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffa9190612b6a565b5050565b6110066111af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108a90612881565b60405180910390fd5b60005b8151811015611124576001600660008484815181106110b8576110b76128a1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061111c906128ff565b915050611096565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121d90612c09565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612c9b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611373919061250f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e690612d2d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361145e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145590612dbf565b60405180910390fd5b600081116114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612e51565b60405180910390fd5b6114a9610a00565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561151757506114e7610a00565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118a957600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115c05750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115c957600080fd5b6001600a819055506000600e54146115e357600c546115e7565b600d545b600b81905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116985750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116ee5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117065750601160179054906101000a900460ff165b156117cd57601254811115611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612ebd565b60405180910390fd5b6013548161175d846107a9565b6117679190612edd565b11156117a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179f90612f5d565b60405180910390fd5b6000600e5411156117cc57600e60008154809291906117c690612f7d565b91905055505b5b60006117d8306107a9565b9050601160159054906101000a900460ff161580156118455750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561185d5750601160169054906101000a900460ff165b801561186b57506014548110155b801561187957506014600e54105b156118a357611889601454611a08565b600047905060008111156118a1576118a04761192e565b5b505b506118ba565b6000600a819055506000600b819055505b6118c5838383611c81565b505050565b6000838311158290611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190991906123c0565b60405180910390fd5b50600083856119219190612fa6565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611996573d6000803e3d6000fd5b5050565b60006008548211156119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d89061304c565b60405180910390fd5b60006119eb611c91565b9050611a008184611cbc90919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a4057611a3f6125b9565b5b604051908082528060200260200182016040528015611a6e5781602001602082028036833780820191505090505b5090503081600081518110611a8657611a856128a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5191906129c8565b81600181518110611b6557611b646128a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bcc30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111b7565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c3095949392919061312a565b600060405180830381600087803b158015611c4a57600080fd5b505af1158015611c5e573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b611c8c838383611d06565b505050565b6000806000611c9e611ed1565b91509150611cb58183611cbc90919063ffffffff16565b9250505090565b6000611cfe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f2d565b905092915050565b600080600080600080611d1887611f90565b955095509550955095509550611d7686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e57816120a0565b611e61848361215d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ebe919061250f565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611f0366038d7ea4c68000600854611cbc90919063ffffffff16565b821015611f205760085466038d7ea4c68000935093505050611f29565b81819350935050505b9091565b60008083118290611f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6b91906123c0565b60405180910390fd5b5060008385611f8391906131b3565b9050809150509392505050565b6000806000806000806000806000611fad8a600a54600b54612197565b9250925092506000611fbd611c91565b90506000806000611fd08e87878761222d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061203a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118ca565b905092915050565b60008082846120519190612edd565b905083811015612096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208d90613230565b60405180910390fd5b8091505092915050565b60006120aa611c91565b905060006120c182846122b690919063ffffffff16565b905061211581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61217282600854611ff890919063ffffffff16565b60088190555061218d8160095461204290919063ffffffff16565b6009819055505050565b6000806000806121c360646121b5888a6122b690919063ffffffff16565b611cbc90919063ffffffff16565b905060006121ed60646121df888b6122b690919063ffffffff16565b611cbc90919063ffffffff16565b9050600061221682612208858c611ff890919063ffffffff16565b611ff890919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061224685896122b690919063ffffffff16565b9050600061225d86896122b690919063ffffffff16565b9050600061227487896122b690919063ffffffff16565b9050600061229d8261228f8587611ff890919063ffffffff16565b611ff890919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036122c8576000905061232a565b600082846122d69190613250565b90508284826122e591906131b3565b14612325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231c90613304565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561236a57808201518184015260208101905061234f565b60008484015250505050565b6000601f19601f8301169050919050565b600061239282612330565b61239c818561233b565b93506123ac81856020860161234c565b6123b581612376565b840191505092915050565b600060208201905081810360008301526123da8184612387565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612421826123f6565b9050919050565b61243181612416565b811461243c57600080fd5b50565b60008135905061244e81612428565b92915050565b6000819050919050565b61246781612454565b811461247257600080fd5b50565b6000813590506124848161245e565b92915050565b600080604083850312156124a1576124a06123ec565b5b60006124af8582860161243f565b92505060206124c085828601612475565b9150509250929050565b60008115159050919050565b6124df816124ca565b82525050565b60006020820190506124fa60008301846124d6565b92915050565b61250981612454565b82525050565b60006020820190506125246000830184612500565b92915050565b600080600060608486031215612543576125426123ec565b5b60006125518682870161243f565b93505060206125628682870161243f565b925050604061257386828701612475565b9150509250925092565b600060ff82169050919050565b6125938161257d565b82525050565b60006020820190506125ae600083018461258a565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6125f182612376565b810181811067ffffffffffffffff821117156126105761260f6125b9565b5b80604052505050565b60006126236123e2565b905061262f82826125e8565b919050565b600067ffffffffffffffff82111561264f5761264e6125b9565b5b602082029050602081019050919050565b600080fd5b600061267861267384612634565b612619565b9050808382526020820190506020840283018581111561269b5761269a612660565b5b835b818110156126c457806126b0888261243f565b84526020840193505060208101905061269d565b5050509392505050565b600082601f8301126126e3576126e26125b4565b5b81356126f3848260208601612665565b91505092915050565b600060208284031215612712576127116123ec565b5b600082013567ffffffffffffffff8111156127305761272f6123f1565b5b61273c848285016126ce565b91505092915050565b61274e816124ca565b811461275957600080fd5b50565b60008135905061276b81612745565b92915050565b600060208284031215612787576127866123ec565b5b60006127958482850161275c565b91505092915050565b6000602082840312156127b4576127b36123ec565b5b60006127c28482850161243f565b91505092915050565b6127d481612416565b82525050565b60006020820190506127ef60008301846127cb565b92915050565b6000806040838503121561280c5761280b6123ec565b5b600061281a8582860161243f565b925050602061282b8582860161243f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061286b60208361233b565b915061287682612835565b602082019050919050565b6000602082019050818103600083015261289a8161285e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061290a82612454565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293c5761293b6128d0565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061297d60178361233b565b915061298882612947565b602082019050919050565b600060208201905081810360008301526129ac81612970565b9050919050565b6000815190506129c281612428565b92915050565b6000602082840312156129de576129dd6123ec565b5b60006129ec848285016129b3565b91505092915050565b6000604082019050612a0a60008301856127cb565b612a1760208301846127cb565b9392505050565b6000819050919050565b6000819050919050565b6000612a4d612a48612a4384612a1e565b612a28565b612454565b9050919050565b612a5d81612a32565b82525050565b600060c082019050612a7860008301896127cb565b612a856020830188612500565b612a926040830187612a54565b612a9f6060830186612a54565b612aac60808301856127cb565b612ab960a0830184612500565b979650505050505050565b600081519050612ad38161245e565b92915050565b600080600060608486031215612af257612af16123ec565b5b6000612b0086828701612ac4565b9350506020612b1186828701612ac4565b9250506040612b2286828701612ac4565b9150509250925092565b6000604082019050612b4160008301856127cb565b612b4e6020830184612500565b9392505050565b600081519050612b6481612745565b92915050565b600060208284031215612b8057612b7f6123ec565b5b6000612b8e84828501612b55565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bf360248361233b565b9150612bfe82612b97565b604082019050919050565b60006020820190508181036000830152612c2281612be6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c8560228361233b565b9150612c9082612c29565b604082019050919050565b60006020820190508181036000830152612cb481612c78565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d1760258361233b565b9150612d2282612cbb565b604082019050919050565b60006020820190508181036000830152612d4681612d0a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612da960238361233b565b9150612db482612d4d565b604082019050919050565b60006020820190508181036000830152612dd881612d9c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e3b60298361233b565b9150612e4682612ddf565b604082019050919050565b60006020820190508181036000830152612e6a81612e2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612ea760198361233b565b9150612eb282612e71565b602082019050919050565b60006020820190508181036000830152612ed681612e9a565b9050919050565b6000612ee882612454565b9150612ef383612454565b9250828201905080821115612f0b57612f0a6128d0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f47601a8361233b565b9150612f5282612f11565b602082019050919050565b60006020820190508181036000830152612f7681612f3a565b9050919050565b6000612f8882612454565b915060008203612f9b57612f9a6128d0565b5b600182039050919050565b6000612fb182612454565b9150612fbc83612454565b9250828203905081811115612fd457612fd36128d0565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613036602a8361233b565b915061304182612fda565b604082019050919050565b6000602082019050818103600083015261306581613029565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130a181612416565b82525050565b60006130b38383613098565b60208301905092915050565b6000602082019050919050565b60006130d78261306c565b6130e18185613077565b93506130ec83613088565b8060005b8381101561311d57815161310488826130a7565b975061310f836130bf565b9250506001810190506130f0565b5085935050505092915050565b600060a08201905061313f6000830188612500565b61314c6020830187612a54565b818103604083015261315e81866130cc565b905061316d60608301856127cb565b61317a6080830184612500565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131be82612454565b91506131c983612454565b9250826131d9576131d8613184565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061321a601b8361233b565b9150613225826131e4565b602082019050919050565b600060208201905081810360008301526132498161320d565b9050919050565b600061325b82612454565b915061326683612454565b925082820261327481612454565b9150828204841483151761328b5761328a6128d0565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132ee60218361233b565b91506132f982613292565b604082019050919050565b6000602082019050818103600083015261331d816132e1565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122092e329680bb283b5b4c547d4b88feb34e6c4fa86deed12e3e4cb88d0bc16d8ee64736f6c63430008110033

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.