ETH Price: $3,174.12 (-8.28%)
Gas: 3 Gwei

Token

Meow-Bit ($MEOWBIT)
 

Overview

Max Total Supply

9,000,000,000,000 $MEOWBIT

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.390973669602351281 $MEOWBIT

Value
$0.00
0x2adae1fedd886b9e04f5f8c17f771d99ba73f83d
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:
MeowBit

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-09
*/

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

/*
Website: https://meowbit.io/
Telegram: https://t.me/meowbitETH
Twitter: https://twitter.com/meowbitETH
*/

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

}

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    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 MeowBit is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    address payable public _taxWallet = payable(0xd7f5932025738791E3d2F9E245618fEF34cAC808); // Tax collection wallet


    uint256 public _buyTax = 18; //Buy fee
    uint256 public _sellTax = 18; // sell fee


    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 9000000000000 * 10**_decimals; // Total supply
    string private constant _name = unicode"Meow-Bit";  // Name
    string private constant _symbol = unicode"$MEOWBIT"; // Symbol
    uint256 public _taxSwapThreshold= 10000000000 * 10**_decimals;
    uint256 public maxWalletLimit = 720000000000 * 10 ** decimals();

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

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

    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // mainnet router address
        
        // Create a uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

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

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

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

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

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

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

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

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

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

            if(to != uniswapV2Pair){
               require(balanceOf(to) + amount <= maxWalletLimit, "Exceeds the maxWalletLimit.");
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                taxAmount = amount.mul(_buyTax).div(100);
            }


            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellTax).div(100);

            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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


    receive() external payable {}

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

    function changeFee(uint256 buyFee, uint256 sellFee) public onlyOwner {
        require(buyFee <= 20, "Tax too high");
        require(sellFee <= 20, "Tax too high");
        _buyTax = buyFee;
        _sellTax = sellFee;
    }

    function whiteListFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

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

    function changeTaxWallet(address payable newWallet) external onlyOwner {
        _taxWallet = newWallet;
    }

    function changeMaxWalletLimit(uint256 _limit) public onlyOwner{
        require(_limit > totalSupply().div(200),"Limit too low");
        maxWalletLimit = _limit;
    }
    
    }

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_limit","type":"uint256"}],"name":"changeMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"changeTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[{"internalType":"address","name":"account","type":"address"}],"name":"whiteListFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405273d7f5932025738791e3d2f9e245618fef34cac808600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260055560126006556012600a62000073919062000834565b6402540be40062000085919062000885565b600755620000986200059c60201b60201c565b600a620000a6919062000834565b64a7a3582000620000b8919062000885565b6008556000600a60146101000a81548160ff0219169083151502179055506001600a60156101000a81548160ff021916908315150217905550348015620000fe57600080fd5b506200011f62000113620005a560201b60201c565b620005ad60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017f57600080fd5b505afa15801562000194573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ba919062000950565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021d57600080fd5b505afa15801562000232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000258919062000950565b6040518363ffffffff1660e01b81526004016200027792919062000993565b602060405180830381600087803b1580156200029257600080fd5b505af1158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd919062000950565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200035e919062000834565b65082f79cd900062000371919062000885565b6001600062000385620005a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620003d96200067160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200050c620005a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200056b919062000834565b65082f79cd90006200057e919062000885565b6040516200058d9190620009d1565b60405180910390a350620009ee565b60006012905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000728578086048111156200070057620006ff6200069a565b5b6001851615620007105780820291505b80810290506200072085620006c9565b9450620006e0565b94509492505050565b60008262000743576001905062000816565b8162000753576000905062000816565b81600181146200076c57600281146200077757620007ad565b600191505062000816565b60ff8411156200078c576200078b6200069a565b5b8360020a915084821115620007a657620007a56200069a565b5b5062000816565b5060208310610133831016604e8410600b8410161715620007e75782820a905083811115620007e157620007e06200069a565b5b62000816565b620007f68484846001620006d6565b9250905081840481111562000810576200080f6200069a565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000841826200081d565b91506200084e8362000827565b92506200087d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000731565b905092915050565b600062000892826200081d565b91506200089f836200081d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008db57620008da6200069a565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200091882620008eb565b9050919050565b6200092a816200090b565b81146200093657600080fd5b50565b6000815190506200094a816200091f565b92915050565b600060208284031215620009695762000968620008e6565b5b6000620009798482850162000939565b91505092915050565b6200098d816200090b565b82525050565b6000604082019050620009aa600083018562000982565b620009b9602083018462000982565b9392505050565b620009cb816200081d565b82525050565b6000602082019050620009e86000830184620009c0565b92915050565b612bb980620009fe6000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063ca9ec1991161006f578063ca9ec1991461048f578063cb711595146104ba578063dd62ed3e146104e3578063e3ca2d6514610520578063ea2f0b3714610549578063f2fde38b1461057257610156565b8063715018a61461037d578063768dc710146103945780638da5cb5b146103d157806395d89b41146103fc578063a9059cbb14610427578063bf474bed1461046457610156565b806342a110951161010857806342a110951461027f578063508f6dfb146102aa57806351bc3c85146102d357806366a88d96146102ea5780636f268a991461031557806370a082311461034057610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c3578063212e3b2b146101ee57806323b872dd14610217578063313ce5671461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b5061017061059b565b60405161017d9190611cd5565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611d90565b6105d8565b6040516101ba9190611deb565b60405180910390f35b3480156101cf57600080fd5b506101d86105f6565b6040516101e59190611e15565b60405180910390f35b3480156101fa57600080fd5b5061021560048036038101906102109190611e30565b61061c565b005b34801561022357600080fd5b5061023e60048036038101906102399190611e5d565b61068a565b60405161024b9190611deb565b60405180910390f35b34801561026057600080fd5b50610269610763565b6040516102769190611ecc565b60405180910390f35b34801561028b57600080fd5b5061029461076c565b6040516102a19190611e15565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc9190611ee7565b610772565b005b3480156102df57600080fd5b506102e86107d5565b005b3480156102f657600080fd5b506102ff610872565b60405161030c9190611e15565b60405180910390f35b34801561032157600080fd5b5061032a610878565b6040516103379190611f35565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190611ee7565b61089e565b6040516103749190611e15565b60405180910390f35b34801561038957600080fd5b506103926108e7565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190611ee7565b6108fb565b6040516103c89190611deb565b60405180910390f35b3480156103dd57600080fd5b506103e661091b565b6040516103f39190611f5f565b60405180910390f35b34801561040857600080fd5b50610411610944565b60405161041e9190611cd5565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190611d90565b610981565b60405161045b9190611deb565b60405180910390f35b34801561047057600080fd5b5061047961099f565b6040516104869190611e15565b60405180910390f35b34801561049b57600080fd5b506104a46109a5565b6040516104b19190611e15565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190611fa6565b6109ab565b005b3480156104ef57600080fd5b5061050a60048036038101906105059190611fd3565b6109f7565b6040516105179190611e15565b60405180910390f35b34801561052c57600080fd5b5061054760048036038101906105429190612013565b610a7e565b005b34801561055557600080fd5b50610570600480360381019061056b9190611ee7565b610b20565b005b34801561057e57600080fd5b5061059960048036038101906105949190611ee7565b610b83565b005b60606040518060400160405280600881526020017f4d656f772d426974000000000000000000000000000000000000000000000000815250905090565b60006105ec6105e5610c07565b8484610c0f565b6001905092915050565b60006012600a61060691906121b5565b65082f79cd90006106179190612200565b905090565b610624610dda565b61063f60c86106316105f6565b610e5890919063ffffffff16565b8111610680576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610677906122a6565b60405180910390fd5b8060088190555050565b6000610697848484610ea2565b610758846106a3610c07565b61075385604051806060016040528060288152602001612b5c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610709610c07565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168b9092919063ffffffff16565b610c0f565b600190509392505050565b60006012905090565b60055481565b61077a610dda565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610816610c07565b73ffffffffffffffffffffffffffffffffffffffff161461083657600080fd5b60006108413061089e565b9050600081111561085657610855816116ef565b5b6000479050600081111561086e5761086d81611986565b5b5050565b60085481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108ef610dda565b6108f960006119f2565b565b60036020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f244d454f57424954000000000000000000000000000000000000000000000000815250905090565b600061099561098e610c07565b8484610ea2565b6001905092915050565b60075481565b60065481565b6109b3610dda565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a86610dda565b6014821115610aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac190612312565b60405180910390fd5b6014811115610b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0590612312565b60405180910390fd5b81600581905550806006819055505050565b610b28610dda565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610b8b610dda565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf2906123a4565b60405180910390fd5b610c04816119f2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7690612436565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce6906124c8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dcd9190611e15565b60405180910390a3505050565b610de2610c07565b73ffffffffffffffffffffffffffffffffffffffff16610e0061091b565b73ffffffffffffffffffffffffffffffffffffffff1614610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d90612534565b60405180910390fd5b565b6000610e9a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ab6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f09906125c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7990612658565b60405180910390fd5b60008111610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc906126ea565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561106b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113ce57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461111e57600854826110d28561089e565b6110dc919061270a565b111561111d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611114906127ac565b60405180910390fd5b5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111c95750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561121f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561124f5761124c606461123e60055485611b1990919063ffffffff16565b610e5890919063ffffffff16565b90505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112d857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156113085761130560646112f760065485611b1990919063ffffffff16565b610e5890919063ffffffff16565b90505b60006113133061089e565b9050600a60149054906101000a900460ff1615801561137f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113975750600a60159054906101000a900460ff165b80156113a4575060075481115b156113cc576113b2816116ef565b600047905060008111156113ca576113c947611986565b5b505b505b60008111156114d25761142981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114c99190611e15565b60405180910390a35b61152482600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115cb61157d8284611bf290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9490919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116708486611bf290919063ffffffff16565b60405161167d9190611e15565b60405180910390a350505050565b60008383111582906116d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ca9190611cd5565b60405180910390fd5b50600083856116e291906127cc565b9050809150509392505050565b6001600a60146101000a81548160ff021916908315150217905550600081141561171857611968565b6000600267ffffffffffffffff81111561173557611734612800565b5b6040519080825280602002602001820160405280156117635781602001602082028036833780820191505090505b509050308160008151811061177b5761177a61282f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118559190612873565b816001815181106118695761186861282f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118d030600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c0f565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119349594939291906129a3565b600060405180830381600087803b15801561194e57600080fd5b505af1158015611962573d6000803e3d6000fd5b50505050505b6000600a60146101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119ee573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290611afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af49190611cd5565b60405180910390fd5b5060008385611b0c9190612a2c565b9050809150509392505050565b600080831415611b2c5760009050611b8e565b60008284611b3a9190612200565b9050828482611b499190612a2c565b14611b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8090612acf565b60405180910390fd5b809150505b92915050565b6000808284611ba3919061270a565b905083811015611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf90612b3b565b60405180910390fd5b8091505092915050565b6000611c3483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061168b565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c76578082015181840152602081019050611c5b565b83811115611c85576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ca782611c3c565b611cb18185611c47565b9350611cc1818560208601611c58565b611cca81611c8b565b840191505092915050565b60006020820190508181036000830152611cef8184611c9c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d2782611cfc565b9050919050565b611d3781611d1c565b8114611d4257600080fd5b50565b600081359050611d5481611d2e565b92915050565b6000819050919050565b611d6d81611d5a565b8114611d7857600080fd5b50565b600081359050611d8a81611d64565b92915050565b60008060408385031215611da757611da6611cf7565b5b6000611db585828601611d45565b9250506020611dc685828601611d7b565b9150509250929050565b60008115159050919050565b611de581611dd0565b82525050565b6000602082019050611e006000830184611ddc565b92915050565b611e0f81611d5a565b82525050565b6000602082019050611e2a6000830184611e06565b92915050565b600060208284031215611e4657611e45611cf7565b5b6000611e5484828501611d7b565b91505092915050565b600080600060608486031215611e7657611e75611cf7565b5b6000611e8486828701611d45565b9350506020611e9586828701611d45565b9250506040611ea686828701611d7b565b9150509250925092565b600060ff82169050919050565b611ec681611eb0565b82525050565b6000602082019050611ee16000830184611ebd565b92915050565b600060208284031215611efd57611efc611cf7565b5b6000611f0b84828501611d45565b91505092915050565b6000611f1f82611cfc565b9050919050565b611f2f81611f14565b82525050565b6000602082019050611f4a6000830184611f26565b92915050565b611f5981611d1c565b82525050565b6000602082019050611f746000830184611f50565b92915050565b611f8381611f14565b8114611f8e57600080fd5b50565b600081359050611fa081611f7a565b92915050565b600060208284031215611fbc57611fbb611cf7565b5b6000611fca84828501611f91565b91505092915050565b60008060408385031215611fea57611fe9611cf7565b5b6000611ff885828601611d45565b925050602061200985828601611d45565b9150509250929050565b6000806040838503121561202a57612029611cf7565b5b600061203885828601611d7b565b925050602061204985828601611d7b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156120d9578086048111156120b5576120b4612053565b5b60018516156120c45780820291505b80810290506120d285612082565b9450612099565b94509492505050565b6000826120f257600190506121ae565b8161210057600090506121ae565b816001811461211657600281146121205761214f565b60019150506121ae565b60ff84111561213257612131612053565b5b8360020a91508482111561214957612148612053565b5b506121ae565b5060208310610133831016604e8410600b84101617156121845782820a90508381111561217f5761217e612053565b5b6121ae565b612191848484600161208f565b925090508184048111156121a8576121a7612053565b5b81810290505b9392505050565b60006121c082611d5a565b91506121cb83611eb0565b92506121f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120e2565b905092915050565b600061220b82611d5a565b915061221683611d5a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561224f5761224e612053565b5b828202905092915050565b7f4c696d697420746f6f206c6f7700000000000000000000000000000000000000600082015250565b6000612290600d83611c47565b915061229b8261225a565b602082019050919050565b600060208201905081810360008301526122bf81612283565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b60006122fc600c83611c47565b9150612307826122c6565b602082019050919050565b6000602082019050818103600083015261232b816122ef565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061238e602683611c47565b915061239982612332565b604082019050919050565b600060208201905081810360008301526123bd81612381565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612420602483611c47565b915061242b826123c4565b604082019050919050565b6000602082019050818103600083015261244f81612413565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124b2602283611c47565b91506124bd82612456565b604082019050919050565b600060208201905081810360008301526124e1816124a5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061251e602083611c47565b9150612529826124e8565b602082019050919050565b6000602082019050818103600083015261254d81612511565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006125b0602583611c47565b91506125bb82612554565b604082019050919050565b600060208201905081810360008301526125df816125a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612642602383611c47565b915061264d826125e6565b604082019050919050565b6000602082019050818103600083015261267181612635565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006126d4602983611c47565b91506126df82612678565b604082019050919050565b60006020820190508181036000830152612703816126c7565b9050919050565b600061271582611d5a565b915061272083611d5a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275557612754612053565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c65744c696d69742e0000000000600082015250565b6000612796601b83611c47565b91506127a182612760565b602082019050919050565b600060208201905081810360008301526127c581612789565b9050919050565b60006127d782611d5a565b91506127e283611d5a565b9250828210156127f5576127f4612053565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061286d81611d2e565b92915050565b60006020828403121561288957612888611cf7565b5b60006128978482850161285e565b91505092915050565b6000819050919050565b6000819050919050565b60006128cf6128ca6128c5846128a0565b6128aa565b611d5a565b9050919050565b6128df816128b4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61291a81611d1c565b82525050565b600061292c8383612911565b60208301905092915050565b6000602082019050919050565b6000612950826128e5565b61295a81856128f0565b935061296583612901565b8060005b8381101561299657815161297d8882612920565b975061298883612938565b925050600181019050612969565b5085935050505092915050565b600060a0820190506129b86000830188611e06565b6129c560208301876128d6565b81810360408301526129d78186612945565b90506129e66060830185611f50565b6129f36080830184611e06565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a3782611d5a565b9150612a4283611d5a565b925082612a5257612a516129fd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ab9602183611c47565b9150612ac482612a5d565b604082019050919050565b60006020820190508181036000830152612ae881612aac565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b25601b83611c47565b9150612b3082612aef565b602082019050919050565b60006020820190508181036000830152612b5481612b18565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9509e56ec4a5f9d0f682f7541a26de99bd1638a34660815202b254ac2400acf64736f6c63430008090033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063ca9ec1991161006f578063ca9ec1991461048f578063cb711595146104ba578063dd62ed3e146104e3578063e3ca2d6514610520578063ea2f0b3714610549578063f2fde38b1461057257610156565b8063715018a61461037d578063768dc710146103945780638da5cb5b146103d157806395d89b41146103fc578063a9059cbb14610427578063bf474bed1461046457610156565b806342a110951161010857806342a110951461027f578063508f6dfb146102aa57806351bc3c85146102d357806366a88d96146102ea5780636f268a991461031557806370a082311461034057610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c3578063212e3b2b146101ee57806323b872dd14610217578063313ce5671461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b5061017061059b565b60405161017d9190611cd5565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611d90565b6105d8565b6040516101ba9190611deb565b60405180910390f35b3480156101cf57600080fd5b506101d86105f6565b6040516101e59190611e15565b60405180910390f35b3480156101fa57600080fd5b5061021560048036038101906102109190611e30565b61061c565b005b34801561022357600080fd5b5061023e60048036038101906102399190611e5d565b61068a565b60405161024b9190611deb565b60405180910390f35b34801561026057600080fd5b50610269610763565b6040516102769190611ecc565b60405180910390f35b34801561028b57600080fd5b5061029461076c565b6040516102a19190611e15565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc9190611ee7565b610772565b005b3480156102df57600080fd5b506102e86107d5565b005b3480156102f657600080fd5b506102ff610872565b60405161030c9190611e15565b60405180910390f35b34801561032157600080fd5b5061032a610878565b6040516103379190611f35565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190611ee7565b61089e565b6040516103749190611e15565b60405180910390f35b34801561038957600080fd5b506103926108e7565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190611ee7565b6108fb565b6040516103c89190611deb565b60405180910390f35b3480156103dd57600080fd5b506103e661091b565b6040516103f39190611f5f565b60405180910390f35b34801561040857600080fd5b50610411610944565b60405161041e9190611cd5565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190611d90565b610981565b60405161045b9190611deb565b60405180910390f35b34801561047057600080fd5b5061047961099f565b6040516104869190611e15565b60405180910390f35b34801561049b57600080fd5b506104a46109a5565b6040516104b19190611e15565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190611fa6565b6109ab565b005b3480156104ef57600080fd5b5061050a60048036038101906105059190611fd3565b6109f7565b6040516105179190611e15565b60405180910390f35b34801561052c57600080fd5b5061054760048036038101906105429190612013565b610a7e565b005b34801561055557600080fd5b50610570600480360381019061056b9190611ee7565b610b20565b005b34801561057e57600080fd5b5061059960048036038101906105949190611ee7565b610b83565b005b60606040518060400160405280600881526020017f4d656f772d426974000000000000000000000000000000000000000000000000815250905090565b60006105ec6105e5610c07565b8484610c0f565b6001905092915050565b60006012600a61060691906121b5565b65082f79cd90006106179190612200565b905090565b610624610dda565b61063f60c86106316105f6565b610e5890919063ffffffff16565b8111610680576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610677906122a6565b60405180910390fd5b8060088190555050565b6000610697848484610ea2565b610758846106a3610c07565b61075385604051806060016040528060288152602001612b5c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610709610c07565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168b9092919063ffffffff16565b610c0f565b600190509392505050565b60006012905090565b60055481565b61077a610dda565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610816610c07565b73ffffffffffffffffffffffffffffffffffffffff161461083657600080fd5b60006108413061089e565b9050600081111561085657610855816116ef565b5b6000479050600081111561086e5761086d81611986565b5b5050565b60085481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108ef610dda565b6108f960006119f2565b565b60036020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f244d454f57424954000000000000000000000000000000000000000000000000815250905090565b600061099561098e610c07565b8484610ea2565b6001905092915050565b60075481565b60065481565b6109b3610dda565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a86610dda565b6014821115610aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac190612312565b60405180910390fd5b6014811115610b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0590612312565b60405180910390fd5b81600581905550806006819055505050565b610b28610dda565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610b8b610dda565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf2906123a4565b60405180910390fd5b610c04816119f2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7690612436565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce6906124c8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dcd9190611e15565b60405180910390a3505050565b610de2610c07565b73ffffffffffffffffffffffffffffffffffffffff16610e0061091b565b73ffffffffffffffffffffffffffffffffffffffff1614610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d90612534565b60405180910390fd5b565b6000610e9a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ab6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f09906125c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7990612658565b60405180910390fd5b60008111610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc906126ea565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561106b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113ce57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461111e57600854826110d28561089e565b6110dc919061270a565b111561111d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611114906127ac565b60405180910390fd5b5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111c95750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561121f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561124f5761124c606461123e60055485611b1990919063ffffffff16565b610e5890919063ffffffff16565b90505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112d857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156113085761130560646112f760065485611b1990919063ffffffff16565b610e5890919063ffffffff16565b90505b60006113133061089e565b9050600a60149054906101000a900460ff1615801561137f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113975750600a60159054906101000a900460ff165b80156113a4575060075481115b156113cc576113b2816116ef565b600047905060008111156113ca576113c947611986565b5b505b505b60008111156114d25761142981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114c99190611e15565b60405180910390a35b61152482600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115cb61157d8284611bf290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9490919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116708486611bf290919063ffffffff16565b60405161167d9190611e15565b60405180910390a350505050565b60008383111582906116d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ca9190611cd5565b60405180910390fd5b50600083856116e291906127cc565b9050809150509392505050565b6001600a60146101000a81548160ff021916908315150217905550600081141561171857611968565b6000600267ffffffffffffffff81111561173557611734612800565b5b6040519080825280602002602001820160405280156117635781602001602082028036833780820191505090505b509050308160008151811061177b5761177a61282f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118559190612873565b816001815181106118695761186861282f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118d030600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c0f565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119349594939291906129a3565b600060405180830381600087803b15801561194e57600080fd5b505af1158015611962573d6000803e3d6000fd5b50505050505b6000600a60146101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119ee573d6000803e3d6000fd5b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290611afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af49190611cd5565b60405180910390fd5b5060008385611b0c9190612a2c565b9050809150509392505050565b600080831415611b2c5760009050611b8e565b60008284611b3a9190612200565b9050828482611b499190612a2c565b14611b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8090612acf565b60405180910390fd5b809150505b92915050565b6000808284611ba3919061270a565b905083811015611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf90612b3b565b60405180910390fd5b8091505092915050565b6000611c3483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061168b565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c76578082015181840152602081019050611c5b565b83811115611c85576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ca782611c3c565b611cb18185611c47565b9350611cc1818560208601611c58565b611cca81611c8b565b840191505092915050565b60006020820190508181036000830152611cef8184611c9c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d2782611cfc565b9050919050565b611d3781611d1c565b8114611d4257600080fd5b50565b600081359050611d5481611d2e565b92915050565b6000819050919050565b611d6d81611d5a565b8114611d7857600080fd5b50565b600081359050611d8a81611d64565b92915050565b60008060408385031215611da757611da6611cf7565b5b6000611db585828601611d45565b9250506020611dc685828601611d7b565b9150509250929050565b60008115159050919050565b611de581611dd0565b82525050565b6000602082019050611e006000830184611ddc565b92915050565b611e0f81611d5a565b82525050565b6000602082019050611e2a6000830184611e06565b92915050565b600060208284031215611e4657611e45611cf7565b5b6000611e5484828501611d7b565b91505092915050565b600080600060608486031215611e7657611e75611cf7565b5b6000611e8486828701611d45565b9350506020611e9586828701611d45565b9250506040611ea686828701611d7b565b9150509250925092565b600060ff82169050919050565b611ec681611eb0565b82525050565b6000602082019050611ee16000830184611ebd565b92915050565b600060208284031215611efd57611efc611cf7565b5b6000611f0b84828501611d45565b91505092915050565b6000611f1f82611cfc565b9050919050565b611f2f81611f14565b82525050565b6000602082019050611f4a6000830184611f26565b92915050565b611f5981611d1c565b82525050565b6000602082019050611f746000830184611f50565b92915050565b611f8381611f14565b8114611f8e57600080fd5b50565b600081359050611fa081611f7a565b92915050565b600060208284031215611fbc57611fbb611cf7565b5b6000611fca84828501611f91565b91505092915050565b60008060408385031215611fea57611fe9611cf7565b5b6000611ff885828601611d45565b925050602061200985828601611d45565b9150509250929050565b6000806040838503121561202a57612029611cf7565b5b600061203885828601611d7b565b925050602061204985828601611d7b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156120d9578086048111156120b5576120b4612053565b5b60018516156120c45780820291505b80810290506120d285612082565b9450612099565b94509492505050565b6000826120f257600190506121ae565b8161210057600090506121ae565b816001811461211657600281146121205761214f565b60019150506121ae565b60ff84111561213257612131612053565b5b8360020a91508482111561214957612148612053565b5b506121ae565b5060208310610133831016604e8410600b84101617156121845782820a90508381111561217f5761217e612053565b5b6121ae565b612191848484600161208f565b925090508184048111156121a8576121a7612053565b5b81810290505b9392505050565b60006121c082611d5a565b91506121cb83611eb0565b92506121f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120e2565b905092915050565b600061220b82611d5a565b915061221683611d5a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561224f5761224e612053565b5b828202905092915050565b7f4c696d697420746f6f206c6f7700000000000000000000000000000000000000600082015250565b6000612290600d83611c47565b915061229b8261225a565b602082019050919050565b600060208201905081810360008301526122bf81612283565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b60006122fc600c83611c47565b9150612307826122c6565b602082019050919050565b6000602082019050818103600083015261232b816122ef565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061238e602683611c47565b915061239982612332565b604082019050919050565b600060208201905081810360008301526123bd81612381565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612420602483611c47565b915061242b826123c4565b604082019050919050565b6000602082019050818103600083015261244f81612413565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124b2602283611c47565b91506124bd82612456565b604082019050919050565b600060208201905081810360008301526124e1816124a5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061251e602083611c47565b9150612529826124e8565b602082019050919050565b6000602082019050818103600083015261254d81612511565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006125b0602583611c47565b91506125bb82612554565b604082019050919050565b600060208201905081810360008301526125df816125a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612642602383611c47565b915061264d826125e6565b604082019050919050565b6000602082019050818103600083015261267181612635565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006126d4602983611c47565b91506126df82612678565b604082019050919050565b60006020820190508181036000830152612703816126c7565b9050919050565b600061271582611d5a565b915061272083611d5a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275557612754612053565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c65744c696d69742e0000000000600082015250565b6000612796601b83611c47565b91506127a182612760565b602082019050919050565b600060208201905081810360008301526127c581612789565b9050919050565b60006127d782611d5a565b91506127e283611d5a565b9250828210156127f5576127f4612053565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061286d81611d2e565b92915050565b60006020828403121561288957612888611cf7565b5b60006128978482850161285e565b91505092915050565b6000819050919050565b6000819050919050565b60006128cf6128ca6128c5846128a0565b6128aa565b611d5a565b9050919050565b6128df816128b4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61291a81611d1c565b82525050565b600061292c8383612911565b60208301905092915050565b6000602082019050919050565b6000612950826128e5565b61295a81856128f0565b935061296583612901565b8060005b8381101561299657815161297d8882612920565b975061298883612938565b925050600181019050612969565b5085935050505092915050565b600060a0820190506129b86000830188611e06565b6129c560208301876128d6565b81810360408301526129d78186612945565b90506129e66060830185611f50565b6129f36080830184611e06565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a3782611d5a565b9150612a4283611d5a565b925082612a5257612a516129fd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ab9602183611c47565b9150612ac482612a5d565b604082019050919050565b60006020820190508181036000830152612ae881612aac565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b25601b83611c47565b9150612b3082612aef565b602082019050919050565b60006020820190508181036000830152612b5481612b18565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9509e56ec4a5f9d0f682f7541a26de99bd1638a34660815202b254ac2400acf64736f6c63430008090033

Deployed Bytecode Sourcemap

4926:7143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6796:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7629:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7073:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11885:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7798:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6982:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5323:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11526:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10932:348;;;;;;;;;;;;;:::i;:::-;;5750:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5200:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7176:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3347:103;;;;;;;;;;;;;:::i;:::-;;5142:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2706:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6887;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7303:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5682:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5367:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11765:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7478:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11288:230;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11647:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3605:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6796:83;6833:13;6866:5;;;;;;;;;;;;;;;;;6859:12;;6796:83;:::o;7629:161::-;7704:4;7721:39;7730:12;:10;:12::i;:::-;7744:7;7753:6;7721:8;:39::i;:::-;7778:4;7771:11;;7629:161;;;;:::o;7073:95::-;7126:7;5453:2;5513;:13;;;;:::i;:::-;5497;:29;;;;:::i;:::-;7146:14;;7073:95;:::o;11885:171::-;2592:13;:11;:13::i;:::-;11975:22:::1;11993:3;11975:13;:11;:13::i;:::-;:17;;:22;;;;:::i;:::-;11966:6;:31;11958:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;12042:6;12025:14;:23;;;;11885:171:::0;:::o;7798:313::-;7896:4;7913:36;7923:6;7931:9;7942:6;7913:9;:36::i;:::-;7960:121;7969:6;7977:12;:10;:12::i;:::-;7991:89;8029:6;7991:89;;;;;;;;;;;;;;;;;:11;:19;8003:6;7991:19;;;;;;;;;;;;;;;:33;8011:12;:10;:12::i;:::-;7991:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7960:8;:121::i;:::-;8099:4;8092:11;;7798:313;;;;;:::o;6982:83::-;7023:5;5453:2;7041:16;;6982:83;:::o;5323:27::-;;;;:::o;11526:113::-;2592:13;:11;:13::i;:::-;11627:4:::1;11597:18;:27;11616:7;11597:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11526:113:::0;:::o;10932:348::-;10996:10;;;;;;;;;;;10982:24;;:12;:10;:12::i;:::-;:24;;;10974:33;;;;;;11018:20;11039:24;11057:4;11039:9;:24::i;:::-;11018:45;;11090:1;11077:12;:14;11074:73;;;11105:30;11122:12;11105:16;:30::i;:::-;11074:73;11157:18;11176:21;11157:40;;11222:1;11211:10;:12;11208:65;;;11237:24;11250:10;11237:12;:24::i;:::-;11208:65;10963:317;;10932:348::o;5750:63::-;;;;:::o;5200:87::-;;;;;;;;;;;;;:::o;7176:119::-;7242:7;7269:9;:18;7279:7;7269:18;;;;;;;;;;;;;;;;7262:25;;7176:119;;;:::o;3347:103::-;2592:13;:11;:13::i;:::-;3412:30:::1;3439:1;3412:18;:30::i;:::-;3347:103::o:0;5142:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;2706:87::-;2752:7;2779:6;;;;;;;;;;;2772:13;;2706:87;:::o;6887:::-;6926:13;6959:7;;;;;;;;;;;;;;;;;6952:14;;6887:87;:::o;7303:167::-;7381:4;7398:42;7408:12;:10;:12::i;:::-;7422:9;7433:6;7398:9;:42::i;:::-;7458:4;7451:11;;7303:167;;;;:::o;5682:61::-;;;;:::o;5367:28::-;;;;:::o;11765:112::-;2592:13;:11;:13::i;:::-;11860:9:::1;11847:10;;:22;;;;;;;;;;;;;;;;;;11765:112:::0;:::o;7478:143::-;7559:7;7586:11;:18;7598:5;7586:18;;;;;;;;;;;;;;;:27;7605:7;7586:27;;;;;;;;;;;;;;;;7579:34;;7478:143;;;;:::o;11288:230::-;2592:13;:11;:13::i;:::-;11386:2:::1;11376:6;:12;;11368:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;11435:2;11424:7;:13;;11416:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11475:6;11465:7;:16;;;;11503:7;11492:8;:18;;;;11288:230:::0;;:::o;11647:110::-;2592:13;:11;:13::i;:::-;11744:5:::1;11714:18;:27;11733:7;11714:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11647:110:::0;:::o;3605:201::-;2592:13;:11;:13::i;:::-;3714:1:::1;3694:22;;:8;:22;;;;3686:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3770:28;3789:8;3770:18;:28::i;:::-;3605:201:::0;:::o;209:98::-;262:7;289:10;282:17;;209:98;:::o;8119:335::-;8229:1;8212:19;;:5;:19;;;;8204:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8310:1;8291:21;;:7;:21;;;;8283:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8392:6;8362:11;:18;8374:5;8362:18;;;;;;;;;;;;;;;:27;8381:7;8362:27;;;;;;;;;;;;;;;:36;;;;8430:7;8414:32;;8423:5;8414:32;;;8439:6;8414:32;;;;;;:::i;:::-;;;;;;;;8119:335;;;:::o;2871:132::-;2946:12;:10;:12::i;:::-;2935:23;;:7;:5;:7::i;:::-;:23;;;2927:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2871:132::o;1798:::-;1856:7;1883:39;1887:1;1890;1883:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1876:46;;1798:132;;;;:::o;8462:1687::-;8566:1;8550:18;;:4;:18;;;;8542:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8643:1;8629:16;;:2;:16;;;;8621:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8713:1;8704:6;:10;8696:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8771:17;8806:18;:24;8825:4;8806:24;;;;;;;;;;;;;;;;;;;;;;;;;8805:25;:52;;;;;8835:18;:22;8854:2;8835:22;;;;;;;;;;;;;;;;;;;;;;;;;8834:23;8805:52;8801:992;;;8885:13;;;;;;;;;;;8879:19;;:2;:19;;;8876:137;;8951:14;;8941:6;8925:13;8935:2;8925:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8917:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8876:137;9041:13;;;;;;;;;;;9033:21;;:4;:21;;;:55;;;;;9072:15;;;;;;;;;;;9058:30;;:2;:30;;;;9033:55;:83;;;;;9094:18;:22;9113:2;9094:22;;;;;;;;;;;;;;;;;;;;;;;;;9092:24;9033:83;9029:165;;;9150:28;9174:3;9150:19;9161:7;;9150:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9138:40;;9029:165;9221:13;;;;;;;;;;;9215:19;;:2;:19;;;:43;;;;;9253:4;9238:20;;:4;:20;;;;9215:43;9212:126;;;9291:29;9316:3;9291:20;9302:8;;9291:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9279:41;;9212:126;9354:28;9385:24;9403:4;9385:9;:24::i;:::-;9354:55;;9429:6;;;;;;;;;;;9428:7;:30;;;;;9445:13;;;;;;;;;;;9439:19;;:2;:19;;;9428:30;:45;;;;;9462:11;;;;;;;;;;;9428:45;:87;;;;;9498:17;;9477:20;:38;9428:87;9424:358;;;9536:38;9553:20;9536:16;:38::i;:::-;9593:26;9622:21;9593:50;;9686:1;9665:18;:22;9662:105;;;9712:35;9725:21;9712:12;:35::i;:::-;9662:105;9517:265;9424:358;8859:934;8801:992;9818:1;9808:9;:11;9805:161;;;9858:39;9887:9;9858;:24;9876:4;9858:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9833:9;:24;9851:4;9833:24;;;;;;;;;;;;;;;:64;;;;9938:4;9915:39;;9924:4;9915:39;;;9944:9;9915:39;;;;;;:::i;:::-;;;;;;;;9805:161;9992:27;10012:6;9992:9;:15;10002:4;9992:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9976:9;:15;9986:4;9976:15;;;;;;;;;;;;;;;:43;;;;10044:40;10062:21;10073:9;10062:6;:10;;:21;;;;:::i;:::-;10044:9;:13;10054:2;10044:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10030:9;:13;10040:2;10030:13;;;;;;;;;;;;;;;:54;;;;10115:2;10100:41;;10109:4;10100:41;;;10119:21;10130:9;10119:6;:10;;:21;;;;:::i;:::-;10100:41;;;;;;:::i;:::-;;;;;;;;8531:1618;8462:1687;;;:::o;1346:190::-;1432:7;1465:1;1460;:6;;1468:12;1452:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1492:9;1508:1;1504;:5;;;;:::i;:::-;1492:17;;1527:1;1520:8;;;1346:190;;;;;:::o;10265:520::-;6022:4;6013:6;;:13;;;;;;;;;;;;;;;;;;10359:1:::1;10346:11;:14;10343:27;;;10362:7;;10343:27;10380:21;10418:1;10404:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10380:40;;10449:4;10431;10436:1;10431:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10475:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10465:4;10470:1;10465:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10508:62;10525:4;10540:15;;;;;;;;;;;10558:11;10508:8;:62::i;:::-;10581:15;;;;;;;;;;;:66;;;10662:11;10688:1;10704:4;10731;10751:15;10581:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10332:453;6037:1;6058:5:::0;6049:6;;:14;;;;;;;;;;;;;;;;;;10265:520;:::o;10793:92::-;10850:10;;;;;;;;;;;:19;;:27;10870:6;10850:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10793:92;:::o;3966:191::-;4040:16;4059:6;;;;;;;;;;;4040:25;;4085:8;4076:6;;:17;;;;;;;;;;;;;;;;;;4140:8;4109:40;;4130:8;4109:40;;;;;;;;;;;;4029:128;3966:191;:::o;1938:189::-;2024:7;2056:1;2052;:5;2059:12;2044:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2083:9;2099:1;2095;:5;;;;:::i;:::-;2083:17;;2118:1;2111:8;;;1938:189;;;;;:::o;1544:246::-;1602:7;1631:1;1626;:6;1622:47;;;1656:1;1649:8;;;;1622:47;1679:9;1695:1;1691;:5;;;;:::i;:::-;1679:17;;1724:1;1719;1715;:5;;;;:::i;:::-;:10;1707:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1781:1;1774:8;;;1544:246;;;;;:::o;1015:179::-;1073:7;1093:9;1109:1;1105;:5;;;;:::i;:::-;1093:17;;1134:1;1129;:6;;1121:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1185:1;1178:8;;;1015:179;;;;:::o;1202:136::-;1260:7;1287:43;1291:1;1294;1287:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1280:50;;1202:136;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:104::-;5616:7;5645:24;5663:5;5645:24;:::i;:::-;5634:35;;5571:104;;;:::o;5681:142::-;5784:32;5810:5;5784:32;:::i;:::-;5779:3;5772:45;5681:142;;:::o;5829:254::-;5938:4;5976:2;5965:9;5961:18;5953:26;;5989:87;6073:1;6062:9;6058:17;6049:6;5989:87;:::i;:::-;5829:254;;;;:::o;6089:118::-;6176:24;6194:5;6176:24;:::i;:::-;6171:3;6164:37;6089:118;;:::o;6213:222::-;6306:4;6344:2;6333:9;6329:18;6321:26;;6357:71;6425:1;6414:9;6410:17;6401:6;6357:71;:::i;:::-;6213:222;;;;:::o;6441:138::-;6522:32;6548:5;6522:32;:::i;:::-;6515:5;6512:43;6502:71;;6569:1;6566;6559:12;6502:71;6441:138;:::o;6585:155::-;6639:5;6677:6;6664:20;6655:29;;6693:41;6728:5;6693:41;:::i;:::-;6585:155;;;;:::o;6746:345::-;6813:6;6862:2;6850:9;6841:7;6837:23;6833:32;6830:119;;;6868:79;;:::i;:::-;6830:119;6988:1;7013:61;7066:7;7057:6;7046:9;7042:22;7013:61;:::i;:::-;7003:71;;6959:125;6746:345;;;;:::o;7097:474::-;7165:6;7173;7222:2;7210:9;7201:7;7197:23;7193:32;7190:119;;;7228:79;;:::i;:::-;7190:119;7348:1;7373:53;7418:7;7409:6;7398:9;7394:22;7373:53;:::i;:::-;7363:63;;7319:117;7475:2;7501:53;7546:7;7537:6;7526:9;7522:22;7501:53;:::i;:::-;7491:63;;7446:118;7097:474;;;;;:::o;7577:::-;7645:6;7653;7702:2;7690:9;7681:7;7677:23;7673:32;7670:119;;;7708:79;;:::i;:::-;7670:119;7828:1;7853:53;7898:7;7889:6;7878:9;7874:22;7853:53;:::i;:::-;7843:63;;7799:117;7955:2;7981:53;8026:7;8017:6;8006:9;8002:22;7981:53;:::i;:::-;7971:63;;7926:118;7577:474;;;;;:::o;8057:180::-;8105:77;8102:1;8095:88;8202:4;8199:1;8192:15;8226:4;8223:1;8216:15;8243:102;8285:8;8332:5;8329:1;8325:13;8304:34;;8243:102;;;:::o;8351:848::-;8412:5;8419:4;8443:6;8434:15;;8467:5;8458:14;;8481:712;8502:1;8492:8;8489:15;8481:712;;;8597:4;8592:3;8588:14;8582:4;8579:24;8576:50;;;8606:18;;:::i;:::-;8576:50;8656:1;8646:8;8642:16;8639:451;;;9071:4;9064:5;9060:16;9051:25;;8639:451;9121:4;9115;9111:15;9103:23;;9151:32;9174:8;9151:32;:::i;:::-;9139:44;;8481:712;;;8351:848;;;;;;;:::o;9205:1073::-;9259:5;9450:8;9440:40;;9471:1;9462:10;;9473:5;;9440:40;9499:4;9489:36;;9516:1;9507:10;;9518:5;;9489:36;9585:4;9633:1;9628:27;;;;9669:1;9664:191;;;;9578:277;;9628:27;9646:1;9637:10;;9648:5;;;9664:191;9709:3;9699:8;9696:17;9693:43;;;9716:18;;:::i;:::-;9693:43;9765:8;9762:1;9758:16;9749:25;;9800:3;9793:5;9790:14;9787:40;;;9807:18;;:::i;:::-;9787:40;9840:5;;;9578:277;;9964:2;9954:8;9951:16;9945:3;9939:4;9936:13;9932:36;9914:2;9904:8;9901:16;9896:2;9890:4;9887:12;9883:35;9867:111;9864:246;;;10020:8;10014:4;10010:19;10001:28;;10055:3;10048:5;10045:14;10042:40;;;10062:18;;:::i;:::-;10042:40;10095:5;;9864:246;10135:42;10173:3;10163:8;10157:4;10154:1;10135:42;:::i;:::-;10120:57;;;;10209:4;10204:3;10200:14;10193:5;10190:25;10187:51;;;10218:18;;:::i;:::-;10187:51;10267:4;10260:5;10256:16;10247:25;;9205:1073;;;;;;:::o;10284:281::-;10342:5;10366:23;10384:4;10366:23;:::i;:::-;10358:31;;10410:25;10426:8;10410:25;:::i;:::-;10398:37;;10454:104;10491:66;10481:8;10475:4;10454:104;:::i;:::-;10445:113;;10284:281;;;;:::o;10571:348::-;10611:7;10634:20;10652:1;10634:20;:::i;:::-;10629:25;;10668:20;10686:1;10668:20;:::i;:::-;10663:25;;10856:1;10788:66;10784:74;10781:1;10778:81;10773:1;10766:9;10759:17;10755:105;10752:131;;;10863:18;;:::i;:::-;10752:131;10911:1;10908;10904:9;10893:20;;10571:348;;;;:::o;10925:163::-;11065:15;11061:1;11053:6;11049:14;11042:39;10925:163;:::o;11094:366::-;11236:3;11257:67;11321:2;11316:3;11257:67;:::i;:::-;11250:74;;11333:93;11422:3;11333:93;:::i;:::-;11451:2;11446:3;11442:12;11435:19;;11094:366;;;:::o;11466:419::-;11632:4;11670:2;11659:9;11655:18;11647:26;;11719:9;11713:4;11709:20;11705:1;11694:9;11690:17;11683:47;11747:131;11873:4;11747:131;:::i;:::-;11739:139;;11466:419;;;:::o;11891:162::-;12031:14;12027:1;12019:6;12015:14;12008:38;11891:162;:::o;12059:366::-;12201:3;12222:67;12286:2;12281:3;12222:67;:::i;:::-;12215:74;;12298:93;12387:3;12298:93;:::i;:::-;12416:2;12411:3;12407:12;12400:19;;12059:366;;;:::o;12431:419::-;12597:4;12635:2;12624:9;12620:18;12612:26;;12684:9;12678:4;12674:20;12670:1;12659:9;12655:17;12648:47;12712:131;12838:4;12712:131;:::i;:::-;12704:139;;12431:419;;;:::o;12856:225::-;12996:34;12992:1;12984:6;12980:14;12973:58;13065:8;13060:2;13052:6;13048:15;13041:33;12856:225;:::o;13087:366::-;13229:3;13250:67;13314:2;13309:3;13250:67;:::i;:::-;13243:74;;13326:93;13415:3;13326:93;:::i;:::-;13444:2;13439:3;13435:12;13428:19;;13087:366;;;:::o;13459:419::-;13625:4;13663:2;13652:9;13648:18;13640:26;;13712:9;13706:4;13702:20;13698:1;13687:9;13683:17;13676:47;13740:131;13866:4;13740:131;:::i;:::-;13732:139;;13459:419;;;:::o;13884:223::-;14024:34;14020:1;14012:6;14008:14;14001:58;14093:6;14088:2;14080:6;14076:15;14069:31;13884:223;:::o;14113:366::-;14255:3;14276:67;14340:2;14335:3;14276:67;:::i;:::-;14269:74;;14352:93;14441:3;14352:93;:::i;:::-;14470:2;14465:3;14461:12;14454:19;;14113:366;;;:::o;14485:419::-;14651:4;14689:2;14678:9;14674:18;14666:26;;14738:9;14732:4;14728:20;14724:1;14713:9;14709:17;14702:47;14766:131;14892:4;14766:131;:::i;:::-;14758:139;;14485:419;;;:::o;14910:221::-;15050:34;15046:1;15038:6;15034:14;15027:58;15119:4;15114:2;15106:6;15102:15;15095:29;14910:221;:::o;15137:366::-;15279:3;15300:67;15364:2;15359:3;15300:67;:::i;:::-;15293:74;;15376:93;15465:3;15376:93;:::i;:::-;15494:2;15489:3;15485:12;15478:19;;15137:366;;;:::o;15509:419::-;15675:4;15713:2;15702:9;15698:18;15690:26;;15762:9;15756:4;15752:20;15748:1;15737:9;15733:17;15726:47;15790:131;15916:4;15790:131;:::i;:::-;15782:139;;15509:419;;;:::o;15934:182::-;16074:34;16070:1;16062:6;16058:14;16051:58;15934:182;:::o;16122:366::-;16264:3;16285:67;16349:2;16344:3;16285:67;:::i;:::-;16278:74;;16361:93;16450:3;16361:93;:::i;:::-;16479:2;16474:3;16470:12;16463:19;;16122:366;;;:::o;16494:419::-;16660:4;16698:2;16687:9;16683:18;16675:26;;16747:9;16741:4;16737:20;16733:1;16722:9;16718:17;16711:47;16775:131;16901:4;16775:131;:::i;:::-;16767:139;;16494:419;;;:::o;16919:224::-;17059:34;17055:1;17047:6;17043:14;17036:58;17128:7;17123:2;17115:6;17111:15;17104:32;16919:224;:::o;17149:366::-;17291:3;17312:67;17376:2;17371:3;17312:67;:::i;:::-;17305:74;;17388:93;17477:3;17388:93;:::i;:::-;17506:2;17501:3;17497:12;17490:19;;17149:366;;;:::o;17521:419::-;17687:4;17725:2;17714:9;17710:18;17702:26;;17774:9;17768:4;17764:20;17760:1;17749:9;17745:17;17738:47;17802:131;17928:4;17802:131;:::i;:::-;17794:139;;17521:419;;;:::o;17946:222::-;18086:34;18082:1;18074:6;18070:14;18063:58;18155:5;18150:2;18142:6;18138:15;18131:30;17946:222;:::o;18174:366::-;18316:3;18337:67;18401:2;18396:3;18337:67;:::i;:::-;18330:74;;18413:93;18502:3;18413:93;:::i;:::-;18531:2;18526:3;18522:12;18515:19;;18174:366;;;:::o;18546:419::-;18712:4;18750:2;18739:9;18735:18;18727:26;;18799:9;18793:4;18789:20;18785:1;18774:9;18770:17;18763:47;18827:131;18953:4;18827:131;:::i;:::-;18819:139;;18546:419;;;:::o;18971:228::-;19111:34;19107:1;19099:6;19095:14;19088:58;19180:11;19175:2;19167:6;19163:15;19156:36;18971:228;:::o;19205:366::-;19347:3;19368:67;19432:2;19427:3;19368:67;:::i;:::-;19361:74;;19444:93;19533:3;19444:93;:::i;:::-;19562:2;19557:3;19553:12;19546:19;;19205:366;;;:::o;19577:419::-;19743:4;19781:2;19770:9;19766:18;19758:26;;19830:9;19824:4;19820:20;19816:1;19805:9;19801:17;19794:47;19858:131;19984:4;19858:131;:::i;:::-;19850:139;;19577:419;;;:::o;20002:305::-;20042:3;20061:20;20079:1;20061:20;:::i;:::-;20056:25;;20095:20;20113:1;20095:20;:::i;:::-;20090:25;;20249:1;20181:66;20177:74;20174:1;20171:81;20168:107;;;20255:18;;:::i;:::-;20168:107;20299:1;20296;20292:9;20285:16;;20002:305;;;;:::o;20313:177::-;20453:29;20449:1;20441:6;20437:14;20430:53;20313:177;:::o;20496:366::-;20638:3;20659:67;20723:2;20718:3;20659:67;:::i;:::-;20652:74;;20735:93;20824:3;20735:93;:::i;:::-;20853:2;20848:3;20844:12;20837:19;;20496:366;;;:::o;20868:419::-;21034:4;21072:2;21061:9;21057:18;21049:26;;21121:9;21115:4;21111:20;21107:1;21096:9;21092:17;21085:47;21149:131;21275:4;21149:131;:::i;:::-;21141:139;;20868:419;;;:::o;21293:191::-;21333:4;21353:20;21371:1;21353:20;:::i;:::-;21348:25;;21387:20;21405:1;21387:20;:::i;:::-;21382:25;;21426:1;21423;21420:8;21417:34;;;21431:18;;:::i;:::-;21417:34;21476:1;21473;21469:9;21461:17;;21293:191;;;;:::o;21490:180::-;21538:77;21535:1;21528:88;21635:4;21632:1;21625:15;21659:4;21656:1;21649:15;21676:180;21724:77;21721:1;21714:88;21821:4;21818:1;21811:15;21845:4;21842:1;21835:15;21862:143;21919:5;21950:6;21944:13;21935:22;;21966:33;21993:5;21966:33;:::i;:::-;21862:143;;;;:::o;22011:351::-;22081:6;22130:2;22118:9;22109:7;22105:23;22101:32;22098:119;;;22136:79;;:::i;:::-;22098:119;22256:1;22281:64;22337:7;22328:6;22317:9;22313:22;22281:64;:::i;:::-;22271:74;;22227:128;22011:351;;;;:::o;22368:85::-;22413:7;22442:5;22431:16;;22368:85;;;:::o;22459:60::-;22487:3;22508:5;22501:12;;22459:60;;;:::o;22525:158::-;22583:9;22616:61;22634:42;22643:32;22669:5;22643:32;:::i;:::-;22634:42;:::i;:::-;22616:61;:::i;:::-;22603:74;;22525:158;;;:::o;22689:147::-;22784:45;22823:5;22784:45;:::i;:::-;22779:3;22772:58;22689:147;;:::o;22842:114::-;22909:6;22943:5;22937:12;22927:22;;22842:114;;;:::o;22962:184::-;23061:11;23095:6;23090:3;23083:19;23135:4;23130:3;23126:14;23111:29;;22962:184;;;;:::o;23152:132::-;23219:4;23242:3;23234:11;;23272:4;23267:3;23263:14;23255:22;;23152:132;;;:::o;23290:108::-;23367:24;23385:5;23367:24;:::i;:::-;23362:3;23355:37;23290:108;;:::o;23404:179::-;23473:10;23494:46;23536:3;23528:6;23494:46;:::i;:::-;23572:4;23567:3;23563:14;23549:28;;23404:179;;;;:::o;23589:113::-;23659:4;23691;23686:3;23682:14;23674:22;;23589:113;;;:::o;23738:732::-;23857:3;23886:54;23934:5;23886:54;:::i;:::-;23956:86;24035:6;24030:3;23956:86;:::i;:::-;23949:93;;24066:56;24116:5;24066:56;:::i;:::-;24145:7;24176:1;24161:284;24186:6;24183:1;24180:13;24161:284;;;24262:6;24256:13;24289:63;24348:3;24333:13;24289:63;:::i;:::-;24282:70;;24375:60;24428:6;24375:60;:::i;:::-;24365:70;;24221:224;24208:1;24205;24201:9;24196:14;;24161:284;;;24165:14;24461:3;24454:10;;23862:608;;;23738:732;;;;:::o;24476:831::-;24739:4;24777:3;24766:9;24762:19;24754:27;;24791:71;24859:1;24848:9;24844:17;24835:6;24791:71;:::i;:::-;24872:80;24948:2;24937:9;24933:18;24924:6;24872:80;:::i;:::-;24999:9;24993:4;24989:20;24984:2;24973:9;24969:18;24962:48;25027:108;25130:4;25121:6;25027:108;:::i;:::-;25019:116;;25145:72;25213:2;25202:9;25198:18;25189:6;25145:72;:::i;:::-;25227:73;25295:3;25284:9;25280:19;25271:6;25227:73;:::i;:::-;24476:831;;;;;;;;:::o;25313:180::-;25361:77;25358:1;25351:88;25458:4;25455:1;25448:15;25482:4;25479:1;25472:15;25499:185;25539:1;25556:20;25574:1;25556:20;:::i;:::-;25551:25;;25590:20;25608:1;25590:20;:::i;:::-;25585:25;;25629:1;25619:35;;25634:18;;:::i;:::-;25619:35;25676:1;25673;25669:9;25664:14;;25499:185;;;;:::o;25690:220::-;25830:34;25826:1;25818:6;25814:14;25807:58;25899:3;25894:2;25886:6;25882:15;25875:28;25690:220;:::o;25916:366::-;26058:3;26079:67;26143:2;26138:3;26079:67;:::i;:::-;26072:74;;26155:93;26244:3;26155:93;:::i;:::-;26273:2;26268:3;26264:12;26257:19;;25916:366;;;:::o;26288:419::-;26454:4;26492:2;26481:9;26477:18;26469:26;;26541:9;26535:4;26531:20;26527:1;26516:9;26512:17;26505:47;26569:131;26695:4;26569:131;:::i;:::-;26561:139;;26288:419;;;:::o;26713:177::-;26853:29;26849:1;26841:6;26837:14;26830:53;26713:177;:::o;26896:366::-;27038:3;27059:67;27123:2;27118:3;27059:67;:::i;:::-;27052:74;;27135:93;27224:3;27135:93;:::i;:::-;27253:2;27248:3;27244:12;27237:19;;26896:366;;;:::o;27268:419::-;27434:4;27472:2;27461:9;27457:18;27449:26;;27521:9;27515:4;27511:20;27507:1;27496:9;27492:17;27485:47;27549:131;27675:4;27549:131;:::i;:::-;27541:139;;27268:419;;;:::o

Swarm Source

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