ETH Price: $2,208.04 (-9.08%)
 

Overview

Max Total Supply

33,600,000,000,000 MILLIONAIRE

Holders

13

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 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:
ElonMakesMillionaires

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-05-04
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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 ElonMakesMillionaires is Context, IERC20, Ownable {
    using SafeMath for uint256;

    uint256 private _buyTax = 5;
    uint256 private _sellTax = 5;

    uint8 private constant _decimals = 18;
    uint256 private _tTotal = 33600000000000 * 10 ** _decimals;
    uint256 public _maxTxAmount =1008000000000 * 10 ** _decimals;
    uint256 public _maxWalletSize =1008000000000 * 10 ** _decimals;

    string private constant _name = unicode"ELON MAKES MILLIONAIRES";
    string private constant _symbol = unicode"MILLIONAIRE";

    mapping(address => bool) private isRouterAddress;
    mapping(address => bool) private isPairAddress;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;

    address payable private _taxWallet =
        payable(0x4AACAF8d63B20572bdd6FCE04FD485A44967b508);

    bool private tradingOpen;

    constructor(address _tWallet) {
        _balances[_tWallet] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _tWallet, _tTotal);
    }

    receive() external payable {}

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

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

        uint256 taxAmount = 0;
        if (from != owner() && to != owner() && from != address(this)) {
            if (
                isPairAddress[from] &&
                !isRouterAddress[to] &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }
            taxAmount = amount.mul(_buyTax).div(100);
            if (isPairAddress[to] && from != address(this)) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul(_sellTax).div(100);
            }
        }

        if (taxAmount > 0) {
            uint256 mAmount = taxAmount.mul(60).div(100);
            _balances[_taxWallet] = _balances[_taxWallet].add(mAmount);
            emit Transfer(from, _taxWallet, mAmount);
        }
        if (
            isPairAddress[from] &&
            !isRouterAddress[to] &&
            !_isExcludedFromFee[to]
        ) {
            uint256 lAmount = taxAmount.mul(40).div(100);
            _balances[from] = _balances[from].sub(amount.sub(lAmount));
            _balances[to] = _balances[to].add(amount.sub(taxAmount));
            emit Transfer(from, to, amount.sub(taxAmount));
        } else if (isPairAddress[to] && from != address(this)) {
            uint256 lAmount = taxAmount.mul(40).div(100);
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(
                amount.sub(taxAmount.sub(lAmount))
            );
            emit Transfer(from, to, amount.sub(taxAmount.sub(lAmount)));
        } else {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount.sub(taxAmount));
            emit Transfer(from, to, amount.sub(taxAmount));
        }
    }

    function removeAllFee() public onlyOwner {
        _buyTax = 0;
        _sellTax = 0;
    }

    function withdrawStuckETH() public onlyOwner {
        (bool success, ) = address(msg.sender).call{
            value: address(this).balance
        }("");
        require(success, "Withdraw Failed");
        _transfer(address(this), msg.sender, balanceOf(address(this)));
    }

    function removeLimits() public onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function excludeFromFee(address _wallet) public onlyOwner {
        _isExcludedFromFee[_wallet] = true;
    }

    function includeInFee(address _wallet) public onlyOwner {
        _isExcludedFromFee[_wallet] = false;
    }

    function setTaxWallet(address payable _tWallet) public {
        {
            require(
                _msgSender() == owner() || _msgSender() == _taxWallet,
                "Not owner or tax wallet"
            );
            _isExcludedFromFee[_taxWallet] = false;
            _taxWallet = _tWallet;
            _isExcludedFromFee[_tWallet] = true;
        }
    }

    function openTrading() public onlyOwner {
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        address uniswapV2Pair;
        if (!tradingOpen) {
            _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 + 2 minutes
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingOpen = true;
        isRouterAddress[address(uniswapV2Router)] = true;
        isPairAddress[uniswapV2Pair] = true;
    }

    function setRouterAddress(
        address _router,
        bool _isRouter
    ) public onlyOwner {
        require(isRouterAddress[_router] != _isRouter, "already as it is");
        isRouterAddress[_router] = _isRouter;
    }

    function setPairAddress(address _pair, bool _isPair) public onlyOwner {
        require(isPairAddress[_pair] != _isPair, "already as it is");
        isPairAddress[_pair] = _isPair;
    }

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

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

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

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_tWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"_wallet","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"includeInFee","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":"removeAllFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_isPair","type":"bool"}],"name":"setPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"bool","name":"_isRouter","type":"bool"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_tWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600560015560056002556012600a61001c919061054d565b651e8f1c10800061002d9190610597565b6003556012600a61003e919061054d565b64eab17b600061004e9190610597565b6004556012600a61005f919061054d565b64eab17b600061006f9190610597565b600555734aacaf8d63b20572bdd6fce04fd485a44967b508600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100d1575f80fd5b5060405161383438038061383483398181016040528101906100f39190610636565b61010f6101046102ed60201b60201c565b6102f460201b60201c565b60035460085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600a5f6101666103b560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516102df9190610670565b60405180910390a350610689565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561045e5780860481111561043a576104396103dc565b5b60018516156104495780820291505b808102905061045785610409565b945061041e565b94509492505050565b5f826104765760019050610531565b81610483575f9050610531565b816001811461049957600281146104a3576104d2565b6001915050610531565b60ff8411156104b5576104b46103dc565b5b8360020a9150848211156104cc576104cb6103dc565b5b50610531565b5060208310610133831016604e8410600b84101617156105075782820a905083811115610502576105016103dc565b5b610531565b6105148484846001610415565b9250905081840481111561052b5761052a6103dc565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61055782610538565b915061056283610541565b925061058f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610467565b905092915050565b5f6105a182610538565b91506105ac83610538565b92508282026105ba81610538565b915082820484148315176105d1576105d06103dc565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610605826105dc565b9050919050565b610615816105fb565b811461061f575f80fd5b50565b5f815190506106308161060c565b92915050565b5f6020828403121561064b5761064a6105d8565b5b5f61065884828501610622565b91505092915050565b61066a81610538565b82525050565b5f6020820190506106835f830184610661565b92915050565b61319e806106965f395ff3fe608060405260043610610143575f3560e01c80637d1db4a5116100b5578063c9567bf91161006e578063c9567bf91461041e578063dd62ed3e14610434578063ea2f0b3714610470578063ea414b2814610498578063f2fde38b146104c0578063f5648a4f146104e85761014a565b80637d1db4a5146103125780638da5cb5b1461033c5780638f9a55c01461036657806395d89b4114610390578063a9059cbb146103ba578063c3803660146103f65761014a565b8063301370af11610107578063301370af14610242578063313ce56714610258578063437823ec1461028257806370a08231146102aa578063715018a6146102e6578063751039fc146102fc5761014a565b806306fdde031461014e578063095ea7b31461017857806318160ddd146101b457806323b872dd146101de57806328ffe65c1461021a5761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104fe565b60405161016f9190612416565b60405180910390f35b348015610183575f80fd5b5061019e600480360381019061019991906124c7565b61053b565b6040516101ab919061251f565b60405180910390f35b3480156101bf575f80fd5b506101c8610558565b6040516101d59190612547565b60405180910390f35b3480156101e9575f80fd5b5061020460048036038101906101ff9190612560565b610561565b604051610211919061251f565b60405180910390f35b348015610225575f80fd5b50610240600480360381019061023b91906125da565b610635565b005b34801561024d575f80fd5b50610256610724565b005b348015610263575f80fd5b5061026c61073c565b6040516102799190612633565b60405180910390f35b34801561028d575f80fd5b506102a860048036038101906102a3919061264c565b610744565b005b3480156102b5575f80fd5b506102d060048036038101906102cb919061264c565b6107a4565b6040516102dd9190612547565b60405180910390f35b3480156102f1575f80fd5b506102fa6107ea565b005b348015610307575f80fd5b506103106107fd565b005b34801561031d575f80fd5b50610326610819565b6040516103339190612547565b60405180910390f35b348015610347575f80fd5b5061035061081f565b60405161035d9190612686565b60405180910390f35b348015610371575f80fd5b5061037a610846565b6040516103879190612547565b60405180910390f35b34801561039b575f80fd5b506103a461084c565b6040516103b19190612416565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db91906124c7565b610889565b6040516103ed919061251f565b60405180910390f35b348015610401575f80fd5b5061041c600480360381019061041791906125da565b6108a6565b005b348015610429575f80fd5b50610432610995565b005b34801561043f575f80fd5b5061045a6004803603810190610455919061269f565b610d35565b6040516104679190612547565b60405180910390f35b34801561047b575f80fd5b506104966004803603810190610491919061264c565b610db7565b005b3480156104a3575f80fd5b506104be60048036038101906104b99190612718565b610e16565b005b3480156104cb575f80fd5b506104e660048036038101906104e1919061264c565b610ffd565b005b3480156104f3575f80fd5b506104fc61107f565b005b60606040518060400160405280601781526020017f454c4f4e204d414b4553204d494c4c494f4e4149524553000000000000000000815250905090565b5f61054e610547611145565b848461114c565b6001905092915050565b5f600354905090565b5f61056d84848461130f565b61062a84610579611145565b610625856040518060600160405280602881526020016131416028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105dc611145565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461203e9092919063ffffffff16565b61114c565b600190509392505050565b61063d6120a0565b80151560065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515036106cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c39061278d565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61072c6120a0565b5f6001819055505f600281905550565b5f6012905090565b61074c6120a0565b6001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107f26120a0565b6107fb5f61211e565b565b6108056120a0565b600354600481905550600354600581905550565b60045481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60606040518060400160405280600b81526020017f4d494c4c494f4e41495245000000000000000000000000000000000000000000815250905090565b5f61089c610895611145565b848461130f565b6001905092915050565b6108ae6120a0565b80151560075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361093d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109349061278d565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61099d6120a0565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f600b60149054906101000a900460ff16610b2d576109d7308360035461114c565b8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4491906127bf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acd91906127bf565b6040518363ffffffff1660e01b8152600401610aea9291906127ea565b6020604051808303815f875af1158015610b06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2a91906127bf565b90505b8173ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b54306107a4565b5f80610b5e61081f565b607842610b6b919061283e565b6040518863ffffffff1660e01b8152600401610b8c969594939291906128b3565b60606040518083038185885af1158015610ba8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bcd9190612926565b5050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c2b929190612976565b6020604051808303815f875af1158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b91906129b1565b506001600b60146101000a81548160ff021916908315150217905550600160065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dbf6120a0565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610e1e61081f565b73ffffffffffffffffffffffffffffffffffffffff16610e3c611145565b73ffffffffffffffffffffffffffffffffffffffff161480610eb15750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e99611145565b73ffffffffffffffffffffffffffffffffffffffff16145b610ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee790612a26565b60405180910390fd5b5f600a5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6110056120a0565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106a90612ab4565b60405180910390fd5b61107c8161211e565b50565b6110876120a0565b5f3373ffffffffffffffffffffffffffffffffffffffff16476040516110ac90612aff565b5f6040518083038185875af1925050503d805f81146110e6576040519150601f19603f3d011682016040523d82523d5f602084013e6110eb565b606091505b505090508061112f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112690612b5d565b60405180910390fd5b611142303361113d306107a4565b61130f565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b190612beb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121f90612c79565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113029190612547565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361137d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137490612d07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e290612d95565b60405180910390fd5b5f811161142d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142490612e23565b60405180910390fd5b5f61143661081f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114a4575061147461081f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114dc57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117965760075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561157e575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156115d15750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116745760045482111561161b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161290612e8b565b60405180910390fd5b60055482611628856107a4565b611632919061283e565b1115611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166a90612ef3565b60405180910390fd5b5b61169c606461168e600154856121df90919063ffffffff16565b61225690919063ffffffff16565b905060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561172057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117955760045482111561176a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176190612e8b565b60405180910390fd5b6117926064611784600254856121df90919063ffffffff16565b61225690919063ffffffff16565b90505b5b5f811115611923575f6117c660646117b8603c856121df90919063ffffffff16565b61225690919063ffffffff16565b90506118398160085f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119199190612547565b60405180910390a3505b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119c0575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611a135750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c05575f611a406064611a326028856121df90919063ffffffff16565b61225690919063ffffffff16565b9050611aa4611a5882856122fc90919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b47611afb83856122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bea85876122fc90919063ffffffff16565b604051611bf79190612547565b60405180910390a350612038565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611c8757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e8b575f611cb46064611ca66028856121df90919063ffffffff16565b61225690919063ffffffff16565b9050611d068360085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dbb611d6f611d6083856122fc90919063ffffffff16565b856122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e70611e6185876122fc90919063ffffffff16565b876122fc90919063ffffffff16565b604051611e7d9190612547565b60405180910390a350612037565b611edb8260085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f7e611f3282846122fc90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61202184866122fc90919063ffffffff16565b60405161202e9190612547565b60405180910390a35b5b50505050565b5f838311158290612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207c9190612416565b60405180910390fd5b505f83856120939190612f11565b9050809150509392505050565b6120a8611145565b73ffffffffffffffffffffffffffffffffffffffff166120c661081f565b73ffffffffffffffffffffffffffffffffffffffff161461211c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211390612f8e565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8083036121ef575f9050612250565b5f82846121fc9190612fac565b905082848261220b919061301a565b1461224b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612242906130ba565b60405180910390fd5b809150505b92915050565b5f61229783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612345565b905092915050565b5f8082846122ad919061283e565b9050838110156122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e990613122565b60405180910390fd5b8091505092915050565b5f61233d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061203e565b905092915050565b5f808311829061238b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123829190612416565b60405180910390fd5b505f8385612399919061301a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123e8826123a6565b6123f281856123b0565b93506124028185602086016123c0565b61240b816123ce565b840191505092915050565b5f6020820190508181035f83015261242e81846123de565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124638261243a565b9050919050565b61247381612459565b811461247d575f80fd5b50565b5f8135905061248e8161246a565b92915050565b5f819050919050565b6124a681612494565b81146124b0575f80fd5b50565b5f813590506124c18161249d565b92915050565b5f80604083850312156124dd576124dc612436565b5b5f6124ea85828601612480565b92505060206124fb858286016124b3565b9150509250929050565b5f8115159050919050565b61251981612505565b82525050565b5f6020820190506125325f830184612510565b92915050565b61254181612494565b82525050565b5f60208201905061255a5f830184612538565b92915050565b5f805f6060848603121561257757612576612436565b5b5f61258486828701612480565b935050602061259586828701612480565b92505060406125a6868287016124b3565b9150509250925092565b6125b981612505565b81146125c3575f80fd5b50565b5f813590506125d4816125b0565b92915050565b5f80604083850312156125f0576125ef612436565b5b5f6125fd85828601612480565b925050602061260e858286016125c6565b9150509250929050565b5f60ff82169050919050565b61262d81612618565b82525050565b5f6020820190506126465f830184612624565b92915050565b5f6020828403121561266157612660612436565b5b5f61266e84828501612480565b91505092915050565b61268081612459565b82525050565b5f6020820190506126995f830184612677565b92915050565b5f80604083850312156126b5576126b4612436565b5b5f6126c285828601612480565b92505060206126d385828601612480565b9150509250929050565b5f6126e78261243a565b9050919050565b6126f7816126dd565b8114612701575f80fd5b50565b5f81359050612712816126ee565b92915050565b5f6020828403121561272d5761272c612436565b5b5f61273a84828501612704565b91505092915050565b7f616c7265616479206173206974206973000000000000000000000000000000005f82015250565b5f6127776010836123b0565b915061278282612743565b602082019050919050565b5f6020820190508181035f8301526127a48161276b565b9050919050565b5f815190506127b98161246a565b92915050565b5f602082840312156127d4576127d3612436565b5b5f6127e1848285016127ab565b91505092915050565b5f6040820190506127fd5f830185612677565b61280a6020830184612677565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61284882612494565b915061285383612494565b925082820190508082111561286b5761286a612811565b5b92915050565b5f819050919050565b5f819050919050565b5f61289d61289861289384612871565b61287a565b612494565b9050919050565b6128ad81612883565b82525050565b5f60c0820190506128c65f830189612677565b6128d36020830188612538565b6128e060408301876128a4565b6128ed60608301866128a4565b6128fa6080830185612677565b61290760a0830184612538565b979650505050505050565b5f815190506129208161249d565b92915050565b5f805f6060848603121561293d5761293c612436565b5b5f61294a86828701612912565b935050602061295b86828701612912565b925050604061296c86828701612912565b9150509250925092565b5f6040820190506129895f830185612677565b6129966020830184612538565b9392505050565b5f815190506129ab816125b0565b92915050565b5f602082840312156129c6576129c5612436565b5b5f6129d38482850161299d565b91505092915050565b7f4e6f74206f776e6572206f72207461782077616c6c65740000000000000000005f82015250565b5f612a106017836123b0565b9150612a1b826129dc565b602082019050919050565b5f6020820190508181035f830152612a3d81612a04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612a9e6026836123b0565b9150612aa982612a44565b604082019050919050565b5f6020820190508181035f830152612acb81612a92565b9050919050565b5f81905092915050565b50565b5f612aea5f83612ad2565b9150612af582612adc565b5f82019050919050565b5f612b0982612adf565b9150819050919050565b7f5769746864726177204661696c656400000000000000000000000000000000005f82015250565b5f612b47600f836123b0565b9150612b5282612b13565b602082019050919050565b5f6020820190508181035f830152612b7481612b3b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bd56024836123b0565b9150612be082612b7b565b604082019050919050565b5f6020820190508181035f830152612c0281612bc9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c636022836123b0565b9150612c6e82612c09565b604082019050919050565b5f6020820190508181035f830152612c9081612c57565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cf16025836123b0565b9150612cfc82612c97565b604082019050919050565b5f6020820190508181035f830152612d1e81612ce5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d7f6023836123b0565b9150612d8a82612d25565b604082019050919050565b5f6020820190508181035f830152612dac81612d73565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e0d6029836123b0565b9150612e1882612db3565b604082019050919050565b5f6020820190508181035f830152612e3a81612e01565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e756019836123b0565b9150612e8082612e41565b602082019050919050565b5f6020820190508181035f830152612ea281612e69565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612edd601a836123b0565b9150612ee882612ea9565b602082019050919050565b5f6020820190508181035f830152612f0a81612ed1565b9050919050565b5f612f1b82612494565b9150612f2683612494565b9250828203905081811115612f3e57612f3d612811565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612f786020836123b0565b9150612f8382612f44565b602082019050919050565b5f6020820190508181035f830152612fa581612f6c565b9050919050565b5f612fb682612494565b9150612fc183612494565b9250828202612fcf81612494565b91508282048414831517612fe657612fe5612811565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61302482612494565b915061302f83612494565b92508261303f5761303e612fed565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a46021836123b0565b91506130af8261304a565b604082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61310c601b836123b0565b9150613117826130d8565b602082019050919050565b5f6020820190508181035f83015261313981613100565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fb3d321cedb19c5af53af2d9f59f14dec0de8c4eeb1434814801a3e4c82100f164736f6c634300081900330000000000000000000000004aacaf8d63b20572bdd6fce04fd485a44967b508

Deployed Bytecode

0x608060405260043610610143575f3560e01c80637d1db4a5116100b5578063c9567bf91161006e578063c9567bf91461041e578063dd62ed3e14610434578063ea2f0b3714610470578063ea414b2814610498578063f2fde38b146104c0578063f5648a4f146104e85761014a565b80637d1db4a5146103125780638da5cb5b1461033c5780638f9a55c01461036657806395d89b4114610390578063a9059cbb146103ba578063c3803660146103f65761014a565b8063301370af11610107578063301370af14610242578063313ce56714610258578063437823ec1461028257806370a08231146102aa578063715018a6146102e6578063751039fc146102fc5761014a565b806306fdde031461014e578063095ea7b31461017857806318160ddd146101b457806323b872dd146101de57806328ffe65c1461021a5761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104fe565b60405161016f9190612416565b60405180910390f35b348015610183575f80fd5b5061019e600480360381019061019991906124c7565b61053b565b6040516101ab919061251f565b60405180910390f35b3480156101bf575f80fd5b506101c8610558565b6040516101d59190612547565b60405180910390f35b3480156101e9575f80fd5b5061020460048036038101906101ff9190612560565b610561565b604051610211919061251f565b60405180910390f35b348015610225575f80fd5b50610240600480360381019061023b91906125da565b610635565b005b34801561024d575f80fd5b50610256610724565b005b348015610263575f80fd5b5061026c61073c565b6040516102799190612633565b60405180910390f35b34801561028d575f80fd5b506102a860048036038101906102a3919061264c565b610744565b005b3480156102b5575f80fd5b506102d060048036038101906102cb919061264c565b6107a4565b6040516102dd9190612547565b60405180910390f35b3480156102f1575f80fd5b506102fa6107ea565b005b348015610307575f80fd5b506103106107fd565b005b34801561031d575f80fd5b50610326610819565b6040516103339190612547565b60405180910390f35b348015610347575f80fd5b5061035061081f565b60405161035d9190612686565b60405180910390f35b348015610371575f80fd5b5061037a610846565b6040516103879190612547565b60405180910390f35b34801561039b575f80fd5b506103a461084c565b6040516103b19190612416565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db91906124c7565b610889565b6040516103ed919061251f565b60405180910390f35b348015610401575f80fd5b5061041c600480360381019061041791906125da565b6108a6565b005b348015610429575f80fd5b50610432610995565b005b34801561043f575f80fd5b5061045a6004803603810190610455919061269f565b610d35565b6040516104679190612547565b60405180910390f35b34801561047b575f80fd5b506104966004803603810190610491919061264c565b610db7565b005b3480156104a3575f80fd5b506104be60048036038101906104b99190612718565b610e16565b005b3480156104cb575f80fd5b506104e660048036038101906104e1919061264c565b610ffd565b005b3480156104f3575f80fd5b506104fc61107f565b005b60606040518060400160405280601781526020017f454c4f4e204d414b4553204d494c4c494f4e4149524553000000000000000000815250905090565b5f61054e610547611145565b848461114c565b6001905092915050565b5f600354905090565b5f61056d84848461130f565b61062a84610579611145565b610625856040518060600160405280602881526020016131416028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105dc611145565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461203e9092919063ffffffff16565b61114c565b600190509392505050565b61063d6120a0565b80151560065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515036106cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c39061278d565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61072c6120a0565b5f6001819055505f600281905550565b5f6012905090565b61074c6120a0565b6001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107f26120a0565b6107fb5f61211e565b565b6108056120a0565b600354600481905550600354600581905550565b60045481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60606040518060400160405280600b81526020017f4d494c4c494f4e41495245000000000000000000000000000000000000000000815250905090565b5f61089c610895611145565b848461130f565b6001905092915050565b6108ae6120a0565b80151560075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361093d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109349061278d565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61099d6120a0565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f600b60149054906101000a900460ff16610b2d576109d7308360035461114c565b8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4491906127bf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acd91906127bf565b6040518363ffffffff1660e01b8152600401610aea9291906127ea565b6020604051808303815f875af1158015610b06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2a91906127bf565b90505b8173ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b54306107a4565b5f80610b5e61081f565b607842610b6b919061283e565b6040518863ffffffff1660e01b8152600401610b8c969594939291906128b3565b60606040518083038185885af1158015610ba8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bcd9190612926565b5050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c2b929190612976565b6020604051808303815f875af1158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b91906129b1565b506001600b60146101000a81548160ff021916908315150217905550600160065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dbf6120a0565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610e1e61081f565b73ffffffffffffffffffffffffffffffffffffffff16610e3c611145565b73ffffffffffffffffffffffffffffffffffffffff161480610eb15750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e99611145565b73ffffffffffffffffffffffffffffffffffffffff16145b610ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee790612a26565b60405180910390fd5b5f600a5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6110056120a0565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106a90612ab4565b60405180910390fd5b61107c8161211e565b50565b6110876120a0565b5f3373ffffffffffffffffffffffffffffffffffffffff16476040516110ac90612aff565b5f6040518083038185875af1925050503d805f81146110e6576040519150601f19603f3d011682016040523d82523d5f602084013e6110eb565b606091505b505090508061112f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112690612b5d565b60405180910390fd5b611142303361113d306107a4565b61130f565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b190612beb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121f90612c79565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113029190612547565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361137d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137490612d07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e290612d95565b60405180910390fd5b5f811161142d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142490612e23565b60405180910390fd5b5f61143661081f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114a4575061147461081f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114dc57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117965760075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561157e575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156115d15750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116745760045482111561161b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161290612e8b565b60405180910390fd5b60055482611628856107a4565b611632919061283e565b1115611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166a90612ef3565b60405180910390fd5b5b61169c606461168e600154856121df90919063ffffffff16565b61225690919063ffffffff16565b905060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561172057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117955760045482111561176a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176190612e8b565b60405180910390fd5b6117926064611784600254856121df90919063ffffffff16565b61225690919063ffffffff16565b90505b5b5f811115611923575f6117c660646117b8603c856121df90919063ffffffff16565b61225690919063ffffffff16565b90506118398160085f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119199190612547565b60405180910390a3505b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119c0575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611a135750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c05575f611a406064611a326028856121df90919063ffffffff16565b61225690919063ffffffff16565b9050611aa4611a5882856122fc90919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b47611afb83856122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bea85876122fc90919063ffffffff16565b604051611bf79190612547565b60405180910390a350612038565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611c8757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e8b575f611cb46064611ca66028856121df90919063ffffffff16565b61225690919063ffffffff16565b9050611d068360085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dbb611d6f611d6083856122fc90919063ffffffff16565b856122fc90919063ffffffff16565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e70611e6185876122fc90919063ffffffff16565b876122fc90919063ffffffff16565b604051611e7d9190612547565b60405180910390a350612037565b611edb8260085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f7e611f3282846122fc90919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61202184866122fc90919063ffffffff16565b60405161202e9190612547565b60405180910390a35b5b50505050565b5f838311158290612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207c9190612416565b60405180910390fd5b505f83856120939190612f11565b9050809150509392505050565b6120a8611145565b73ffffffffffffffffffffffffffffffffffffffff166120c661081f565b73ffffffffffffffffffffffffffffffffffffffff161461211c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211390612f8e565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8083036121ef575f9050612250565b5f82846121fc9190612fac565b905082848261220b919061301a565b1461224b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612242906130ba565b60405180910390fd5b809150505b92915050565b5f61229783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612345565b905092915050565b5f8082846122ad919061283e565b9050838110156122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e990613122565b60405180910390fd5b8091505092915050565b5f61233d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061203e565b905092915050565b5f808311829061238b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123829190612416565b60405180910390fd5b505f8385612399919061301a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123e8826123a6565b6123f281856123b0565b93506124028185602086016123c0565b61240b816123ce565b840191505092915050565b5f6020820190508181035f83015261242e81846123de565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124638261243a565b9050919050565b61247381612459565b811461247d575f80fd5b50565b5f8135905061248e8161246a565b92915050565b5f819050919050565b6124a681612494565b81146124b0575f80fd5b50565b5f813590506124c18161249d565b92915050565b5f80604083850312156124dd576124dc612436565b5b5f6124ea85828601612480565b92505060206124fb858286016124b3565b9150509250929050565b5f8115159050919050565b61251981612505565b82525050565b5f6020820190506125325f830184612510565b92915050565b61254181612494565b82525050565b5f60208201905061255a5f830184612538565b92915050565b5f805f6060848603121561257757612576612436565b5b5f61258486828701612480565b935050602061259586828701612480565b92505060406125a6868287016124b3565b9150509250925092565b6125b981612505565b81146125c3575f80fd5b50565b5f813590506125d4816125b0565b92915050565b5f80604083850312156125f0576125ef612436565b5b5f6125fd85828601612480565b925050602061260e858286016125c6565b9150509250929050565b5f60ff82169050919050565b61262d81612618565b82525050565b5f6020820190506126465f830184612624565b92915050565b5f6020828403121561266157612660612436565b5b5f61266e84828501612480565b91505092915050565b61268081612459565b82525050565b5f6020820190506126995f830184612677565b92915050565b5f80604083850312156126b5576126b4612436565b5b5f6126c285828601612480565b92505060206126d385828601612480565b9150509250929050565b5f6126e78261243a565b9050919050565b6126f7816126dd565b8114612701575f80fd5b50565b5f81359050612712816126ee565b92915050565b5f6020828403121561272d5761272c612436565b5b5f61273a84828501612704565b91505092915050565b7f616c7265616479206173206974206973000000000000000000000000000000005f82015250565b5f6127776010836123b0565b915061278282612743565b602082019050919050565b5f6020820190508181035f8301526127a48161276b565b9050919050565b5f815190506127b98161246a565b92915050565b5f602082840312156127d4576127d3612436565b5b5f6127e1848285016127ab565b91505092915050565b5f6040820190506127fd5f830185612677565b61280a6020830184612677565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61284882612494565b915061285383612494565b925082820190508082111561286b5761286a612811565b5b92915050565b5f819050919050565b5f819050919050565b5f61289d61289861289384612871565b61287a565b612494565b9050919050565b6128ad81612883565b82525050565b5f60c0820190506128c65f830189612677565b6128d36020830188612538565b6128e060408301876128a4565b6128ed60608301866128a4565b6128fa6080830185612677565b61290760a0830184612538565b979650505050505050565b5f815190506129208161249d565b92915050565b5f805f6060848603121561293d5761293c612436565b5b5f61294a86828701612912565b935050602061295b86828701612912565b925050604061296c86828701612912565b9150509250925092565b5f6040820190506129895f830185612677565b6129966020830184612538565b9392505050565b5f815190506129ab816125b0565b92915050565b5f602082840312156129c6576129c5612436565b5b5f6129d38482850161299d565b91505092915050565b7f4e6f74206f776e6572206f72207461782077616c6c65740000000000000000005f82015250565b5f612a106017836123b0565b9150612a1b826129dc565b602082019050919050565b5f6020820190508181035f830152612a3d81612a04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612a9e6026836123b0565b9150612aa982612a44565b604082019050919050565b5f6020820190508181035f830152612acb81612a92565b9050919050565b5f81905092915050565b50565b5f612aea5f83612ad2565b9150612af582612adc565b5f82019050919050565b5f612b0982612adf565b9150819050919050565b7f5769746864726177204661696c656400000000000000000000000000000000005f82015250565b5f612b47600f836123b0565b9150612b5282612b13565b602082019050919050565b5f6020820190508181035f830152612b7481612b3b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bd56024836123b0565b9150612be082612b7b565b604082019050919050565b5f6020820190508181035f830152612c0281612bc9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c636022836123b0565b9150612c6e82612c09565b604082019050919050565b5f6020820190508181035f830152612c9081612c57565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cf16025836123b0565b9150612cfc82612c97565b604082019050919050565b5f6020820190508181035f830152612d1e81612ce5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d7f6023836123b0565b9150612d8a82612d25565b604082019050919050565b5f6020820190508181035f830152612dac81612d73565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e0d6029836123b0565b9150612e1882612db3565b604082019050919050565b5f6020820190508181035f830152612e3a81612e01565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e756019836123b0565b9150612e8082612e41565b602082019050919050565b5f6020820190508181035f830152612ea281612e69565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612edd601a836123b0565b9150612ee882612ea9565b602082019050919050565b5f6020820190508181035f830152612f0a81612ed1565b9050919050565b5f612f1b82612494565b9150612f2683612494565b9250828203905081811115612f3e57612f3d612811565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612f786020836123b0565b9150612f8382612f44565b602082019050919050565b5f6020820190508181035f830152612fa581612f6c565b9050919050565b5f612fb682612494565b9150612fc183612494565b9250828202612fcf81612494565b91508282048414831517612fe657612fe5612811565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61302482612494565b915061302f83612494565b92508261303f5761303e612fed565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a46021836123b0565b91506130af8261304a565b604082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61310c601b836123b0565b9150613117826130d8565b602082019050919050565b5f6020820190508181035f83015261313981613100565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fb3d321cedb19c5af53af2d9f59f14dec0de8c4eeb1434814801a3e4c82100f164736f6c63430008190033

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

0000000000000000000000004aacaf8d63b20572bdd6fce04fd485a44967b508

-----Decoded View---------------
Arg [0] : _tWallet (address): 0x4AACAF8d63B20572bdd6FCE04FD485A44967b508

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004aacaf8d63b20572bdd6fce04fd485a44967b508


Deployed Bytecode Sourcemap

4155:8039:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11516:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10668:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11793:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11062:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10229:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8148:94;;;;;;;;;;;;;:::i;:::-;;11702:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8667:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11896:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2780:103;;;;;;;;;;;;;:::i;:::-;;8542:117;;;;;;;;;;;;;:::i;:::-;;4436:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2545:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4503:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11607:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10862:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10470:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9289:932;;;;;;;;;;;;;:::i;:::-;;12023:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8786:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8904:377;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2891:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8250:284;;;;;;;;;;;;;:::i;:::-;;11516:83;11553:13;11586:5;;;;;;;;;;;;;;;;;11579:12;;11516:83;:::o;10668:186::-;10768:4;10785:39;10794:12;:10;:12::i;:::-;10808:7;10817:6;10785:8;:39::i;:::-;10842:4;10835:11;;10668:186;;;;:::o;11793:95::-;11846:7;11873;;11866:14;;11793:95;:::o;11062:446::-;11194:4;11211:36;11221:6;11229:9;11240:6;11211:9;:36::i;:::-;11258:220;11281:6;11302:12;:10;:12::i;:::-;11329:138;11385:6;11329:138;;;;;;;;;;;;;;;;;:11;:19;11341:6;11329:19;;;;;;;;;;;;;;;:33;11349:12;:10;:12::i;:::-;11329:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;11258:8;:220::i;:::-;11496:4;11489:11;;11062:446;;;;;:::o;10229:233::-;2504:13;:11;:13::i;:::-;10377:9:::1;10349:37;;:15;:24;10365:7;10349:24;;;;;;;;;;;;;;;;;;;;;;;;;:37;;::::0;10341:66:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10445:9;10418:15;:24;10434:7;10418:24;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;10229:233:::0;;:::o;8148:94::-;2504:13;:11;:13::i;:::-;8210:1:::1;8200:7;:11;;;;8233:1;8222:8;:12;;;;8148:94::o:0;11702:83::-;11743:5;4362:2;11761:16;;11702:83;:::o;8667:111::-;2504:13;:11;:13::i;:::-;8766:4:::1;8736:18;:27;8755:7;8736:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;8667:111:::0;:::o;11896:119::-;11962:7;11989:9;:18;11999:7;11989:18;;;;;;;;;;;;;;;;11982:25;;11896:119;;;:::o;2780:103::-;2504:13;:11;:13::i;:::-;2845:30:::1;2872:1;2845:18;:30::i;:::-;2780:103::o:0;8542:117::-;2504:13;:11;:13::i;:::-;8609:7:::1;;8594:12;:22;;;;8644:7;;8627:14;:24;;;;8542:117::o:0;4436:60::-;;;;:::o;2545:87::-;2591:7;2618:6;;;;;;;;;;;2611:13;;2545:87;:::o;4503:62::-;;;;:::o;11607:87::-;11646:13;11679:7;;;;;;;;;;;;;;;;;11672:14;;11607:87;:::o;10862:192::-;10965:4;10982:42;10992:12;:10;:12::i;:::-;11006:9;11017:6;10982:9;:42::i;:::-;11042:4;11035:11;;10862:192;;;;:::o;10470:190::-;2504:13;:11;:13::i;:::-;10583:7:::1;10559:31;;:13;:20;10573:5;10559:20;;;;;;;;;;;;;;;;;;;;;;;;;:31;;::::0;10551:60:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10645:7;10622:13;:20;10636:5;10622:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;10470:190:::0;;:::o;9289:932::-;2504:13;:11;:13::i;:::-;9340:34:::1;9410:42;9340:123;;9474:21;9511:11;;;;;;;;;;;9506:246;;9539:58;9556:4;9571:15;9589:7;;9539:8;:58::i;:::-;9646:15;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9628:73;;;9710:4;9717:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9628:112;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9612:128;;9506:246;9762:15;:31;;;9801:21;9846:4;9866:24;9884:4;9866:9;:24::i;:::-;9905:1;9921::::0;9937:7:::1;:5;:7::i;:::-;9977:9;9959:15;:27;;;;:::i;:::-;9762:235;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10015:13;10008:29;;;10046:15;10064:14;10008:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10104:4;10090:11;;:18;;;;;;;;;;;;;;;;;;10163:4;10119:15;:41;10143:15;10119:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;10209:4;10178:13;:28;10192:13;10178:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9329:892;;9289:932::o:0;12023:168::-;12129:7;12156:11;:18;12168:5;12156:18;;;;;;;;;;;;;;;:27;12175:7;12156:27;;;;;;;;;;;;;;;;12149:34;;12023:168;;;;:::o;8786:110::-;2504:13;:11;:13::i;:::-;8883:5:::1;8853:18;:27;8872:7;8853:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;8786:110:::0;:::o;8904:377::-;9027:7;:5;:7::i;:::-;9011:23;;:12;:10;:12::i;:::-;:23;;;:53;;;;9054:10;;;;;;;;;;;9038:26;;:12;:10;:12::i;:::-;:26;;;9011:53;8985:138;;;;;;;;;;;;:::i;:::-;;;;;;;;;9171:5;9138:18;:30;9157:10;;;;;;;;;;;9138:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;9204:8;9191:10;;:21;;;;;;;;;;;;;;;;;;9258:4;9227:18;:28;9246:8;9227:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;8904:377;:::o;2891:238::-;2504:13;:11;:13::i;:::-;3014:1:::1;2994:22;;:8;:22;;::::0;2972:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3093:28;3112:8;3093:18;:28::i;:::-;2891:238:::0;:::o;8250:284::-;2504:13;:11;:13::i;:::-;8307:12:::1;8333:10;8325:24;;8371:21;8325:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8306:101;;;8426:7;8418:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;8464:62;8482:4;8489:10;8501:24;8519:4;8501:9;:24::i;:::-;8464:9;:62::i;:::-;8295:239;8250:284::o:0;93:98::-;146:7;173:10;166:17;;93:98;:::o;5463:335::-;5573:1;5556:19;;:5;:19;;;5548:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5654:1;5635:21;;:7;:21;;;5627:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5736:6;5706:11;:18;5718:5;5706:18;;;;;;;;;;;;;;;:27;5725:7;5706:27;;;;;;;;;;;;;;;:36;;;;5774:7;5758:32;;5767:5;5758:32;;;5783:6;5758:32;;;;;;:::i;:::-;;;;;;;;5463:335;;;:::o;5806:2334::-;5910:1;5894:18;;:4;:18;;;5886:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5987:1;5973:16;;:2;:16;;;5965:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6057:1;6048:6;:10;6040:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6117:17;6161:7;:5;:7::i;:::-;6153:15;;:4;:15;;;;:32;;;;;6178:7;:5;:7::i;:::-;6172:13;;:2;:13;;;;6153:32;:57;;;;;6205:4;6189:21;;:4;:21;;;;6153:57;6149:757;;;6249:13;:19;6263:4;6249:19;;;;;;;;;;;;;;;;;;;;;;;;;:60;;;;;6290:15;:19;6306:2;6290:19;;;;;;;;;;;;;;;;;;;;;;;;;6289:20;6249:60;:104;;;;;6331:18;:22;6350:2;6331:22;;;;;;;;;;;;;;;;;;;;;;;;;6330:23;6249:104;6227:396;;;6406:12;;6396:6;:22;;6388:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;6523:14;;6513:6;6497:13;6507:2;6497:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;6467:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;6227:396;6649:28;6673:3;6649:19;6660:7;;6649:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;6637:40;;6696:13;:17;6710:2;6696:17;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;6733:4;6717:21;;:4;:21;;;;6696:42;6692:203;;;6777:12;;6767:6;:22;;6759:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;6850:29;6875:3;6850:20;6861:8;;6850:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;6838:41;;6692:203;6149:757;6934:1;6922:9;:13;6918:218;;;6952:15;6970:26;6992:3;6970:17;6984:2;6970:9;:13;;:17;;;;:::i;:::-;:21;;:26;;;;:::i;:::-;6952:44;;7035:34;7061:7;7035:9;:21;7045:10;;;;;;;;;;;7035:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;7011:9;:21;7021:10;;;;;;;;;;;7011:21;;;;;;;;;;;;;;;:58;;;;7104:10;;;;;;;;;;;7089:35;;7098:4;7089:35;;;7116:7;7089:35;;;;;;:::i;:::-;;;;;;;;6937:199;6918:218;7164:13;:19;7178:4;7164:19;;;;;;;;;;;;;;;;;;;;;;;;;:56;;;;;7201:15;:19;7217:2;7201:19;;;;;;;;;;;;;;;;;;;;;;;;;7200:20;7164:56;:96;;;;;7238:18;:22;7257:2;7238:22;;;;;;;;;;;;;;;;;;;;;;;;;7237:23;7164:96;7146:987;;;7287:15;7305:26;7327:3;7305:17;7319:2;7305:9;:13;;:17;;;;:::i;:::-;:21;;:26;;;;:::i;:::-;7287:44;;7364:40;7384:19;7395:7;7384:6;:10;;:19;;;;:::i;:::-;7364:9;:15;7374:4;7364:15;;;;;;;;;;;;;;;;:19;;:40;;;;:::i;:::-;7346:9;:15;7356:4;7346:15;;;;;;;;;;;;;;;:58;;;;7435:40;7453:21;7464:9;7453:6;:10;;:21;;;;:::i;:::-;7435:9;:13;7445:2;7435:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;7419:9;:13;7429:2;7419:13;;;;;;;;;;;;;;;:56;;;;7510:2;7495:41;;7504:4;7495:41;;;7514:21;7525:9;7514:6;:10;;:21;;;;:::i;:::-;7495:41;;;;;;:::i;:::-;;;;;;;;7272:276;7146:987;;;7558:13;:17;7572:2;7558:17;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;7595:4;7579:21;;:4;:21;;;;7558:42;7554:579;;;7617:15;7635:26;7657:3;7635:17;7649:2;7635:9;:13;;:17;;;;:::i;:::-;:21;;:26;;;;:::i;:::-;7617:44;;7694:27;7714:6;7694:9;:15;7704:4;7694:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7676:9;:15;7686:4;7676:15;;;;;;;;;;;;;;;:45;;;;7752:85;7788:34;7799:22;7813:7;7799:9;:13;;:22;;;;:::i;:::-;7788:6;:10;;:34;;;;:::i;:::-;7752:9;:13;7762:2;7752:13;;;;;;;;;;;;;;;;:17;;:85;;;;:::i;:::-;7736:9;:13;7746:2;7736:13;;;;;;;;;;;;;;;:101;;;;7872:2;7857:54;;7866:4;7857:54;;;7876:34;7887:22;7901:7;7887:9;:13;;:22;;;;:::i;:::-;7876:6;:10;;:34;;;;:::i;:::-;7857:54;;;;;;:::i;:::-;;;;;;;;7602:321;7554:579;;;7962:27;7982:6;7962:9;:15;7972:4;7962:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7944:9;:15;7954:4;7944:15;;;;;;;;;;;;;;;:45;;;;8020:40;8038:21;8049:9;8038:6;:10;;:21;;;;:::i;:::-;8020:9;:13;8030:2;8020:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8004:9;:13;8014:2;8004:13;;;;;;;;;;;;;;;:56;;;;8095:2;8080:41;;8089:4;8080:41;;;8099:21;8110:9;8099:6;:10;;:21;;;;:::i;:::-;8080:41;;;;;;:::i;:::-;;;;;;;;7554:579;7146:987;5875:2265;5806:2334;;;:::o;1360:224::-;1480:7;1513:1;1508;:6;;1516:12;1500:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1540:9;1556:1;1552;:5;;;;:::i;:::-;1540:17;;1575:1;1568:8;;;1360:224;;;;;:::o;2640:132::-;2715:12;:10;:12::i;:::-;2704:23;;:7;:5;:7::i;:::-;:23;;;2696:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2640:132::o;3137:191::-;3211:16;3230:6;;;;;;;;;;;3211:25;;3256:8;3247:6;;:17;;;;;;;;;;;;;;;;;;3311:8;3280:40;;3301:8;3280:40;;;;;;;;;;;;3200:128;3137:191;:::o;1592:246::-;1650:7;1679:1;1674;:6;1670:47;;1704:1;1697:8;;;;1670:47;1727:9;1743:1;1739;:5;;;;:::i;:::-;1727:17;;1772:1;1767;1763;:5;;;;:::i;:::-;:10;1755:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1829:1;1822:8;;;1592:246;;;;;:::o;1846:132::-;1904:7;1931:39;1935:1;1938;1931:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1924:46;;1846:132;;;;:::o;1029:179::-;1087:7;1107:9;1123:1;1119;:5;;;;:::i;:::-;1107:17;;1148:1;1143;:6;;1135:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1199:1;1192:8;;;1029:179;;;;:::o;1216:136::-;1274:7;1301:43;1305:1;1308;1301:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1294:50;;1216:136;;;;:::o;1986:223::-;2106:7;2138:1;2134;:5;2141:12;2126:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2165:9;2181:1;2177;:5;;;;:::i;:::-;2165:17;;2200:1;2193:8;;;1986:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:116::-;4386:21;4401:5;4386:21;:::i;:::-;4379:5;4376:32;4366:60;;4422:1;4419;4412:12;4366:60;4316:116;:::o;4438:133::-;4481:5;4519:6;4506:20;4497:29;;4535:30;4559:5;4535:30;:::i;:::-;4438:133;;;;:::o;4577:468::-;4642:6;4650;4699:2;4687:9;4678:7;4674:23;4670:32;4667:119;;;4705:79;;:::i;:::-;4667:119;4825:1;4850:53;4895:7;4886:6;4875:9;4871:22;4850:53;:::i;:::-;4840:63;;4796:117;4952:2;4978:50;5020:7;5011:6;5000:9;4996:22;4978:50;:::i;:::-;4968:60;;4923:115;4577:468;;;;;:::o;5051:86::-;5086:7;5126:4;5119:5;5115:16;5104:27;;5051:86;;;:::o;5143:112::-;5226:22;5242:5;5226:22;:::i;:::-;5221:3;5214:35;5143:112;;:::o;5261:214::-;5350:4;5388:2;5377:9;5373:18;5365:26;;5401:67;5465:1;5454:9;5450:17;5441:6;5401:67;:::i;:::-;5261:214;;;;:::o;5481:329::-;5540:6;5589:2;5577:9;5568:7;5564:23;5560:32;5557:119;;;5595:79;;:::i;:::-;5557:119;5715:1;5740:53;5785:7;5776:6;5765:9;5761:22;5740:53;:::i;:::-;5730:63;;5686:117;5481:329;;;;:::o;5816:118::-;5903:24;5921:5;5903:24;:::i;:::-;5898:3;5891:37;5816:118;;:::o;5940:222::-;6033:4;6071:2;6060:9;6056:18;6048:26;;6084:71;6152:1;6141:9;6137:17;6128:6;6084:71;:::i;:::-;5940:222;;;;:::o;6168:474::-;6236:6;6244;6293:2;6281:9;6272:7;6268:23;6264:32;6261:119;;;6299:79;;:::i;:::-;6261:119;6419:1;6444:53;6489:7;6480:6;6469:9;6465:22;6444:53;:::i;:::-;6434:63;;6390:117;6546:2;6572:53;6617:7;6608:6;6597:9;6593:22;6572:53;:::i;:::-;6562:63;;6517:118;6168:474;;;;;:::o;6648:104::-;6693:7;6722:24;6740:5;6722:24;:::i;:::-;6711:35;;6648:104;;;:::o;6758:138::-;6839:32;6865:5;6839:32;:::i;:::-;6832:5;6829:43;6819:71;;6886:1;6883;6876:12;6819:71;6758:138;:::o;6902:155::-;6956:5;6994:6;6981:20;6972:29;;7010:41;7045:5;7010:41;:::i;:::-;6902:155;;;;:::o;7063:345::-;7130:6;7179:2;7167:9;7158:7;7154:23;7150:32;7147:119;;;7185:79;;:::i;:::-;7147:119;7305:1;7330:61;7383:7;7374:6;7363:9;7359:22;7330:61;:::i;:::-;7320:71;;7276:125;7063:345;;;;:::o;7414:166::-;7554:18;7550:1;7542:6;7538:14;7531:42;7414:166;:::o;7586:366::-;7728:3;7749:67;7813:2;7808:3;7749:67;:::i;:::-;7742:74;;7825:93;7914:3;7825:93;:::i;:::-;7943:2;7938:3;7934:12;7927:19;;7586:366;;;:::o;7958:419::-;8124:4;8162:2;8151:9;8147:18;8139:26;;8211:9;8205:4;8201:20;8197:1;8186:9;8182:17;8175:47;8239:131;8365:4;8239:131;:::i;:::-;8231:139;;7958:419;;;:::o;8383:143::-;8440:5;8471:6;8465:13;8456:22;;8487:33;8514:5;8487:33;:::i;:::-;8383:143;;;;:::o;8532:351::-;8602:6;8651:2;8639:9;8630:7;8626:23;8622:32;8619:119;;;8657:79;;:::i;:::-;8619:119;8777:1;8802:64;8858:7;8849:6;8838:9;8834:22;8802:64;:::i;:::-;8792:74;;8748:128;8532:351;;;;:::o;8889:332::-;9010:4;9048:2;9037:9;9033:18;9025:26;;9061:71;9129:1;9118:9;9114:17;9105:6;9061:71;:::i;:::-;9142:72;9210:2;9199:9;9195:18;9186:6;9142:72;:::i;:::-;8889:332;;;;;:::o;9227:180::-;9275:77;9272:1;9265:88;9372:4;9369:1;9362:15;9396:4;9393:1;9386:15;9413:191;9453:3;9472:20;9490:1;9472:20;:::i;:::-;9467:25;;9506:20;9524:1;9506:20;:::i;:::-;9501:25;;9549:1;9546;9542:9;9535:16;;9570:3;9567:1;9564:10;9561:36;;;9577:18;;:::i;:::-;9561:36;9413:191;;;;:::o;9610:85::-;9655:7;9684:5;9673:16;;9610:85;;;:::o;9701:60::-;9729:3;9750:5;9743:12;;9701:60;;;:::o;9767:158::-;9825:9;9858:61;9876:42;9885:32;9911:5;9885:32;:::i;:::-;9876:42;:::i;:::-;9858:61;:::i;:::-;9845:74;;9767:158;;;:::o;9931:147::-;10026:45;10065:5;10026:45;:::i;:::-;10021:3;10014:58;9931:147;;:::o;10084:807::-;10333:4;10371:3;10360:9;10356:19;10348:27;;10385:71;10453:1;10442:9;10438:17;10429:6;10385:71;:::i;:::-;10466:72;10534:2;10523:9;10519:18;10510:6;10466:72;:::i;:::-;10548:80;10624:2;10613:9;10609:18;10600:6;10548:80;:::i;:::-;10638;10714:2;10703:9;10699:18;10690:6;10638:80;:::i;:::-;10728:73;10796:3;10785:9;10781:19;10772:6;10728:73;:::i;:::-;10811;10879:3;10868:9;10864:19;10855:6;10811:73;:::i;:::-;10084:807;;;;;;;;;:::o;10897:143::-;10954:5;10985:6;10979:13;10970:22;;11001:33;11028:5;11001:33;:::i;:::-;10897:143;;;;:::o;11046:663::-;11134:6;11142;11150;11199:2;11187:9;11178:7;11174:23;11170:32;11167:119;;;11205:79;;:::i;:::-;11167:119;11325:1;11350:64;11406:7;11397:6;11386:9;11382:22;11350:64;:::i;:::-;11340:74;;11296:128;11463:2;11489:64;11545:7;11536:6;11525:9;11521:22;11489:64;:::i;:::-;11479:74;;11434:129;11602:2;11628:64;11684:7;11675:6;11664:9;11660:22;11628:64;:::i;:::-;11618:74;;11573:129;11046:663;;;;;:::o;11715:332::-;11836:4;11874:2;11863:9;11859:18;11851:26;;11887:71;11955:1;11944:9;11940:17;11931:6;11887:71;:::i;:::-;11968:72;12036:2;12025:9;12021:18;12012:6;11968:72;:::i;:::-;11715:332;;;;;:::o;12053:137::-;12107:5;12138:6;12132:13;12123:22;;12154:30;12178:5;12154:30;:::i;:::-;12053:137;;;;:::o;12196:345::-;12263:6;12312:2;12300:9;12291:7;12287:23;12283:32;12280:119;;;12318:79;;:::i;:::-;12280:119;12438:1;12463:61;12516:7;12507:6;12496:9;12492:22;12463:61;:::i;:::-;12453:71;;12409:125;12196:345;;;;:::o;12547:173::-;12687:25;12683:1;12675:6;12671:14;12664:49;12547:173;:::o;12726:366::-;12868:3;12889:67;12953:2;12948:3;12889:67;:::i;:::-;12882:74;;12965:93;13054:3;12965:93;:::i;:::-;13083:2;13078:3;13074:12;13067:19;;12726:366;;;:::o;13098:419::-;13264:4;13302:2;13291:9;13287:18;13279:26;;13351:9;13345:4;13341:20;13337:1;13326:9;13322:17;13315:47;13379:131;13505:4;13379:131;:::i;:::-;13371:139;;13098:419;;;:::o;13523:225::-;13663:34;13659:1;13651:6;13647:14;13640:58;13732:8;13727:2;13719:6;13715:15;13708:33;13523:225;:::o;13754:366::-;13896:3;13917:67;13981:2;13976:3;13917:67;:::i;:::-;13910:74;;13993:93;14082:3;13993:93;:::i;:::-;14111:2;14106:3;14102:12;14095:19;;13754:366;;;:::o;14126:419::-;14292:4;14330:2;14319:9;14315:18;14307:26;;14379:9;14373:4;14369:20;14365:1;14354:9;14350:17;14343:47;14407:131;14533:4;14407:131;:::i;:::-;14399:139;;14126:419;;;:::o;14551:147::-;14652:11;14689:3;14674:18;;14551:147;;;;:::o;14704:114::-;;:::o;14824:398::-;14983:3;15004:83;15085:1;15080:3;15004:83;:::i;:::-;14997:90;;15096:93;15185:3;15096:93;:::i;:::-;15214:1;15209:3;15205:11;15198:18;;14824:398;;;:::o;15228:379::-;15412:3;15434:147;15577:3;15434:147;:::i;:::-;15427:154;;15598:3;15591:10;;15228:379;;;:::o;15613:165::-;15753:17;15749:1;15741:6;15737:14;15730:41;15613:165;:::o;15784:366::-;15926:3;15947:67;16011:2;16006:3;15947:67;:::i;:::-;15940:74;;16023:93;16112:3;16023:93;:::i;:::-;16141:2;16136:3;16132:12;16125:19;;15784:366;;;:::o;16156:419::-;16322:4;16360:2;16349:9;16345:18;16337:26;;16409:9;16403:4;16399:20;16395:1;16384:9;16380:17;16373:47;16437:131;16563:4;16437:131;:::i;:::-;16429:139;;16156:419;;;:::o;16581:223::-;16721:34;16717:1;16709:6;16705:14;16698:58;16790:6;16785:2;16777:6;16773:15;16766:31;16581:223;:::o;16810:366::-;16952:3;16973:67;17037:2;17032:3;16973:67;:::i;:::-;16966:74;;17049:93;17138:3;17049:93;:::i;:::-;17167:2;17162:3;17158:12;17151:19;;16810:366;;;:::o;17182:419::-;17348:4;17386:2;17375:9;17371:18;17363:26;;17435:9;17429:4;17425:20;17421:1;17410:9;17406:17;17399:47;17463:131;17589:4;17463:131;:::i;:::-;17455:139;;17182:419;;;:::o;17607:221::-;17747:34;17743:1;17735:6;17731:14;17724:58;17816:4;17811:2;17803:6;17799:15;17792:29;17607:221;:::o;17834:366::-;17976:3;17997:67;18061:2;18056:3;17997:67;:::i;:::-;17990:74;;18073:93;18162:3;18073:93;:::i;:::-;18191:2;18186:3;18182:12;18175:19;;17834:366;;;:::o;18206:419::-;18372:4;18410:2;18399:9;18395:18;18387:26;;18459:9;18453:4;18449:20;18445:1;18434:9;18430:17;18423:47;18487:131;18613:4;18487:131;:::i;:::-;18479:139;;18206:419;;;:::o;18631:224::-;18771:34;18767:1;18759:6;18755:14;18748:58;18840:7;18835:2;18827:6;18823:15;18816:32;18631:224;:::o;18861:366::-;19003:3;19024:67;19088:2;19083:3;19024:67;:::i;:::-;19017:74;;19100:93;19189:3;19100:93;:::i;:::-;19218:2;19213:3;19209:12;19202:19;;18861:366;;;:::o;19233:419::-;19399:4;19437:2;19426:9;19422:18;19414:26;;19486:9;19480:4;19476:20;19472:1;19461:9;19457:17;19450:47;19514:131;19640:4;19514:131;:::i;:::-;19506:139;;19233:419;;;:::o;19658:222::-;19798:34;19794:1;19786:6;19782:14;19775:58;19867:5;19862:2;19854:6;19850:15;19843:30;19658:222;:::o;19886:366::-;20028:3;20049:67;20113:2;20108:3;20049:67;:::i;:::-;20042:74;;20125:93;20214:3;20125:93;:::i;:::-;20243:2;20238:3;20234:12;20227:19;;19886:366;;;:::o;20258:419::-;20424:4;20462:2;20451:9;20447:18;20439:26;;20511:9;20505:4;20501:20;20497:1;20486:9;20482:17;20475:47;20539:131;20665:4;20539:131;:::i;:::-;20531:139;;20258:419;;;:::o;20683:228::-;20823:34;20819:1;20811:6;20807:14;20800:58;20892:11;20887:2;20879:6;20875:15;20868:36;20683:228;:::o;20917:366::-;21059:3;21080:67;21144:2;21139:3;21080:67;:::i;:::-;21073:74;;21156:93;21245:3;21156:93;:::i;:::-;21274:2;21269:3;21265:12;21258:19;;20917:366;;;:::o;21289:419::-;21455:4;21493:2;21482:9;21478:18;21470:26;;21542:9;21536:4;21532:20;21528:1;21517:9;21513:17;21506:47;21570:131;21696:4;21570:131;:::i;:::-;21562:139;;21289:419;;;:::o;21714:175::-;21854:27;21850:1;21842:6;21838:14;21831:51;21714:175;:::o;21895:366::-;22037:3;22058:67;22122:2;22117:3;22058:67;:::i;:::-;22051:74;;22134:93;22223:3;22134:93;:::i;:::-;22252:2;22247:3;22243:12;22236:19;;21895:366;;;:::o;22267:419::-;22433:4;22471:2;22460:9;22456:18;22448:26;;22520:9;22514:4;22510:20;22506:1;22495:9;22491:17;22484:47;22548:131;22674:4;22548:131;:::i;:::-;22540:139;;22267:419;;;:::o;22692:176::-;22832:28;22828:1;22820:6;22816:14;22809:52;22692:176;:::o;22874:366::-;23016:3;23037:67;23101:2;23096:3;23037:67;:::i;:::-;23030:74;;23113:93;23202:3;23113:93;:::i;:::-;23231:2;23226:3;23222:12;23215:19;;22874:366;;;:::o;23246:419::-;23412:4;23450:2;23439:9;23435:18;23427:26;;23499:9;23493:4;23489:20;23485:1;23474:9;23470:17;23463:47;23527:131;23653:4;23527:131;:::i;:::-;23519:139;;23246:419;;;:::o;23671:194::-;23711:4;23731:20;23749:1;23731:20;:::i;:::-;23726:25;;23765:20;23783:1;23765:20;:::i;:::-;23760:25;;23809:1;23806;23802:9;23794:17;;23833:1;23827:4;23824:11;23821:37;;;23838:18;;:::i;:::-;23821:37;23671:194;;;;:::o;23871:182::-;24011:34;24007:1;23999:6;23995:14;23988:58;23871:182;:::o;24059:366::-;24201:3;24222:67;24286:2;24281:3;24222:67;:::i;:::-;24215:74;;24298:93;24387:3;24298:93;:::i;:::-;24416:2;24411:3;24407:12;24400:19;;24059:366;;;:::o;24431:419::-;24597:4;24635:2;24624:9;24620:18;24612:26;;24684:9;24678:4;24674:20;24670:1;24659:9;24655:17;24648:47;24712:131;24838:4;24712:131;:::i;:::-;24704:139;;24431:419;;;:::o;24856:410::-;24896:7;24919:20;24937:1;24919:20;:::i;:::-;24914:25;;24953:20;24971:1;24953:20;:::i;:::-;24948:25;;25008:1;25005;25001:9;25030:30;25048:11;25030:30;:::i;:::-;25019:41;;25209:1;25200:7;25196:15;25193:1;25190:22;25170:1;25163:9;25143:83;25120:139;;25239:18;;:::i;:::-;25120:139;24904:362;24856:410;;;;:::o;25272:180::-;25320:77;25317:1;25310:88;25417:4;25414:1;25407:15;25441:4;25438:1;25431:15;25458:185;25498:1;25515:20;25533:1;25515:20;:::i;:::-;25510:25;;25549:20;25567:1;25549:20;:::i;:::-;25544:25;;25588:1;25578:35;;25593:18;;:::i;:::-;25578:35;25635:1;25632;25628:9;25623:14;;25458:185;;;;:::o;25649:220::-;25789:34;25785:1;25777:6;25773:14;25766:58;25858:3;25853:2;25845:6;25841:15;25834:28;25649:220;:::o;25875:366::-;26017:3;26038:67;26102:2;26097:3;26038:67;:::i;:::-;26031:74;;26114:93;26203:3;26114:93;:::i;:::-;26232:2;26227:3;26223:12;26216:19;;25875:366;;;:::o;26247:419::-;26413:4;26451:2;26440:9;26436:18;26428:26;;26500:9;26494:4;26490:20;26486:1;26475:9;26471:17;26464:47;26528:131;26654:4;26528:131;:::i;:::-;26520:139;;26247:419;;;:::o;26672:177::-;26812:29;26808:1;26800:6;26796:14;26789:53;26672:177;:::o;26855:366::-;26997:3;27018:67;27082:2;27077:3;27018:67;:::i;:::-;27011:74;;27094:93;27183:3;27094:93;:::i;:::-;27212:2;27207:3;27203:12;27196:19;;26855:366;;;:::o;27227:419::-;27393:4;27431:2;27420:9;27416:18;27408:26;;27480:9;27474:4;27470:20;27466:1;27455:9;27451:17;27444:47;27508:131;27634:4;27508:131;:::i;:::-;27500:139;;27227:419;;;:::o

Swarm Source

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