ETH Price: $2,948.06 (-1.31%)
 

Overview

Max Total Supply

100,000,000 MSK

Holders

4

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
roro

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : roro.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.23;

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

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

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

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

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

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

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is zero");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

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

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }
    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) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }
}

contract roro is Context, IERC20, Ownable {
    using SafeMath for uint256;

    // Token info
    string private _name;
    string private _symbol;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000 * 10 ** _decimals;

    // Balances and allowances
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;

    // Max transaction and wallet limits (2%)
    uint256 public _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 public _maxWalletAmount = _tTotal.mul(2).div(100);
    event MaxTxAmountUpdated(uint256 maxTxAmount);

    // Tax swap limits (1%)
    uint256 public _maxTaxSwap = _tTotal.mul(1).div(100);
    uint256 private _x7ZESTYBUG1 = _tTotal.mul(1).div(100);

    // Original tax variables from OG.sol
    uint256 private _3DREAMYMOLE7 = 18;
    uint256 private _x2SILLYPIG9 = 18;
    uint256 private _0xSHINYHAWK4 = 0;
    uint256 private _x9FUZZYWOLF2 = 0;
    uint256 private _7SPARKLEBUG6 = 18;
    uint256 private _x0MOSSYYAK8 = 18;
    uint256 private _0xTWINKLEBAT5 = 18;
    uint256 private _buyCount = 0;

    // State
    address payable private _taxWallet;
    IUniswapV2Router02 private router;
    address private pair;
    bool private tradingOpen;

    // Whitelist
    bool public whitelistEnabled = true;
    mapping(address => bool) public isWhitelisted;
    uint256 public tradingStartTime;

    // Sell-block controls
    bool public swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    // Reentrancy lock
    bool private inSwap;
    modifier lockSwap() { inSwap = true; _; inSwap = false; }

    constructor(string memory name_, string memory symbol_) payable {
        _name = name_;
        _symbol = symbol_;
        _taxWallet = payable(_msgSender());

        // Mint and exclude
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        // Router & pair
        router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());
        _allowances[address(this)][address(router)] = type(uint256).max;
        emit Approval(address(this), address(router), type(uint256).max);
    }

    // ERC20
    function name() public view returns (string memory) { return _name; }
    function symbol() public view returns (string memory) { return _symbol; }
    function decimals() public pure returns (uint8) { return _decimals; }
    function totalSupply() public pure override returns (uint256) { return _tTotal; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address owner_, address spender) public view override returns (uint256) { return _allowances[owner_][spender]; }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[_msgSender()][spender] = amount;
        emit Approval(_msgSender(), spender, amount);
        return true;
    }
    function transfer(address to, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), to, amount);
        return true;
    }
    function transferFrom(address from, address to, uint256 amount) public override returns (bool) {
        _allowances[from][_msgSender()] = _allowances[from][_msgSender()].sub(amount);
        _transfer(from, to, amount);
        return true;
    }

    // Whitelist
    function addToWhitelist(address[] calldata list) external onlyOwner {
        for (uint i = 0; i < list.length; i++) {
            isWhitelisted[list[i]] = true;
        }
    }

    // Open trading
    function openTrading() external onlyOwner {
        require(!tradingOpen, "Trading already open");
        uint256 tokensForLiquidity = _balances[_msgSender()].mul(95).div(100);
        _transfer(_msgSender(), address(this), tokensForLiquidity);
        router.addLiquidityETH{value: address(this).balance}(address(this), tokensForLiquidity, 0, 0, owner(), block.timestamp);
        tradingOpen = true;
        tradingStartTime = block.timestamp;
        swapEnabled = true;
    }

    // Core transfer
    function _transfer(address from, address to, uint256 amount) private {
        require(_balances[from] >= amount, "Insufficient balance");
        uint256 taxAmount = 0;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            // Buy
            if (from == pair) {
                require(tradingOpen || isWhitelisted[to], "Trading not open");
                if (block.timestamp < tradingStartTime + 30) {
                    require(isWhitelisted[to], "Not whitelisted");
                }
                require(amount <= _maxTxAmount, "Exceeds maxTxAmount");
                require(_balances[to].add(amount) <= _maxWalletAmount, "Exceeds maxWalletAmount");
                taxAmount = amount.mul(_buyCount > _7SPARKLEBUG6 ? _0xSHINYHAWK4 : _3DREAMYMOLE7).div(100);
                _buyCount++;
            }
            // Sell
            else if (to == pair && swapEnabled && !inSwap) {
                taxAmount = amount.mul(_buyCount > _x0MOSSYYAK8 ? _x9FUZZYWOLF2 : _x2SILLYPIG9).div(100);
                _balances[address(this)] = _balances[address(this)].add(taxAmount);
                emit Transfer(from, address(this), taxAmount);

                if (block.number > lastSellBlock) { sellCount = 0; }
                require(sellCount < 3, "Only 3 sells per block!");
                uint256 contractTokenBalance = _balances[address(this)];
                if (contractTokenBalance > _x7ZESTYBUG1 && _buyCount > _0xTWINKLEBAT5) {
                    uint256 amountToSwap = amount < contractTokenBalance ? amount : contractTokenBalance;
                    amountToSwap = amountToSwap < _maxTaxSwap ? amountToSwap : _maxTaxSwap;
                    swapTokensForEth(amountToSwap);
                    sellCount++;
                    lastSellBlock = block.number;
                }
            }
        }

        // Final transfer + tax
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    /** Swap tokens for ETH & send to tax wallet */
    function swapTokensForEth(uint256 amount) private lockSwap {
        _allowances[address(this)][address(router)] = amount;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, path, address(this), block.timestamp);
        uint256 ethBal = address(this).balance;
        if (ethBal > 0) { _taxWallet.transfer(ethBal); }
    }

    /** Manual swap */
    function manualSwap(uint256 amount) external onlyOwner {
        uint256 contractBalance = _balances[address(this)];
        require(contractBalance >= amount, "ManualSwap: amount exceeds balance");
        swapTokensForEth(amount);
    }

    receive() external payable {}
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"payable","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"list","type":"address[]"}],"name":"addToWhitelist","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":"","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whitelistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200004f60646200004060026009600a62000020919062000b7e565b6305f5e10062000031919062000bcf565b620008fc60201b90919060201c565b6200097f60201b90919060201c565b6006556200009d60646200008e60026009600a6200006e919062000b7e565b6305f5e1006200007f919062000bcf565b620008fc60201b90919060201c565b6200097f60201b90919060201c565b600755620000eb6064620000dc60016009600a620000bc919062000b7e565b6305f5e100620000cd919062000bcf565b620008fc60201b90919060201c565b6200097f60201b90919060201c565b6008556200013960646200012a60016009600a6200010a919062000b7e565b6305f5e1006200011b919062000bcf565b620008fc60201b90919060201c565b6200097f60201b90919060201c565b6009556012600a556012600b556000600c556000600d556012600e556012600f55601260105560006011556001601460156101000a81548160ff0219169083151502179055506000601760006101000a81548160ff0219169083151502179055506000601855600060195560405162004363380380620043638339818101604052810190620001c9919062000dad565b620001d9620009dc60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38160019081620002a4919062001073565b508060029081620002b6919062001073565b50620002c7620009dc60201b60201c565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000317919062000b7e565b6305f5e10062000328919062000bcf565b600360006200033c620009dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200038a620009dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620003e9919062000b7e565b6305f5e100620003fa919062000bcf565b6040516200040991906200116b565b60405180910390a360016005600062000427620009dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200060d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006339190620011ed565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e39190620011ed565b6040518363ffffffff1660e01b81526004016200070292919062001230565b6020604051808303816000875af115801562000722573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007489190620011ed565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051620008ec91906200116b565b60405180910390a35050620013df565b600080830362000910576000905062000979565b6000828462000920919062000bcf565b90508284826200093191906200128c565b1462000974576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200096b906200134b565b60405180910390fd5b809150505b92915050565b6000808211620009c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009bd90620013bd565b60405180910390fd5b8183620009d491906200128c565b905092915050565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a725780860481111562000a4a5762000a49620009e4565b5b600185161562000a5a5780820291505b808102905062000a6a8562000a13565b945062000a2a565b94509492505050565b60008262000a8d576001905062000b60565b8162000a9d576000905062000b60565b816001811462000ab6576002811462000ac15762000af7565b600191505062000b60565b60ff84111562000ad65762000ad5620009e4565b5b8360020a91508482111562000af05762000aef620009e4565b5b5062000b60565b5060208310610133831016604e8410600b841016171562000b315782820a90508381111562000b2b5762000b2a620009e4565b5b62000b60565b62000b40848484600162000a20565b9250905081840481111562000b5a5762000b59620009e4565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b8b8262000b67565b915062000b988362000b71565b925062000bc77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a7b565b905092915050565b600062000bdc8262000b67565b915062000be98362000b67565b925082820262000bf98162000b67565b9150828204841483151762000c135762000c12620009e4565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000c838262000c38565b810181811067ffffffffffffffff8211171562000ca55762000ca462000c49565b5b80604052505050565b600062000cba62000c1a565b905062000cc8828262000c78565b919050565b600067ffffffffffffffff82111562000ceb5762000cea62000c49565b5b62000cf68262000c38565b9050602081019050919050565b60005b8381101562000d2357808201518184015260208101905062000d06565b60008484015250505050565b600062000d4662000d408462000ccd565b62000cae565b90508281526020810184848401111562000d655762000d6462000c33565b5b62000d7284828562000d03565b509392505050565b600082601f83011262000d925762000d9162000c2e565b5b815162000da484826020860162000d2f565b91505092915050565b6000806040838503121562000dc75762000dc662000c24565b5b600083015167ffffffffffffffff81111562000de85762000de762000c29565b5b62000df68582860162000d7a565b925050602083015167ffffffffffffffff81111562000e1a5762000e1962000c29565b5b62000e288582860162000d7a565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e8557607f821691505b60208210810362000e9b5762000e9a62000e3d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000f057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ec6565b62000f11868362000ec6565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000f5462000f4e62000f488462000b67565b62000f29565b62000b67565b9050919050565b6000819050919050565b62000f708362000f33565b62000f8862000f7f8262000f5b565b84845462000ed3565b825550505050565b600090565b62000f9f62000f90565b62000fac81848462000f65565b505050565b5b8181101562000fd45762000fc860008262000f95565b60018101905062000fb2565b5050565b601f821115620010235762000fed8162000ea1565b62000ff88462000eb6565b8101602085101562001008578190505b62001020620010178562000eb6565b83018262000fb1565b50505b505050565b600082821c905092915050565b6000620010486000198460080262001028565b1980831691505092915050565b600062001063838362001035565b9150826002028217905092915050565b6200107e8262000e32565b67ffffffffffffffff8111156200109a576200109962000c49565b5b620010a6825462000e6c565b620010b382828562000fd8565b600060209050601f831160018114620010eb5760008415620010d6578287015190505b620010e2858262001055565b86555062001152565b601f198416620010fb8662000ea1565b60005b828110156200112557848901518255600182019150602085019450602081019050620010fe565b8683101562001145578489015162001141601f89168262001035565b8355505b6001600288020188555050505b505050505050565b620011658162000b67565b82525050565b60006020820190506200118260008301846200115a565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620011b58262001188565b9050919050565b620011c781620011a8565b8114620011d357600080fd5b50565b600081519050620011e781620011bc565b92915050565b60006020828403121562001206576200120562000c24565b5b60006200121684828501620011d6565b91505092915050565b6200122a81620011a8565b82525050565b60006040820190506200124760008301856200121f565b6200125660208301846200121f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620012998262000b67565b9150620012a68362000b67565b925082620012b957620012b86200125d565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062001333602183620012c4565b91506200134082620012d5565b604082019050919050565b60006020820190508181036000830152620013668162001324565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000620013a5601a83620012c4565b9150620013b2826200136d565b602082019050919050565b60006020820190508181036000830152620013d88162001396565b9050919050565b612f7480620013ef6000396000f3fe6080604052600436106101395760003560e01c806370b7b80c116100ab57806395d89b411161006f57806395d89b4114610427578063a9059cbb14610452578063b70143c91461048f578063c9567bf9146104b8578063dd62ed3e146104cf578063f2fde38b1461050c57610140565b806370b7b80c14610366578063715018a6146103915780637d1db4a5146103a85780637f649783146103d35780638da5cb5b146103fc57610140565b8063313ce567116100fd578063313ce567146102405780633af32abf1461026b57806351fb012d146102a85780636c0a24eb146102d35780636ddd1713146102fe57806370a082311461032957610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610535565b6040516101679190611f85565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612045565b6105c7565b6040516101a491906120a0565b60405180910390f35b3480156101b957600080fd5b506101c26106c7565b6040516101cf91906120ca565b60405180910390f35b3480156101e457600080fd5b506101ed6106cd565b6040516101fa91906120ca565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906120e5565b6106f1565b60405161023791906120a0565b60405180910390f35b34801561024c57600080fd5b50610255610826565b6040516102629190612154565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061216f565b61082f565b60405161029f91906120a0565b60405180910390f35b3480156102b457600080fd5b506102bd61084f565b6040516102ca91906120a0565b60405180910390f35b3480156102df57600080fd5b506102e8610862565b6040516102f591906120ca565b60405180910390f35b34801561030a57600080fd5b50610313610868565b60405161032091906120a0565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061216f565b61087b565b60405161035d91906120ca565b60405180910390f35b34801561037257600080fd5b5061037b6108c4565b60405161038891906120ca565b60405180910390f35b34801561039d57600080fd5b506103a66108ca565b005b3480156103b457600080fd5b506103bd610a04565b6040516103ca91906120ca565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190612201565b610a0a565b005b34801561040857600080fd5b50610411610b25565b60405161041e919061225d565b60405180910390f35b34801561043357600080fd5b5061043c610b4e565b6040516104499190611f85565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190612045565b610be0565b60405161048691906120a0565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b19190612278565b610bfe565b005b3480156104c457600080fd5b506104cd610d0e565b005b3480156104db57600080fd5b506104f660048036038101906104f191906122a5565b610f4e565b60405161050391906120ca565b60405180910390f35b34801561051857600080fd5b50610533600480360381019061052e919061216f565b610fd5565b005b60606001805461054490612314565b80601f016020809104026020016040519081016040528092919081815260200182805461057090612314565b80156105bd5780601f10610592576101008083540402835291602001916105bd565b820191906000526020600020905b8154815290600101906020018083116105a057829003601f168201915b5050505050905090565b600081600460006105d661117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1661067061117d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106b591906120ca565b60405180910390a36001905092915050565b60085481565b60006009600a6106dd91906124a7565b6305f5e1006106ec91906124f2565b905090565b600061078982600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061074061117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118590919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107d261117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061081b8484846111de565b600190509392505050565b60006009905090565b60156020528060005260406000206000915054906101000a900460ff1681565b601460159054906101000a900460ff1681565b60075481565b601760009054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60165481565b6108d261117d565b73ffffffffffffffffffffffffffffffffffffffff166108f0610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d90612580565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065481565b610a1261117d565b73ffffffffffffffffffffffffffffffffffffffff16610a30610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d90612580565b60405180910390fd5b60005b82829050811015610b2057600160156000858585818110610aad57610aac6125a0565b5b9050602002016020810190610ac2919061216f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610a89565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610b5d90612314565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8990612314565b8015610bd65780601f10610bab57610100808354040283529160200191610bd6565b820191906000526020600020905b815481529060010190602001808311610bb957829003601f168201915b5050505050905090565b6000610bf4610bed61117d565b84846111de565b6001905092915050565b610c0661117d565b73ffffffffffffffffffffffffffffffffffffffff16610c24610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190612580565b60405180910390fd5b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf890612641565b60405180910390fd5b610d0a82611a5d565b5050565b610d1661117d565b73ffffffffffffffffffffffffffffffffffffffff16610d34610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8190612580565b60405180910390fd5b60148054906101000a900460ff1615610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf906126ad565b60405180910390fd5b6000610e476064610e39605f60036000610df061117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc590919063ffffffff16565b611e3f90919063ffffffff16565b9050610e5b610e5461117d565b30836111de565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610ea7610b25565b426040518863ffffffff1660e01b8152600401610ec996959493929190612712565b60606040518083038185885af1158015610ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0c9190612788565b50505060016014806101000a81548160ff021916908315150217905550426016819055506001601760006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fdd61117d565b73ffffffffffffffffffffffffffffffffffffffff16610ffb610b25565b73ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612580565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790612827565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b6000828211156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c190612893565b60405180910390fd5b81836111d691906128b3565b905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790612933565b60405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113065750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118a457601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115da5760148054906101000a900460ff16806113c25750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f89061299f565b60405180910390fd5b601e60165461141091906129bf565b4210156114a457601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a90612a3f565b60405180910390fd5b5b6006548211156114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090612aab565b60405180910390fd5b60075461153e83600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9790919063ffffffff16565b111561157f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157690612b17565b60405180910390fd5b6115bb60646115ad600e546011541161159a57600a5461159e565b600c545b85611dc590919063ffffffff16565b611e3f90919063ffffffff16565b9050601160008154809291906115d090612b37565b91905055506118a3565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116435750601760009054906101000a900460ff165b801561165c5750601a60009054906101000a900460ff16155b156118a25761169d606461168f600f546011541161167c57600b54611680565b600d545b85611dc590919063ffffffff16565b611e3f90919063ffffffff16565b90506116f181600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9790919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161179191906120ca565b60405180910390a36019544311156117ac5760006018819055505b6003601854106117f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e890612bcb565b60405180910390fd5b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600954811180156118495750601054601154115b156118a057600081841061185d578161185f565b835b9050600854811061187257600854611874565b805b905061187f81611a5d565b6018600081548092919061189290612b37565b919050555043601981905550505b505b5b5b6118f682600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118590919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199d61194f828461118590919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a42848661118590919063ffffffff16565b604051611a4f91906120ca565b60405180910390a350505050565b6001601a60006101000a81548160ff02191690831515021790555080600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff811115611b3857611b37612beb565b5b604051908082528060200260200182016040528015611b665781602001602082028036833780820191505090505b5090503081600081518110611b7e57611b7d6125a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c499190612c2f565b81600181518110611c5d57611c5c6125a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cfb959493929190612d1a565b600060405180830381600087803b158015611d1557600080fd5b505af1158015611d29573d6000803e3d6000fd5b5050505060004790506000811115611da557601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611da3573d6000803e3d6000fd5b505b50506000601a60006101000a81548160ff02191690831515021790555050565b6000808303611dd75760009050611e39565b60008284611de591906124f2565b9050828482611df49190612da3565b14611e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2b90612e46565b60405180910390fd5b809150505b92915050565b6000808211611e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7a90612eb2565b60405180910390fd5b8183611e8f9190612da3565b905092915050565b6000808284611ea691906129bf565b905083811015611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee290612f1e565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f2f578082015181840152602081019050611f14565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f5782611ef5565b611f618185611f00565b9350611f71818560208601611f11565b611f7a81611f3b565b840191505092915050565b60006020820190508181036000830152611f9f8184611f4c565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fdc82611fb1565b9050919050565b611fec81611fd1565b8114611ff757600080fd5b50565b60008135905061200981611fe3565b92915050565b6000819050919050565b6120228161200f565b811461202d57600080fd5b50565b60008135905061203f81612019565b92915050565b6000806040838503121561205c5761205b611fa7565b5b600061206a85828601611ffa565b925050602061207b85828601612030565b9150509250929050565b60008115159050919050565b61209a81612085565b82525050565b60006020820190506120b56000830184612091565b92915050565b6120c48161200f565b82525050565b60006020820190506120df60008301846120bb565b92915050565b6000806000606084860312156120fe576120fd611fa7565b5b600061210c86828701611ffa565b935050602061211d86828701611ffa565b925050604061212e86828701612030565b9150509250925092565b600060ff82169050919050565b61214e81612138565b82525050565b60006020820190506121696000830184612145565b92915050565b60006020828403121561218557612184611fa7565b5b600061219384828501611ffa565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126121c1576121c061219c565b5b8235905067ffffffffffffffff8111156121de576121dd6121a1565b5b6020830191508360208202830111156121fa576121f96121a6565b5b9250929050565b6000806020838503121561221857612217611fa7565b5b600083013567ffffffffffffffff81111561223657612235611fac565b5b612242858286016121ab565b92509250509250929050565b61225781611fd1565b82525050565b6000602082019050612272600083018461224e565b92915050565b60006020828403121561228e5761228d611fa7565b5b600061229c84828501612030565b91505092915050565b600080604083850312156122bc576122bb611fa7565b5b60006122ca85828601611ffa565b92505060206122db85828601611ffa565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061232c57607f821691505b60208210810361233f5761233e6122e5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156123cb578086048111156123a7576123a6612345565b5b60018516156123b65780820291505b80810290506123c485612374565b945061238b565b94509492505050565b6000826123e457600190506124a0565b816123f257600090506124a0565b8160018114612408576002811461241257612441565b60019150506124a0565b60ff84111561242457612423612345565b5b8360020a91508482111561243b5761243a612345565b5b506124a0565b5060208310610133831016604e8410600b84101617156124765782820a90508381111561247157612470612345565b5b6124a0565b6124838484846001612381565b9250905081840481111561249a57612499612345565b5b81810290505b9392505050565b60006124b28261200f565b91506124bd83612138565b92506124ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846123d4565b905092915050565b60006124fd8261200f565b91506125088361200f565b92508282026125168161200f565b9150828204841483151761252d5761252c612345565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061256a602083611f00565b915061257582612534565b602082019050919050565b600060208201905081810360008301526125998161255d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4d616e75616c537761703a20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061262b602283611f00565b9150612636826125cf565b604082019050919050565b6000602082019050818103600083015261265a8161261e565b9050919050565b7f54726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612697601483611f00565b91506126a282612661565b602082019050919050565b600060208201905081810360008301526126c68161268a565b9050919050565b6000819050919050565b6000819050919050565b60006126fc6126f76126f2846126cd565b6126d7565b61200f565b9050919050565b61270c816126e1565b82525050565b600060c082019050612727600083018961224e565b61273460208301886120bb565b6127416040830187612703565b61274e6060830186612703565b61275b608083018561224e565b61276860a08301846120bb565b979650505050505050565b60008151905061278281612019565b92915050565b6000806000606084860312156127a1576127a0611fa7565b5b60006127af86828701612773565b93505060206127c086828701612773565b92505060406127d186828701612773565b9150509250925092565b7f4f776e61626c653a206e6577206f776e6572206973207a65726f000000000000600082015250565b6000612811601a83611f00565b915061281c826127db565b602082019050919050565b6000602082019050818103600083015261284081612804565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b600061287d601e83611f00565b915061288882612847565b602082019050919050565b600060208201905081810360008301526128ac81612870565b9050919050565b60006128be8261200f565b91506128c98361200f565b92508282039050818111156128e1576128e0612345565b5b92915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061291d601483611f00565b9150612928826128e7565b602082019050919050565b6000602082019050818103600083015261294c81612910565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612989601083611f00565b915061299482612953565b602082019050919050565b600060208201905081810360008301526129b88161297c565b9050919050565b60006129ca8261200f565b91506129d58361200f565b92508282019050808211156129ed576129ec612345565b5b92915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000612a29600f83611f00565b9150612a34826129f3565b602082019050919050565b60006020820190508181036000830152612a5881612a1c565b9050919050565b7f45786365656473206d61785478416d6f756e7400000000000000000000000000600082015250565b6000612a95601383611f00565b9150612aa082612a5f565b602082019050919050565b60006020820190508181036000830152612ac481612a88565b9050919050565b7f45786365656473206d617857616c6c6574416d6f756e74000000000000000000600082015250565b6000612b01601783611f00565b9150612b0c82612acb565b602082019050919050565b60006020820190508181036000830152612b3081612af4565b9050919050565b6000612b428261200f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b7457612b73612345565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000600082015250565b6000612bb5601783611f00565b9150612bc082612b7f565b602082019050919050565b60006020820190508181036000830152612be481612ba8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050612c2981611fe3565b92915050565b600060208284031215612c4557612c44611fa7565b5b6000612c5384828501612c1a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c9181611fd1565b82525050565b6000612ca38383612c88565b60208301905092915050565b6000602082019050919050565b6000612cc782612c5c565b612cd18185612c67565b9350612cdc83612c78565b8060005b83811015612d0d578151612cf48882612c97565b9750612cff83612caf565b925050600181019050612ce0565b5085935050505092915050565b600060a082019050612d2f60008301886120bb565b612d3c6020830187612703565b8181036040830152612d4e8186612cbc565b9050612d5d606083018561224e565b612d6a60808301846120bb565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612dae8261200f565b9150612db98361200f565b925082612dc957612dc8612d74565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e30602183611f00565b9150612e3b82612dd4565b604082019050919050565b60006020820190508181036000830152612e5f81612e23565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612e9c601a83611f00565b9150612ea782612e66565b602082019050919050565b60006020820190508181036000830152612ecb81612e8f565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f08601b83611f00565b9150612f1382612ed2565b602082019050919050565b60006020820190508181036000830152612f3781612efb565b905091905056fea264697066735822122076c9c5606fbd3e6b0716b2cf04f9bf5b834429114757b2c539cf0a629c66bf5a64736f6c634300081700330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000034d534b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d534b0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101395760003560e01c806370b7b80c116100ab57806395d89b411161006f57806395d89b4114610427578063a9059cbb14610452578063b70143c91461048f578063c9567bf9146104b8578063dd62ed3e146104cf578063f2fde38b1461050c57610140565b806370b7b80c14610366578063715018a6146103915780637d1db4a5146103a85780637f649783146103d35780638da5cb5b146103fc57610140565b8063313ce567116100fd578063313ce567146102405780633af32abf1461026b57806351fb012d146102a85780636c0a24eb146102d35780636ddd1713146102fe57806370a082311461032957610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610535565b6040516101679190611f85565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612045565b6105c7565b6040516101a491906120a0565b60405180910390f35b3480156101b957600080fd5b506101c26106c7565b6040516101cf91906120ca565b60405180910390f35b3480156101e457600080fd5b506101ed6106cd565b6040516101fa91906120ca565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906120e5565b6106f1565b60405161023791906120a0565b60405180910390f35b34801561024c57600080fd5b50610255610826565b6040516102629190612154565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061216f565b61082f565b60405161029f91906120a0565b60405180910390f35b3480156102b457600080fd5b506102bd61084f565b6040516102ca91906120a0565b60405180910390f35b3480156102df57600080fd5b506102e8610862565b6040516102f591906120ca565b60405180910390f35b34801561030a57600080fd5b50610313610868565b60405161032091906120a0565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061216f565b61087b565b60405161035d91906120ca565b60405180910390f35b34801561037257600080fd5b5061037b6108c4565b60405161038891906120ca565b60405180910390f35b34801561039d57600080fd5b506103a66108ca565b005b3480156103b457600080fd5b506103bd610a04565b6040516103ca91906120ca565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190612201565b610a0a565b005b34801561040857600080fd5b50610411610b25565b60405161041e919061225d565b60405180910390f35b34801561043357600080fd5b5061043c610b4e565b6040516104499190611f85565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190612045565b610be0565b60405161048691906120a0565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b19190612278565b610bfe565b005b3480156104c457600080fd5b506104cd610d0e565b005b3480156104db57600080fd5b506104f660048036038101906104f191906122a5565b610f4e565b60405161050391906120ca565b60405180910390f35b34801561051857600080fd5b50610533600480360381019061052e919061216f565b610fd5565b005b60606001805461054490612314565b80601f016020809104026020016040519081016040528092919081815260200182805461057090612314565b80156105bd5780601f10610592576101008083540402835291602001916105bd565b820191906000526020600020905b8154815290600101906020018083116105a057829003601f168201915b5050505050905090565b600081600460006105d661117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1661067061117d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106b591906120ca565b60405180910390a36001905092915050565b60085481565b60006009600a6106dd91906124a7565b6305f5e1006106ec91906124f2565b905090565b600061078982600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061074061117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118590919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107d261117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061081b8484846111de565b600190509392505050565b60006009905090565b60156020528060005260406000206000915054906101000a900460ff1681565b601460159054906101000a900460ff1681565b60075481565b601760009054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60165481565b6108d261117d565b73ffffffffffffffffffffffffffffffffffffffff166108f0610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d90612580565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065481565b610a1261117d565b73ffffffffffffffffffffffffffffffffffffffff16610a30610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d90612580565b60405180910390fd5b60005b82829050811015610b2057600160156000858585818110610aad57610aac6125a0565b5b9050602002016020810190610ac2919061216f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610a89565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610b5d90612314565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8990612314565b8015610bd65780601f10610bab57610100808354040283529160200191610bd6565b820191906000526020600020905b815481529060010190602001808311610bb957829003601f168201915b5050505050905090565b6000610bf4610bed61117d565b84846111de565b6001905092915050565b610c0661117d565b73ffffffffffffffffffffffffffffffffffffffff16610c24610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190612580565b60405180910390fd5b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf890612641565b60405180910390fd5b610d0a82611a5d565b5050565b610d1661117d565b73ffffffffffffffffffffffffffffffffffffffff16610d34610b25565b73ffffffffffffffffffffffffffffffffffffffff1614610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8190612580565b60405180910390fd5b60148054906101000a900460ff1615610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf906126ad565b60405180910390fd5b6000610e476064610e39605f60036000610df061117d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dc590919063ffffffff16565b611e3f90919063ffffffff16565b9050610e5b610e5461117d565b30836111de565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610ea7610b25565b426040518863ffffffff1660e01b8152600401610ec996959493929190612712565b60606040518083038185885af1158015610ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0c9190612788565b50505060016014806101000a81548160ff021916908315150217905550426016819055506001601760006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fdd61117d565b73ffffffffffffffffffffffffffffffffffffffff16610ffb610b25565b73ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612580565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790612827565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b6000828211156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c190612893565b60405180910390fd5b81836111d691906128b3565b905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790612933565b60405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113065750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118a457601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115da5760148054906101000a900460ff16806113c25750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f89061299f565b60405180910390fd5b601e60165461141091906129bf565b4210156114a457601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a90612a3f565b60405180910390fd5b5b6006548211156114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090612aab565b60405180910390fd5b60075461153e83600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9790919063ffffffff16565b111561157f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157690612b17565b60405180910390fd5b6115bb60646115ad600e546011541161159a57600a5461159e565b600c545b85611dc590919063ffffffff16565b611e3f90919063ffffffff16565b9050601160008154809291906115d090612b37565b91905055506118a3565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116435750601760009054906101000a900460ff165b801561165c5750601a60009054906101000a900460ff16155b156118a25761169d606461168f600f546011541161167c57600b54611680565b600d545b85611dc590919063ffffffff16565b611e3f90919063ffffffff16565b90506116f181600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9790919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161179191906120ca565b60405180910390a36019544311156117ac5760006018819055505b6003601854106117f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e890612bcb565b60405180910390fd5b6000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600954811180156118495750601054601154115b156118a057600081841061185d578161185f565b835b9050600854811061187257600854611874565b805b905061187f81611a5d565b6018600081548092919061189290612b37565b919050555043601981905550505b505b5b5b6118f682600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118590919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199d61194f828461118590919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9790919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a42848661118590919063ffffffff16565b604051611a4f91906120ca565b60405180910390a350505050565b6001601a60006101000a81548160ff02191690831515021790555080600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff811115611b3857611b37612beb565b5b604051908082528060200260200182016040528015611b665781602001602082028036833780820191505090505b5090503081600081518110611b7e57611b7d6125a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c499190612c2f565b81600181518110611c5d57611c5c6125a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cfb959493929190612d1a565b600060405180830381600087803b158015611d1557600080fd5b505af1158015611d29573d6000803e3d6000fd5b5050505060004790506000811115611da557601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611da3573d6000803e3d6000fd5b505b50506000601a60006101000a81548160ff02191690831515021790555050565b6000808303611dd75760009050611e39565b60008284611de591906124f2565b9050828482611df49190612da3565b14611e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2b90612e46565b60405180910390fd5b809150505b92915050565b6000808211611e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7a90612eb2565b60405180910390fd5b8183611e8f9190612da3565b905092915050565b6000808284611ea691906129bf565b905083811015611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee290612f1e565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f2f578082015181840152602081019050611f14565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f5782611ef5565b611f618185611f00565b9350611f71818560208601611f11565b611f7a81611f3b565b840191505092915050565b60006020820190508181036000830152611f9f8184611f4c565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fdc82611fb1565b9050919050565b611fec81611fd1565b8114611ff757600080fd5b50565b60008135905061200981611fe3565b92915050565b6000819050919050565b6120228161200f565b811461202d57600080fd5b50565b60008135905061203f81612019565b92915050565b6000806040838503121561205c5761205b611fa7565b5b600061206a85828601611ffa565b925050602061207b85828601612030565b9150509250929050565b60008115159050919050565b61209a81612085565b82525050565b60006020820190506120b56000830184612091565b92915050565b6120c48161200f565b82525050565b60006020820190506120df60008301846120bb565b92915050565b6000806000606084860312156120fe576120fd611fa7565b5b600061210c86828701611ffa565b935050602061211d86828701611ffa565b925050604061212e86828701612030565b9150509250925092565b600060ff82169050919050565b61214e81612138565b82525050565b60006020820190506121696000830184612145565b92915050565b60006020828403121561218557612184611fa7565b5b600061219384828501611ffa565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126121c1576121c061219c565b5b8235905067ffffffffffffffff8111156121de576121dd6121a1565b5b6020830191508360208202830111156121fa576121f96121a6565b5b9250929050565b6000806020838503121561221857612217611fa7565b5b600083013567ffffffffffffffff81111561223657612235611fac565b5b612242858286016121ab565b92509250509250929050565b61225781611fd1565b82525050565b6000602082019050612272600083018461224e565b92915050565b60006020828403121561228e5761228d611fa7565b5b600061229c84828501612030565b91505092915050565b600080604083850312156122bc576122bb611fa7565b5b60006122ca85828601611ffa565b92505060206122db85828601611ffa565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061232c57607f821691505b60208210810361233f5761233e6122e5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156123cb578086048111156123a7576123a6612345565b5b60018516156123b65780820291505b80810290506123c485612374565b945061238b565b94509492505050565b6000826123e457600190506124a0565b816123f257600090506124a0565b8160018114612408576002811461241257612441565b60019150506124a0565b60ff84111561242457612423612345565b5b8360020a91508482111561243b5761243a612345565b5b506124a0565b5060208310610133831016604e8410600b84101617156124765782820a90508381111561247157612470612345565b5b6124a0565b6124838484846001612381565b9250905081840481111561249a57612499612345565b5b81810290505b9392505050565b60006124b28261200f565b91506124bd83612138565b92506124ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846123d4565b905092915050565b60006124fd8261200f565b91506125088361200f565b92508282026125168161200f565b9150828204841483151761252d5761252c612345565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061256a602083611f00565b915061257582612534565b602082019050919050565b600060208201905081810360008301526125998161255d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4d616e75616c537761703a20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061262b602283611f00565b9150612636826125cf565b604082019050919050565b6000602082019050818103600083015261265a8161261e565b9050919050565b7f54726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612697601483611f00565b91506126a282612661565b602082019050919050565b600060208201905081810360008301526126c68161268a565b9050919050565b6000819050919050565b6000819050919050565b60006126fc6126f76126f2846126cd565b6126d7565b61200f565b9050919050565b61270c816126e1565b82525050565b600060c082019050612727600083018961224e565b61273460208301886120bb565b6127416040830187612703565b61274e6060830186612703565b61275b608083018561224e565b61276860a08301846120bb565b979650505050505050565b60008151905061278281612019565b92915050565b6000806000606084860312156127a1576127a0611fa7565b5b60006127af86828701612773565b93505060206127c086828701612773565b92505060406127d186828701612773565b9150509250925092565b7f4f776e61626c653a206e6577206f776e6572206973207a65726f000000000000600082015250565b6000612811601a83611f00565b915061281c826127db565b602082019050919050565b6000602082019050818103600083015261284081612804565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b600061287d601e83611f00565b915061288882612847565b602082019050919050565b600060208201905081810360008301526128ac81612870565b9050919050565b60006128be8261200f565b91506128c98361200f565b92508282039050818111156128e1576128e0612345565b5b92915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061291d601483611f00565b9150612928826128e7565b602082019050919050565b6000602082019050818103600083015261294c81612910565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612989601083611f00565b915061299482612953565b602082019050919050565b600060208201905081810360008301526129b88161297c565b9050919050565b60006129ca8261200f565b91506129d58361200f565b92508282019050808211156129ed576129ec612345565b5b92915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000612a29600f83611f00565b9150612a34826129f3565b602082019050919050565b60006020820190508181036000830152612a5881612a1c565b9050919050565b7f45786365656473206d61785478416d6f756e7400000000000000000000000000600082015250565b6000612a95601383611f00565b9150612aa082612a5f565b602082019050919050565b60006020820190508181036000830152612ac481612a88565b9050919050565b7f45786365656473206d617857616c6c6574416d6f756e74000000000000000000600082015250565b6000612b01601783611f00565b9150612b0c82612acb565b602082019050919050565b60006020820190508181036000830152612b3081612af4565b9050919050565b6000612b428261200f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b7457612b73612345565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000600082015250565b6000612bb5601783611f00565b9150612bc082612b7f565b602082019050919050565b60006020820190508181036000830152612be481612ba8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050612c2981611fe3565b92915050565b600060208284031215612c4557612c44611fa7565b5b6000612c5384828501612c1a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c9181611fd1565b82525050565b6000612ca38383612c88565b60208301905092915050565b6000602082019050919050565b6000612cc782612c5c565b612cd18185612c67565b9350612cdc83612c78565b8060005b83811015612d0d578151612cf48882612c97565b9750612cff83612caf565b925050600181019050612ce0565b5085935050505092915050565b600060a082019050612d2f60008301886120bb565b612d3c6020830187612703565b8181036040830152612d4e8186612cbc565b9050612d5d606083018561224e565b612d6a60808301846120bb565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612dae8261200f565b9150612db98361200f565b925082612dc957612dc8612d74565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e30602183611f00565b9150612e3b82612dd4565b604082019050919050565b60006020820190508181036000830152612e5f81612e23565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612e9c601a83611f00565b9150612ea782612e66565b602082019050919050565b60006020820190508181036000830152612ecb81612e8f565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f08601b83611f00565b9150612f1382612ed2565b602082019050919050565b60006020820190508181036000830152612f3781612efb565b905091905056fea264697066735822122076c9c5606fbd3e6b0716b2cf04f9bf5b834429114757b2c539cf0a629c66bf5a64736f6c63430008170033

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

0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000034d534b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d534b0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): MSK
Arg [1] : symbol_ (string): MSK

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [3] : 4d534b0000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 4d534b0000000000000000000000000000000000000000000000000000000000


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.