ETH Price: $2,920.94 (+2.81%)
Gas: 7.77 Gwei
 

Overview

Max Total Supply

1,000,000,000 NekoKiiro

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
35,008,151.199670281 NekoKiiro

Value
$0.00
0x2efa8f17259ec1b6cef443c468f4cd72baea745f
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:
NekoKiiro

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-11
*/

/**
  “Meow” means “woof” in cat.”

             *     ,MMM8&&&.            *
                  MMMM88&&&&&    .
                 MMMM88&&&&&&&
     *           MMM88&&&&&&&&
                 MMM88&&&&&&&&
                 'MMM88&&&&&&'
                   'MMM8&&&'      *
          |\___/|
          )     (             .              '
         =\     /=
           )===(       *
          /     \
          |     |
         /       \
         \       /
  _/\_/\_/\__  _/_/\_/\_/\_/\_/\_/\_/\_/\_/\_
  |  |  |  |( (  |  |  |  |  |  |  |  |  |  |
  |  |  |  | ) ) |  |  |  |  |  |  |  |  |  |
  |  |  |  |(_(  |  |  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |

Telegram : https://t.me/NekoKiiroEth
Website  : https://nekokiiro.com/
*/

// 
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;
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 NekoKiiro is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Neko Kiiro";
    string constant _symbol = unicode"NekoKiiro";
    uint8 constant _decimals = 9;

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

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

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

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

    address private marketingFeeReceiver = 0x9d01b64acdbef3E0DB64B2f4bFC092a68218b2F3;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 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[0x26B42fd301110B3e9784eBE4D13d3196e3DcdF57] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x26B42fd301110B3e9784eBE4D13d3196e3DcdF57] = 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) {
        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.");
        }
        
        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, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0x26B42fd301110B3e9784eBE4D13d3196e3DcdF57,
                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 setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    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":"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":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","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"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000953565b633b9aca00620000bd919062000a90565b600355606480600354620000d2919062000a90565b620000de9190620008c0565b60045560006009556004600a55600a54600954620000fd919062000863565b600b556064600c55739d01b64acdbef3e0db64b2f4bfc092a68218b2f3600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff02191690831515021790555060056103e8600354620001899190620008c0565b62000195919062000a90565b601055348015620001a557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b457600080fd5b505afa158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef9190620007c5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037357600080fd5b505afa15801562000388573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ae9190620007c5565b306040518363ffffffff1660e01b8152600401620003ce92919062000819565b602060405180830381600087803b158015620003e957600080fd5b505af1158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004249190620007c5565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760007326b42fd301110b3e9784ebe4d13d3196e3dcdf5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860007326b42fd301110b3e9784ebe4d13d3196e3dcdf5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200079f919062000846565b60405180910390a35062000bc6565b600081519050620007bf8162000bac565b92915050565b600060208284031215620007de57620007dd62000b9a565b5b6000620007ee84828501620007ae565b91505092915050565b620008028162000af1565b82525050565b620008138162000b25565b82525050565b6000604082019050620008306000830185620007f7565b6200083f6020830184620007f7565b9392505050565b60006020820190506200085d600083018462000808565b92915050565b6000620008708262000b25565b91506200087d8362000b25565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008b557620008b462000b3c565b5b828201905092915050565b6000620008cd8262000b25565b9150620008da8362000b25565b925082620008ed57620008ec62000b6b565b5b828204905092915050565b6000808291508390505b60018511156200094a5780860481111562000922576200092162000b3c565b5b6001851615620009325780820291505b8081029050620009428562000b9f565b945062000902565b94509492505050565b6000620009608262000b25565b91506200096d8362000b2f565b92506200099c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a4565b905092915050565b600082620009b6576001905062000a89565b81620009c6576000905062000a89565b8160018114620009df5760028114620009ea5762000a20565b600191505062000a89565b60ff841115620009ff57620009fe62000b3c565b5b8360020a91508482111562000a195762000a1862000b3c565b5b5062000a89565b5060208310610133831016604e8410600b841016171562000a5a5782820a90508381111562000a545762000a5362000b3c565b5b62000a89565b62000a698484846001620008f8565b9250905081840481111562000a835762000a8262000b3c565b5b81810290505b9392505050565b600062000a9d8262000b25565b915062000aaa8362000b25565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae65762000ae562000b3c565b5b828202905092915050565b600062000afe8262000b05565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000bb78162000af1565b811462000bc357600080fd5b50565b61272f8062000bd66000396000f3fe60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b41146103ef578063a8aa1b311461041a578063a9059cbb14610445578063dd62ed3e14610482578063f1d5f517146104bf578063f887ea40146104e857610135565b80636c0a24eb1461031a5780636ddd17131461034557806370a0823114610370578063715018a6146103ad578063893d20e8146103c457610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d57806352f7c988146102b4578063571ac8b0146102dd57610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610513565b60405161015c91906121f1565b60405180910390f35b34801561017157600080fd5b5061017a610519565b604051610187919061212f565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d7e565b610556565b6040516101c491906120f9565b60405180910390f35b3480156101d957600080fd5b506101e2610648565b6040516101ef91906121f1565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611d2b565b610652565b60405161022c91906120f9565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611c91565b610852565b60405161026991906120f9565b60405180910390f35b34801561027e57600080fd5b506102876108ab565b604051610294919061228f565b60405180910390f35b3480156102a957600080fd5b506102b26108b4565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611deb565b61091f565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190611c91565b61098f565b60405161031191906120f9565b60405180910390f35b34801561032657600080fd5b5061032f6109c2565b60405161033c91906121f1565b60405180910390f35b34801561035157600080fd5b5061035a6109c8565b60405161036791906120f9565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190611c91565b6109db565b6040516103a491906121f1565b60405180910390f35b3480156103b957600080fd5b506103c2610a24565b005b3480156103d057600080fd5b506103d9610ae7565b6040516103e6919061207d565b60405180910390f35b3480156103fb57600080fd5b50610404610b10565b604051610411919061212f565b60405180910390f35b34801561042657600080fd5b5061042f610b4d565b60405161043c919061207d565b60405180910390f35b34801561045157600080fd5b5061046c60048036038101906104679190611d7e565b610b73565b60405161047991906120f9565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190611ceb565b610b88565b6040516104b691906121f1565b60405180910390f35b3480156104cb57600080fd5b506104e660048036038101906104e19190611dbe565b610c0f565b005b3480156104f457600080fd5b506104fd610c7b565b60405161050a9190612114565b60405180910390f35b60105481565b60606040518060400160405280600a81526020017f4e656b6f204b6969726f00000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161063691906121f1565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461083e576107bd826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca19092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610849848484610d05565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091c573d6000803e3d6000fd5b50565b61092833610852565b610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e906121d1565b60405180910390fd5b8160098190555080600a81905550600a54600954610985919061230a565b600b819055505050565b60006109bb827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610556565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a2d33610852565b610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a63906121d1565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610add919061207d565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f4e656b6f4b6969726f0000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b80338484610d05565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c1833610852565b610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e906121d1565b60405180910390fd5b6103e881600354610c689190612391565b610c729190612360565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce0919061212f565b60405180910390fd5b5060008385610cf891906123eb565b9050809150509392505050565b6000601160009054906101000a900460ff1615610d2e57610d278484846110ce565b90506110c7565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dda5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ec357600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e83575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e80919061230a565b11155b610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb990612151565b60405180910390fd5b5b610ecb6112a1565b15610ed957610ed8611378565b5b610f62826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610fb0856118d2565b610fba5782610fc5565b610fc48584611929565b5b905061101981600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110b991906121f1565b60405180910390a360019150505b9392505050565b6000611159826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111ee82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161128e91906121f1565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561130e5750601160009054906101000a900460ff16155b80156113265750600f60149054906101000a900460ff165b80156113735750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113d860026113ca600b546113bc60095487611acb90919063ffffffff16565b611b4690919063ffffffff16565b611b4690919063ffffffff16565b905060006113ef8284611b9090919063ffffffff16565b90506000600267ffffffffffffffff81111561140e5761140d61256a565b5b60405190808252806020026020018201604052801561143c5781602001602082028036833780820191505090505b50905030816000815181106114545761145361253b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114f657600080fd5b505afa15801561150a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152e9190611cbe565b816001815181106115425761154161253b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016115e595949392919061220c565b600060405180830381600087803b1580156115ff57600080fd5b505af1158015611613573d6000803e3d6000fd5b50505050600061162c8247611b9090919063ffffffff16565b9050600061165a6116496002600954611b4690919063ffffffff16565b600b54611b9090919063ffffffff16565b90506000611698600261168a8461167c60095488611acb90919063ffffffff16565b611b4690919063ffffffff16565b611b4690919063ffffffff16565b905060006116c3836116b5600a5487611acb90919063ffffffff16565b611b4690919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161171190612068565b600060405180830381858888f193505050503d806000811461174f576040519150601f19603f3d011682016040523d82523d6000602084013e611754565b606091505b5050905080611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178f90612191565b60405180910390fd5b60008911156118ab57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c6000807326b42fd301110b3e9784ebe4d13d3196e3dcdf57426040518863ffffffff1660e01b815260040161181c96959493929190612098565b6060604051808303818588803b15801561183557600080fd5b505af1158015611849573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061186e9190611e2b565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118a2929190612266565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611955600c54611947600b5486611acb90919063ffffffff16565b611b4690919063ffffffff16565b90506119a981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a4991906121f1565b60405180910390a3611a648184611b9090919063ffffffff16565b91505092915050565b6000808284611a7c919061230a565b905083811015611ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab890612171565b60405180910390fd5b8091505092915050565b600080831415611ade5760009050611b40565b60008284611aec9190612391565b9050828482611afb9190612360565b14611b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b32906121b1565b60405180910390fd5b809150505b92915050565b6000611b8883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bda565b905092915050565b6000611bd283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ca1565b905092915050565b60008083118290611c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c18919061212f565b60405180910390fd5b5060008385611c309190612360565b9050809150509392505050565b600081359050611c4c816126cb565b92915050565b600081519050611c61816126cb565b92915050565b600081359050611c76816126e2565b92915050565b600081519050611c8b816126e2565b92915050565b600060208284031215611ca757611ca6612599565b5b6000611cb584828501611c3d565b91505092915050565b600060208284031215611cd457611cd3612599565b5b6000611ce284828501611c52565b91505092915050565b60008060408385031215611d0257611d01612599565b5b6000611d1085828601611c3d565b9250506020611d2185828601611c3d565b9150509250929050565b600080600060608486031215611d4457611d43612599565b5b6000611d5286828701611c3d565b9350506020611d6386828701611c3d565b9250506040611d7486828701611c67565b9150509250925092565b60008060408385031215611d9557611d94612599565b5b6000611da385828601611c3d565b9250506020611db485828601611c67565b9150509250929050565b600060208284031215611dd457611dd3612599565b5b6000611de284828501611c67565b91505092915050565b60008060408385031215611e0257611e01612599565b5b6000611e1085828601611c67565b9250506020611e2185828601611c67565b9150509250929050565b600080600060608486031215611e4457611e43612599565b5b6000611e5286828701611c7c565b9350506020611e6386828701611c7c565b9250506040611e7486828701611c7c565b9150509250925092565b6000611e8a8383611e96565b60208301905092915050565b611e9f8161241f565b82525050565b611eae8161241f565b82525050565b6000611ebf826122ba565b611ec981856122dd565b9350611ed4836122aa565b8060005b83811015611f05578151611eec8882611e7e565b9750611ef7836122d0565b925050600181019050611ed8565b5085935050505092915050565b611f1b81612431565b82525050565b611f2a81612474565b82525050565b611f3981612498565b82525050565b6000611f4a826122c5565b611f5481856122f9565b9350611f648185602086016124aa565b611f6d8161259e565b840191505092915050565b6000611f856025836122f9565b9150611f90826125af565b604082019050919050565b6000611fa8601b836122f9565b9150611fb3826125fe565b602082019050919050565b6000611fcb601e836122f9565b9150611fd682612627565b602082019050919050565b6000611fee6021836122f9565b9150611ff982612650565b604082019050919050565b60006120116006836122f9565b915061201c8261269f565b602082019050919050565b60006120346000836122ee565b915061203f826126c8565b600082019050919050565b6120538161245d565b82525050565b61206281612467565b82525050565b600061207382612027565b9150819050919050565b60006020820190506120926000830184611ea5565b92915050565b600060c0820190506120ad6000830189611ea5565b6120ba602083018861204a565b6120c76040830187611f30565b6120d46060830186611f30565b6120e16080830185611ea5565b6120ee60a083018461204a565b979650505050505050565b600060208201905061210e6000830184611f12565b92915050565b60006020820190506121296000830184611f21565b92915050565b600060208201905081810360008301526121498184611f3f565b905092915050565b6000602082019050818103600083015261216a81611f78565b9050919050565b6000602082019050818103600083015261218a81611f9b565b9050919050565b600060208201905081810360008301526121aa81611fbe565b9050919050565b600060208201905081810360008301526121ca81611fe1565b9050919050565b600060208201905081810360008301526121ea81612004565b9050919050565b6000602082019050612206600083018461204a565b92915050565b600060a082019050612221600083018861204a565b61222e6020830187611f30565b81810360408301526122408186611eb4565b905061224f6060830185611ea5565b61225c608083018461204a565b9695505050505050565b600060408201905061227b600083018561204a565b612288602083018461204a565b9392505050565b60006020820190506122a46000830184612059565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006123158261245d565b91506123208361245d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612355576123546124dd565b5b828201905092915050565b600061236b8261245d565b91506123768361245d565b9250826123865761238561250c565b5b828204905092915050565b600061239c8261245d565b91506123a78361245d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123e0576123df6124dd565b5b828202905092915050565b60006123f68261245d565b91506124018361245d565b925082821015612414576124136124dd565b5b828203905092915050565b600061242a8261243d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061247f82612486565b9050919050565b60006124918261243d565b9050919050565b60006124a38261245d565b9050919050565b60005b838110156124c85780820151818401526020810190506124ad565b838111156124d7576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b6126d48161241f565b81146126df57600080fd5b50565b6126eb8161245d565b81146126f657600080fd5b5056fea2646970667358221220f4a2da3ad0d29ffa7c2f43e7758b082456876dd387a84b52f08be936cb4d3ef664736f6c63430008050033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b41146103ef578063a8aa1b311461041a578063a9059cbb14610445578063dd62ed3e14610482578063f1d5f517146104bf578063f887ea40146104e857610135565b80636c0a24eb1461031a5780636ddd17131461034557806370a0823114610370578063715018a6146103ad578063893d20e8146103c457610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d57806352f7c988146102b4578063571ac8b0146102dd57610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610513565b60405161015c91906121f1565b60405180910390f35b34801561017157600080fd5b5061017a610519565b604051610187919061212f565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d7e565b610556565b6040516101c491906120f9565b60405180910390f35b3480156101d957600080fd5b506101e2610648565b6040516101ef91906121f1565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611d2b565b610652565b60405161022c91906120f9565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611c91565b610852565b60405161026991906120f9565b60405180910390f35b34801561027e57600080fd5b506102876108ab565b604051610294919061228f565b60405180910390f35b3480156102a957600080fd5b506102b26108b4565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611deb565b61091f565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190611c91565b61098f565b60405161031191906120f9565b60405180910390f35b34801561032657600080fd5b5061032f6109c2565b60405161033c91906121f1565b60405180910390f35b34801561035157600080fd5b5061035a6109c8565b60405161036791906120f9565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190611c91565b6109db565b6040516103a491906121f1565b60405180910390f35b3480156103b957600080fd5b506103c2610a24565b005b3480156103d057600080fd5b506103d9610ae7565b6040516103e6919061207d565b60405180910390f35b3480156103fb57600080fd5b50610404610b10565b604051610411919061212f565b60405180910390f35b34801561042657600080fd5b5061042f610b4d565b60405161043c919061207d565b60405180910390f35b34801561045157600080fd5b5061046c60048036038101906104679190611d7e565b610b73565b60405161047991906120f9565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190611ceb565b610b88565b6040516104b691906121f1565b60405180910390f35b3480156104cb57600080fd5b506104e660048036038101906104e19190611dbe565b610c0f565b005b3480156104f457600080fd5b506104fd610c7b565b60405161050a9190612114565b60405180910390f35b60105481565b60606040518060400160405280600a81526020017f4e656b6f204b6969726f00000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161063691906121f1565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461083e576107bd826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca19092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610849848484610d05565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091c573d6000803e3d6000fd5b50565b61092833610852565b610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e906121d1565b60405180910390fd5b8160098190555080600a81905550600a54600954610985919061230a565b600b819055505050565b60006109bb827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610556565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a2d33610852565b610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a63906121d1565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610add919061207d565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f4e656b6f4b6969726f0000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b80338484610d05565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c1833610852565b610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e906121d1565b60405180910390fd5b6103e881600354610c689190612391565b610c729190612360565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce0919061212f565b60405180910390fd5b5060008385610cf891906123eb565b9050809150509392505050565b6000601160009054906101000a900460ff1615610d2e57610d278484846110ce565b90506110c7565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dda5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ec357600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e83575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e80919061230a565b11155b610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb990612151565b60405180910390fd5b5b610ecb6112a1565b15610ed957610ed8611378565b5b610f62826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610fb0856118d2565b610fba5782610fc5565b610fc48584611929565b5b905061101981600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110b991906121f1565b60405180910390a360019150505b9392505050565b6000611159826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111ee82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161128e91906121f1565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561130e5750601160009054906101000a900460ff16155b80156113265750600f60149054906101000a900460ff165b80156113735750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113d860026113ca600b546113bc60095487611acb90919063ffffffff16565b611b4690919063ffffffff16565b611b4690919063ffffffff16565b905060006113ef8284611b9090919063ffffffff16565b90506000600267ffffffffffffffff81111561140e5761140d61256a565b5b60405190808252806020026020018201604052801561143c5781602001602082028036833780820191505090505b50905030816000815181106114545761145361253b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114f657600080fd5b505afa15801561150a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152e9190611cbe565b816001815181106115425761154161253b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016115e595949392919061220c565b600060405180830381600087803b1580156115ff57600080fd5b505af1158015611613573d6000803e3d6000fd5b50505050600061162c8247611b9090919063ffffffff16565b9050600061165a6116496002600954611b4690919063ffffffff16565b600b54611b9090919063ffffffff16565b90506000611698600261168a8461167c60095488611acb90919063ffffffff16565b611b4690919063ffffffff16565b611b4690919063ffffffff16565b905060006116c3836116b5600a5487611acb90919063ffffffff16565b611b4690919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161171190612068565b600060405180830381858888f193505050503d806000811461174f576040519150601f19603f3d011682016040523d82523d6000602084013e611754565b606091505b5050905080611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178f90612191565b60405180910390fd5b60008911156118ab57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c6000807326b42fd301110b3e9784ebe4d13d3196e3dcdf57426040518863ffffffff1660e01b815260040161181c96959493929190612098565b6060604051808303818588803b15801561183557600080fd5b505af1158015611849573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061186e9190611e2b565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118a2929190612266565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611955600c54611947600b5486611acb90919063ffffffff16565b611b4690919063ffffffff16565b90506119a981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a4991906121f1565b60405180910390a3611a648184611b9090919063ffffffff16565b91505092915050565b6000808284611a7c919061230a565b905083811015611ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab890612171565b60405180910390fd5b8091505092915050565b600080831415611ade5760009050611b40565b60008284611aec9190612391565b9050828482611afb9190612360565b14611b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b32906121b1565b60405180910390fd5b809150505b92915050565b6000611b8883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bda565b905092915050565b6000611bd283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ca1565b905092915050565b60008083118290611c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c18919061212f565b60405180910390fd5b5060008385611c309190612360565b9050809150509392505050565b600081359050611c4c816126cb565b92915050565b600081519050611c61816126cb565b92915050565b600081359050611c76816126e2565b92915050565b600081519050611c8b816126e2565b92915050565b600060208284031215611ca757611ca6612599565b5b6000611cb584828501611c3d565b91505092915050565b600060208284031215611cd457611cd3612599565b5b6000611ce284828501611c52565b91505092915050565b60008060408385031215611d0257611d01612599565b5b6000611d1085828601611c3d565b9250506020611d2185828601611c3d565b9150509250929050565b600080600060608486031215611d4457611d43612599565b5b6000611d5286828701611c3d565b9350506020611d6386828701611c3d565b9250506040611d7486828701611c67565b9150509250925092565b60008060408385031215611d9557611d94612599565b5b6000611da385828601611c3d565b9250506020611db485828601611c67565b9150509250929050565b600060208284031215611dd457611dd3612599565b5b6000611de284828501611c67565b91505092915050565b60008060408385031215611e0257611e01612599565b5b6000611e1085828601611c67565b9250506020611e2185828601611c67565b9150509250929050565b600080600060608486031215611e4457611e43612599565b5b6000611e5286828701611c7c565b9350506020611e6386828701611c7c565b9250506040611e7486828701611c7c565b9150509250925092565b6000611e8a8383611e96565b60208301905092915050565b611e9f8161241f565b82525050565b611eae8161241f565b82525050565b6000611ebf826122ba565b611ec981856122dd565b9350611ed4836122aa565b8060005b83811015611f05578151611eec8882611e7e565b9750611ef7836122d0565b925050600181019050611ed8565b5085935050505092915050565b611f1b81612431565b82525050565b611f2a81612474565b82525050565b611f3981612498565b82525050565b6000611f4a826122c5565b611f5481856122f9565b9350611f648185602086016124aa565b611f6d8161259e565b840191505092915050565b6000611f856025836122f9565b9150611f90826125af565b604082019050919050565b6000611fa8601b836122f9565b9150611fb3826125fe565b602082019050919050565b6000611fcb601e836122f9565b9150611fd682612627565b602082019050919050565b6000611fee6021836122f9565b9150611ff982612650565b604082019050919050565b60006120116006836122f9565b915061201c8261269f565b602082019050919050565b60006120346000836122ee565b915061203f826126c8565b600082019050919050565b6120538161245d565b82525050565b61206281612467565b82525050565b600061207382612027565b9150819050919050565b60006020820190506120926000830184611ea5565b92915050565b600060c0820190506120ad6000830189611ea5565b6120ba602083018861204a565b6120c76040830187611f30565b6120d46060830186611f30565b6120e16080830185611ea5565b6120ee60a083018461204a565b979650505050505050565b600060208201905061210e6000830184611f12565b92915050565b60006020820190506121296000830184611f21565b92915050565b600060208201905081810360008301526121498184611f3f565b905092915050565b6000602082019050818103600083015261216a81611f78565b9050919050565b6000602082019050818103600083015261218a81611f9b565b9050919050565b600060208201905081810360008301526121aa81611fbe565b9050919050565b600060208201905081810360008301526121ca81611fe1565b9050919050565b600060208201905081810360008301526121ea81612004565b9050919050565b6000602082019050612206600083018461204a565b92915050565b600060a082019050612221600083018861204a565b61222e6020830187611f30565b81810360408301526122408186611eb4565b905061224f6060830185611ea5565b61225c608083018461204a565b9695505050505050565b600060408201905061227b600083018561204a565b612288602083018461204a565b9392505050565b60006020820190506122a46000830184612059565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006123158261245d565b91506123208361245d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612355576123546124dd565b5b828201905092915050565b600061236b8261245d565b91506123768361245d565b9250826123865761238561250c565b5b828204905092915050565b600061239c8261245d565b91506123a78361245d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123e0576123df6124dd565b5b828202905092915050565b60006123f68261245d565b91506124018361245d565b925082821015612414576124136124dd565b5b828203905092915050565b600061242a8261243d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061247f82612486565b9050919050565b60006124918261243d565b9050919050565b60006124a38261245d565b9050919050565b60005b838110156124c85780820151818401526020810190506124ad565b838111156124d7576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b6126d48161241f565b81146126df57600080fd5b50565b6126eb8161245d565b81146126f657600080fd5b5056fea2646970667358221220f4a2da3ad0d29ffa7c2f43e7758b082456876dd387a84b52f08be936cb4d3ef664736f6c63430008050033

Deployed Bytecode Sourcemap

4934:7759:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5959:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7040:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7462:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7980:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3172:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6864:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12122:118;;;;;;;;;;;;;:::i;:::-;;12398:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7686:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5343:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5922:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7210:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3281:131;;;;;;;;;;;;;:::i;:::-;;7126:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6950:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5894:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7816:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7321:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12248:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5863:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5959:54;;;;:::o;7040:80::-;7088:13;7112:5;;;;;;;;;;;;;;;;;7105:12;;7040:80;:::o;7462:216::-;7537:4;7589:6;7554:11;:23;7566:10;7554:23;;;;;;;;;;;;;;;:32;7578:7;7554:32;;;;;;;;;;;;;;;:41;;;;7632:7;7611:37;;7620:10;7611:37;;;7641:6;7611:37;;;;;;:::i;:::-;;;;;;;;7666:4;7659:11;;7462:216;;;;:::o;6770:88::-;6825:7;6843:12;;6836:19;;6770:88;:::o;7980:370::-;8080:4;8135:17;8100:11;:19;8112:6;8100:19;;;;;;;;;;;;;;;:31;8120:10;8100:31;;;;;;;;;;;;;;;;:52;8097:186;;8202:69;8238:6;8202:69;;;;;;;;;;;;;;;;;:11;:19;8214:6;8202:19;;;;;;;;;;;;;;;:31;8222:10;8202:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8168:11;:19;8180:6;8168:19;;;;;;;;;;;;;;;:31;8188:10;8168:31;;;;;;;;;;;;;;;:103;;;;8097:186;8302:40;8316:6;8324:9;8335:6;8302:13;:40::i;:::-;8295:47;;7980:370;;;;;:::o;3172:103::-;3227:4;3262:5;;;;;;;;;;;3251:16;;:7;:16;;;3244:23;;3172:103;;;:::o;6864:80::-;6916:5;5270:1;6925:16;;6864:80;:::o;12122:118::-;12179:20;;;;;;;;;;;12171:38;;:61;12210:21;12171:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12122:118::o;12398:220::-;3125:19;3133:10;3125:7;:19::i;:::-;3117:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12506:13:::1;12491:12;:28;;;;12547:13;12532:12;:28;;;;12598:12;;12583;;:27;;;;:::i;:::-;12572:8;:38;;;;12398:220:::0;;:::o;7686:122::-;7741:4;7765:35;7773:7;7782:17;7765:7;:35::i;:::-;7758:42;;7686:122;;;:::o;5343:60::-;;;;:::o;5922:30::-;;;;;;;;;;;;;:::o;7210:105::-;7276:7;7294:9;:18;7304:7;7294:18;;;;;;;;;;;;;;;;7287:25;;7210:105;;;:::o;3281:131::-;3125:19;3133:10;3125:7;:19::i;:::-;3117:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3354:1:::1;3338:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;3372:32;3401:1;3372:32;;;;;;:::i;:::-;;;;;;;;3281:131::o:0;7126:78::-;7178:7;7196:5;;;;;;;;;;;7189:12;;7126:78;:::o;6950:84::-;7000:13;7024:7;;;;;;;;;;;;;;;;;7017:14;;6950:84;:::o;5894:19::-;;;;;;;;;;;;;:::o;7816:156::-;7896:4;7920:44;7934:10;7946:9;7957:6;7920:13;:44::i;:::-;7913:51;;7816:156;;;;:::o;7321:133::-;7405:7;7423:11;:19;7435:6;7423:19;;;;;;;;;;;;;;;:28;7443:7;7423:28;;;;;;;;;;;;;;;;7416:35;;7321:133;;;;:::o;12248:142::-;3125:19;3133:10;3125:7;:19::i;:::-;3117:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12378:4:::1;12360:13;12345:12;;:28;;;;:::i;:::-;12344:38;;;;:::i;:::-;12325:16;:57;;;;12248:142:::0;:::o;5863:24::-;;;;;;;;;;;;;:::o;1261:190::-;1347:7;1380:1;1375;:6;;1383:12;1367:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1407:9;1423:1;1419;:5;;;;:::i;:::-;1407:17;;1442:1;1435:8;;;1261:190;;;;;:::o;8358:792::-;8450:4;8470:6;;;;;;;;;;;8467:63;;;8486:41;8501:6;8509:9;8520:6;8486:14;:41::i;:::-;8479:48;;;;8467:63;8567:4;;;;;;;;;;;8554:17;;:9;:17;;;;:38;;;;;8588:4;;;;;;;;;;;8575:17;;:9;:17;;;;8554:38;8550:200;;;8617:15;:26;8633:9;8617:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;8680:16;;8670:6;8647:9;:20;8657:9;8647:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8617:79;8609:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;8550:200;8773:16;:14;:16::i;:::-;8770:35;;;8792:10;:8;:10::i;:::-;8770:35;8838:53;8860:6;8838:53;;;;;;;;;;;;;;;;;:9;:17;8848:6;8838:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8818:9;:17;8828:6;8818:17;;;;;;;;;;;;;;;:73;;;;8904:22;8929:21;8943:6;8929:13;:21::i;:::-;:56;;8979:6;8929:56;;;8953:23;8961:6;8969;8953:7;:23::i;:::-;8929:56;8904:81;;9019:40;9044:14;9019:9;:20;9029:9;9019:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8996:9;:20;9006:9;8996:20;;;;;;;;;;;;;;;:63;;;;9094:9;9077:43;;9086:6;9077:43;;;9105:14;9077:43;;;;;;:::i;:::-;;;;;;;;9138:4;9131:11;;;8358:792;;;;;;:::o;9162:330::-;9255:4;9292:53;9314:6;9292:53;;;;;;;;;;;;;;;;;:9;:17;9302:6;9292:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9272:9;:17;9282:6;9272:17;;;;;;;;;;;;;;;:73;;;;9379:32;9404:6;9379:9;:20;9389:9;9379:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9356:9;:20;9366:9;9356:20;;;;;;;;;;;;;;;:55;;;;9444:9;9427:35;;9436:6;9427:35;;;9455:6;9427:35;;;;;;:::i;:::-;;;;;;;;9480:4;9473:11;;9162:330;;;;;:::o;9959:197::-;10008:4;10046;;;;;;;;;;;10032:18;;:10;:18;;;;:38;;;;;10064:6;;;;;;;;;;;10063:7;10032:38;:62;;;;;10083:11;;;;;;;;;;;10032:62;:116;;;;;10135:13;;10107:9;:24;10125:4;10107:24;;;;;;;;;;;;;;;;:41;;10032:116;10025:123;;9959:197;:::o;10164:1572::-;6073:4;6064:6;;:13;;;;;;;;;;;;;;;;;;10213:28:::1;10244:13;;10213:44;;10268:23;10294:59;10351:1;10294:52;10337:8;;10294:38;10319:12;;10294:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;10268:85;;10364:20;10387:41;10412:15;10387:20;:24;;:41;;;;:::i;:::-;10364:64;;10441:21;10479:1;10465:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10441:40;;10510:4;10492;10497:1;10492:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10536:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10526:4;10531:1;10526:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10562:21;10586;10562:45;;10620:6;;;;;;;;;;;:57;;;10692:12;10719:1;10735:4;10762;10782:15;10620:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10819:17;10839:40;10865:13;10839:21;:25;;:40;;;;:::i;:::-;10819:60;;10890:19;10912:33;10925:19;10942:1;10925:12;;:16;;:19;;;;:::i;:::-;10912:8;;:12;;:33;;;;:::i;:::-;10890:55;;10956:26;10985:51;11034:1;10985:44;11017:11;10985:27;10999:12;;10985:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;10956:80;;11047:26;11076:44;11108:11;11076:27;11090:12;;11076:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;11047:73;;11136:21;11194:20;;;;;;;;;;;11186:34;;11228:18;11253:5;11186:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11135:128;;;11282:16;11274:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11367:1;11349:15;:19;11346:383;;;11384:6;;;;;;;;;;;:22;;;11414:18;11460:4;11484:15;11518:1;11538::::0;11558:42:::1;11619:15;11384:265;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11669:48;11681:18;11701:15;11669:48;;;;;;;:::i;:::-;;;;;;;;11346:383;10202:1534;;;;;;;;;;6091:5:::0;6082:6;;:14;;;;;;;;;;;;;;;;;;10164:1572::o;9500:114::-;9562:4;9587:11;:19;9599:6;9587:19;;;;;;;;;;;;;;;;;;;;;;;;;9586:20;9579:27;;9500:114;;;:::o;9622:329::-;9689:7;9709:17;9729:40;9754:14;;9729:20;9740:8;;9729:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;9709:60;;9807:39;9836:9;9807;:24;9825:4;9807:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9780:9;:24;9798:4;9780:24;;;;;;;;;;;;;;;:66;;;;9887:4;9862:42;;9871:6;9862:42;;;9894:9;9862:42;;;;;;:::i;:::-;;;;;;;;9922:21;9933:9;9922:6;:10;;:21;;;;:::i;:::-;9915:28;;;9622:329;;;;:::o;934:179::-;992:7;1012:9;1028:1;1024;:5;;;;:::i;:::-;1012:17;;1053:1;1048;:6;;1040:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1104:1;1097:8;;;934:179;;;;:::o;1457:246::-;1515:7;1544:1;1539;:6;1535:47;;;1569:1;1562:8;;;;1535:47;1592:9;1608:1;1604;:5;;;;:::i;:::-;1592:17;;1637:1;1632;1628;:5;;;;:::i;:::-;:10;1620:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1694:1;1687:8;;;1457:246;;;;;:::o;1709:132::-;1767:7;1794:39;1798:1;1801;1794:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1787:46;;1709:132;;;;:::o;1119:136::-;1177:7;1204:43;1208:1;1211;1204:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1197:50;;1119:136;;;;:::o;1847:189::-;1933:7;1965:1;1961;:5;1968:12;1953:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1992:9;2008:1;2004;:5;;;;:::i;:::-;1992:17;;2027:1;2020:8;;;1847:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:143::-;503:5;534:6;528:13;519:22;;550:33;577:5;550:33;:::i;:::-;509:80;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:2;;;709:79;;:::i;:::-;671:2;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;661:263;;;;:::o;930:351::-;1000:6;1049:2;1037:9;1028:7;1024:23;1020:32;1017:2;;;1055:79;;:::i;:::-;1017:2;1175:1;1200:64;1256:7;1247:6;1236:9;1232:22;1200:64;:::i;:::-;1190:74;;1146:128;1007:274;;;;:::o;1287:474::-;1355:6;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:2;;;1418:79;;:::i;:::-;1380:2;1538:1;1563:53;1608:7;1599:6;1588:9;1584:22;1563:53;:::i;:::-;1553:63;;1509:117;1665:2;1691:53;1736:7;1727:6;1716:9;1712:22;1691:53;:::i;:::-;1681:63;;1636:118;1370:391;;;;;:::o;1767:619::-;1844:6;1852;1860;1909:2;1897:9;1888:7;1884:23;1880:32;1877:2;;;1915:79;;:::i;:::-;1877:2;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;2162:2;2188:53;2233:7;2224:6;2213:9;2209:22;2188:53;:::i;:::-;2178:63;;2133:118;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1867:519;;;;;:::o;2392:474::-;2460:6;2468;2517:2;2505:9;2496:7;2492:23;2488:32;2485:2;;;2523:79;;:::i;:::-;2485:2;2643:1;2668:53;2713:7;2704:6;2693:9;2689:22;2668:53;:::i;:::-;2658:63;;2614:117;2770:2;2796:53;2841:7;2832:6;2821:9;2817:22;2796:53;:::i;:::-;2786:63;;2741:118;2475:391;;;;;:::o;2872:329::-;2931:6;2980:2;2968:9;2959:7;2955:23;2951:32;2948:2;;;2986:79;;:::i;:::-;2948:2;3106:1;3131:53;3176:7;3167:6;3156:9;3152:22;3131:53;:::i;:::-;3121:63;;3077:117;2938:263;;;;:::o;3207:474::-;3275:6;3283;3332:2;3320:9;3311:7;3307:23;3303:32;3300:2;;;3338:79;;:::i;:::-;3300:2;3458:1;3483:53;3528:7;3519:6;3508:9;3504:22;3483:53;:::i;:::-;3473:63;;3429:117;3585:2;3611:53;3656:7;3647:6;3636:9;3632:22;3611:53;:::i;:::-;3601:63;;3556:118;3290:391;;;;;:::o;3687:663::-;3775:6;3783;3791;3840:2;3828:9;3819:7;3815:23;3811:32;3808:2;;;3846:79;;:::i;:::-;3808:2;3966:1;3991:64;4047:7;4038:6;4027:9;4023:22;3991:64;:::i;:::-;3981:74;;3937:128;4104:2;4130:64;4186:7;4177:6;4166:9;4162:22;4130:64;:::i;:::-;4120:74;;4075:129;4243:2;4269:64;4325:7;4316:6;4305:9;4301:22;4269:64;:::i;:::-;4259:74;;4214:129;3798:552;;;;;:::o;4356:179::-;4425:10;4446:46;4488:3;4480:6;4446:46;:::i;:::-;4524:4;4519:3;4515:14;4501:28;;4436:99;;;;:::o;4541:108::-;4618:24;4636:5;4618:24;:::i;:::-;4613:3;4606:37;4596:53;;:::o;4655:118::-;4742:24;4760:5;4742:24;:::i;:::-;4737:3;4730:37;4720:53;;:::o;4809:732::-;4928:3;4957:54;5005:5;4957:54;:::i;:::-;5027:86;5106:6;5101:3;5027:86;:::i;:::-;5020:93;;5137:56;5187:5;5137:56;:::i;:::-;5216:7;5247:1;5232:284;5257:6;5254:1;5251:13;5232:284;;;5333:6;5327:13;5360:63;5419:3;5404:13;5360:63;:::i;:::-;5353:70;;5446:60;5499:6;5446:60;:::i;:::-;5436:70;;5292:224;5279:1;5276;5272:9;5267:14;;5232:284;;;5236:14;5532:3;5525:10;;4933:608;;;;;;;:::o;5547:109::-;5628:21;5643:5;5628:21;:::i;:::-;5623:3;5616:34;5606:50;;:::o;5662:167::-;5767:55;5816:5;5767:55;:::i;:::-;5762:3;5755:68;5745:84;;:::o;5835:147::-;5930:45;5969:5;5930:45;:::i;:::-;5925:3;5918:58;5908:74;;:::o;5988:364::-;6076:3;6104:39;6137:5;6104:39;:::i;:::-;6159:71;6223:6;6218:3;6159:71;:::i;:::-;6152:78;;6239:52;6284:6;6279:3;6272:4;6265:5;6261:16;6239:52;:::i;:::-;6316:29;6338:6;6316:29;:::i;:::-;6311:3;6307:39;6300:46;;6080:272;;;;;:::o;6358:366::-;6500:3;6521:67;6585:2;6580:3;6521:67;:::i;:::-;6514:74;;6597:93;6686:3;6597:93;:::i;:::-;6715:2;6710:3;6706:12;6699:19;;6504:220;;;:::o;6730:366::-;6872:3;6893:67;6957:2;6952:3;6893:67;:::i;:::-;6886:74;;6969:93;7058:3;6969:93;:::i;:::-;7087:2;7082:3;7078:12;7071:19;;6876:220;;;:::o;7102:366::-;7244:3;7265:67;7329:2;7324:3;7265:67;:::i;:::-;7258:74;;7341:93;7430:3;7341:93;:::i;:::-;7459:2;7454:3;7450:12;7443:19;;7248:220;;;:::o;7474:366::-;7616:3;7637:67;7701:2;7696:3;7637:67;:::i;:::-;7630:74;;7713:93;7802:3;7713:93;:::i;:::-;7831:2;7826:3;7822:12;7815:19;;7620:220;;;:::o;7846:365::-;7988:3;8009:66;8073:1;8068:3;8009:66;:::i;:::-;8002:73;;8084:93;8173:3;8084:93;:::i;:::-;8202:2;8197:3;8193:12;8186:19;;7992:219;;;:::o;8217:398::-;8376:3;8397:83;8478:1;8473:3;8397:83;:::i;:::-;8390:90;;8489:93;8578:3;8489:93;:::i;:::-;8607:1;8602:3;8598:11;8591:18;;8380:235;;;:::o;8621:118::-;8708:24;8726:5;8708:24;:::i;:::-;8703:3;8696:37;8686:53;;:::o;8745:112::-;8828:22;8844:5;8828:22;:::i;:::-;8823:3;8816:35;8806:51;;:::o;8863:379::-;9047:3;9069:147;9212:3;9069:147;:::i;:::-;9062:154;;9233:3;9226:10;;9051:191;;;:::o;9248:222::-;9341:4;9379:2;9368:9;9364:18;9356:26;;9392:71;9460:1;9449:9;9445:17;9436:6;9392:71;:::i;:::-;9346:124;;;;:::o;9476:807::-;9725:4;9763:3;9752:9;9748:19;9740:27;;9777:71;9845:1;9834:9;9830:17;9821:6;9777:71;:::i;:::-;9858:72;9926:2;9915:9;9911:18;9902:6;9858:72;:::i;:::-;9940:80;10016:2;10005:9;10001:18;9992:6;9940:80;:::i;:::-;10030;10106:2;10095:9;10091:18;10082:6;10030:80;:::i;:::-;10120:73;10188:3;10177:9;10173:19;10164:6;10120:73;:::i;:::-;10203;10271:3;10260:9;10256:19;10247:6;10203:73;:::i;:::-;9730:553;;;;;;;;;:::o;10289:210::-;10376:4;10414:2;10403:9;10399:18;10391:26;;10427:65;10489:1;10478:9;10474:17;10465:6;10427:65;:::i;:::-;10381:118;;;;:::o;10505:258::-;10616:4;10654:2;10643:9;10639:18;10631:26;;10667:89;10753:1;10742:9;10738:17;10729:6;10667:89;:::i;:::-;10621:142;;;;:::o;10769:313::-;10882:4;10920:2;10909:9;10905:18;10897:26;;10969:9;10963:4;10959:20;10955:1;10944:9;10940:17;10933:47;10997:78;11070:4;11061:6;10997:78;:::i;:::-;10989:86;;10887:195;;;;:::o;11088:419::-;11254:4;11292:2;11281:9;11277:18;11269:26;;11341:9;11335:4;11331:20;11327:1;11316:9;11312:17;11305:47;11369:131;11495:4;11369:131;:::i;:::-;11361:139;;11259:248;;;:::o;11513:419::-;11679:4;11717:2;11706:9;11702:18;11694:26;;11766:9;11760:4;11756:20;11752:1;11741:9;11737:17;11730:47;11794:131;11920:4;11794:131;:::i;:::-;11786:139;;11684:248;;;:::o;11938:419::-;12104:4;12142:2;12131:9;12127:18;12119:26;;12191:9;12185:4;12181:20;12177:1;12166:9;12162:17;12155:47;12219:131;12345:4;12219:131;:::i;:::-;12211:139;;12109:248;;;:::o;12363:419::-;12529:4;12567:2;12556:9;12552:18;12544:26;;12616:9;12610:4;12606:20;12602:1;12591:9;12587:17;12580:47;12644:131;12770:4;12644:131;:::i;:::-;12636:139;;12534:248;;;:::o;12788:419::-;12954:4;12992:2;12981:9;12977:18;12969:26;;13041:9;13035:4;13031:20;13027:1;13016:9;13012:17;13005:47;13069:131;13195:4;13069:131;:::i;:::-;13061:139;;12959:248;;;:::o;13213:222::-;13306:4;13344:2;13333:9;13329:18;13321:26;;13357:71;13425:1;13414:9;13410:17;13401:6;13357:71;:::i;:::-;13311:124;;;;:::o;13441:831::-;13704:4;13742:3;13731:9;13727:19;13719:27;;13756:71;13824:1;13813:9;13809:17;13800:6;13756:71;:::i;:::-;13837:80;13913:2;13902:9;13898:18;13889:6;13837:80;:::i;:::-;13964:9;13958:4;13954:20;13949:2;13938:9;13934:18;13927:48;13992:108;14095:4;14086:6;13992:108;:::i;:::-;13984:116;;14110:72;14178:2;14167:9;14163:18;14154:6;14110:72;:::i;:::-;14192:73;14260:3;14249:9;14245:19;14236:6;14192:73;:::i;:::-;13709:563;;;;;;;;:::o;14278:332::-;14399:4;14437:2;14426:9;14422:18;14414:26;;14450:71;14518:1;14507:9;14503:17;14494:6;14450:71;:::i;:::-;14531:72;14599:2;14588:9;14584:18;14575:6;14531:72;:::i;:::-;14404:206;;;;;:::o;14616:214::-;14705:4;14743:2;14732:9;14728:18;14720:26;;14756:67;14820:1;14809:9;14805:17;14796:6;14756:67;:::i;:::-;14710:120;;;;:::o;14917:132::-;14984:4;15007:3;14999:11;;15037:4;15032:3;15028:14;15020:22;;14989:60;;;:::o;15055:114::-;15122:6;15156:5;15150:12;15140:22;;15129:40;;;:::o;15175:99::-;15227:6;15261:5;15255:12;15245:22;;15234:40;;;:::o;15280:113::-;15350:4;15382;15377:3;15373:14;15365:22;;15355:38;;;:::o;15399:184::-;15498:11;15532:6;15527:3;15520:19;15572:4;15567:3;15563:14;15548:29;;15510:73;;;;:::o;15589:147::-;15690:11;15727:3;15712:18;;15702:34;;;;:::o;15742:169::-;15826:11;15860:6;15855:3;15848:19;15900:4;15895:3;15891:14;15876:29;;15838:73;;;;:::o;15917:305::-;15957:3;15976:20;15994:1;15976:20;:::i;:::-;15971:25;;16010:20;16028:1;16010:20;:::i;:::-;16005:25;;16164:1;16096:66;16092:74;16089:1;16086:81;16083:2;;;16170:18;;:::i;:::-;16083:2;16214:1;16211;16207:9;16200:16;;15961:261;;;;:::o;16228:185::-;16268:1;16285:20;16303:1;16285:20;:::i;:::-;16280:25;;16319:20;16337:1;16319:20;:::i;:::-;16314:25;;16358:1;16348:2;;16363:18;;:::i;:::-;16348:2;16405:1;16402;16398:9;16393:14;;16270:143;;;;:::o;16419:348::-;16459:7;16482:20;16500:1;16482:20;:::i;:::-;16477:25;;16516:20;16534:1;16516:20;:::i;:::-;16511:25;;16704:1;16636:66;16632:74;16629:1;16626:81;16621:1;16614:9;16607:17;16603:105;16600:2;;;16711:18;;:::i;:::-;16600:2;16759:1;16756;16752:9;16741:20;;16467:300;;;;:::o;16773:191::-;16813:4;16833:20;16851:1;16833:20;:::i;:::-;16828:25;;16867:20;16885:1;16867:20;:::i;:::-;16862:25;;16906:1;16903;16900:8;16897:2;;;16911:18;;:::i;:::-;16897:2;16956:1;16953;16949:9;16941:17;;16818:146;;;;:::o;16970:96::-;17007:7;17036:24;17054:5;17036:24;:::i;:::-;17025:35;;17015:51;;;:::o;17072:90::-;17106:7;17149:5;17142:13;17135:21;17124:32;;17114:48;;;:::o;17168:126::-;17205:7;17245:42;17238:5;17234:54;17223:65;;17213:81;;;:::o;17300:77::-;17337:7;17366:5;17355:16;;17345:32;;;:::o;17383:86::-;17418:7;17458:4;17451:5;17447:16;17436:27;;17426:43;;;:::o;17475:162::-;17543:9;17576:55;17625:5;17576:55;:::i;:::-;17563:68;;17553:84;;;:::o;17643:131::-;17711:9;17744:24;17762:5;17744:24;:::i;:::-;17731:37;;17721:53;;;:::o;17780:121::-;17838:9;17871:24;17889:5;17871:24;:::i;:::-;17858:37;;17848:53;;;:::o;17907:307::-;17975:1;17985:113;17999:6;17996:1;17993:13;17985:113;;;18084:1;18079:3;18075:11;18069:18;18065:1;18060:3;18056:11;18049:39;18021:2;18018:1;18014:10;18009:15;;17985:113;;;18116:6;18113:1;18110:13;18107:2;;;18196:1;18187:6;18182:3;18178:16;18171:27;18107:2;17956:258;;;;:::o;18220:180::-;18268:77;18265:1;18258:88;18365:4;18362:1;18355:15;18389:4;18386:1;18379:15;18406:180;18454:77;18451:1;18444:88;18551:4;18548:1;18541:15;18575:4;18572:1;18565:15;18592:180;18640:77;18637:1;18630:88;18737:4;18734:1;18727:15;18761:4;18758:1;18751:15;18778:180;18826:77;18823:1;18816:88;18923:4;18920:1;18913:15;18947:4;18944:1;18937:15;19087:117;19196:1;19193;19186:12;19210:102;19251:6;19302:2;19298:7;19293:2;19286:5;19282:14;19278:28;19268:38;;19258:54;;;:::o;19318:224::-;19458:34;19454:1;19446:6;19442:14;19435:58;19527:7;19522:2;19514:6;19510:15;19503:32;19424:118;:::o;19548:177::-;19688:29;19684:1;19676:6;19672:14;19665:53;19654:71;:::o;19731:180::-;19871:32;19867:1;19859:6;19855:14;19848:56;19837:74;:::o;19917:220::-;20057:34;20053:1;20045:6;20041:14;20034:58;20126:3;20121:2;20113:6;20109:15;20102:28;20023:114;:::o;20143:156::-;20283:8;20279:1;20271:6;20267:14;20260:32;20249:50;:::o;20305:114::-;20411:8;:::o;20425:122::-;20498:24;20516:5;20498:24;:::i;:::-;20491:5;20488:35;20478:2;;20537:1;20534;20527:12;20478:2;20468:79;:::o;20553:122::-;20626:24;20644:5;20626:24;:::i;:::-;20619:5;20616:35;20606:2;;20665:1;20662;20655:12;20606:2;20596:79;:::o

Swarm Source

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