ETH Price: $2,660.96 (+1.33%)

Token

Times Change ($TC)
 

Overview

Max Total Supply

1,000,000,000 $TC

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
9,506,000 $TC

Value
$0.00
0xf61e9cdd901b82eb91b634fd6dd932ceed8cfc0e
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:
TC

Compiler Version
v0.8.16+commit.07a7930e

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-28
*/

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

    string constant _name = "Times Change";
    string constant _symbol = "$TC";
    uint8 constant _decimals = 9;

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

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

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

    uint256 marketingFee = 3;
    uint256 sellMarketingFee = 3;

    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = msg.sender;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 50; 
    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[_owner] = true;
        isTxLimitExempt[_owner] = 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.");
        }
        
        require(!isBot[sender], "Bot Address");

        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived =  amount;
        if(shouldTakeFee(sender)){
            if(sender == pair){
                amountReceived = takeFee(sender, amount,false);
            }else{
                amountReceived = takeFee(sender, amount,true);
            } 
        }


        _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, bool isSell) internal returns (uint256) {
        uint feeAmount = isSell ? amount.mul(sellMarketingFee).div(feeDenominator) : amount.mul(marketingFee).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 amountToSwap = _balances[address(this)];
        if (amountToSwap >= (swapThreshold*2)){
            amountToSwap = swapThreshold*2;
        }
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        if (address(this).balance >= 200000000000000000){
            payable(marketingFeeReceiver).transfer(address(this).balance);
        }
      
    }

    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 manualSend() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function swapStatus (bool status) external onlyOwner {
        swapEnabled = status;
    }

    function isBots(address botAddress, bool status) external onlyOwner {      
        isBot[botAddress] = status;
    }

   function areBots(address[] memory bots_, bool status) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            isBot[bots_[i]] = status;
        }
    }

    function setFees(uint256 _MarketingFee, uint256 _sellMarketingFee) external onlyOwner {
         marketingFee = _MarketingFee;
         sellMarketingFee = _sellMarketingFee;
         require(marketingFee <= 10 && sellMarketingFee <= 100, "Must keep fees at 10% or less");
    }

    function setThreshold(uint256 _treshold) external onlyOwner {
         swapThreshold = _treshold;
    }

    function setFeeReceivers(address _marketingFeeReceiver) external onlyOwner {
        marketingFeeReceiver = _marketingFeeReceiver;
    }
    
    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":"bots_","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"areBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"botAddress","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"isBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","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":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_treshold","type":"uint256"}],"name":"setThreshold","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":[{"internalType":"bool","name":"status","type":"bool"}],"name":"swapStatus","outputs":[],"stateMutability":"nonpayable","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"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000870565b633b9aca00620000bd9190620008c1565b60035560646002600354620000d39190620008c1565b620000df919062000951565b6004556003600a556003600b556064600c5533600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff021916908315150217905550603261271060035462000161919062000951565b6200016d9190620008c1565b6010553480156200017d57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000291573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b79190620009f3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000340573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003669190620009f3565b306040518363ffffffff1660e01b81526004016200038692919062000a36565b6020604051808303816000875af1158015620003a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cc9190620009f3565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620006c7919062000a74565b60405180910390a35062000a91565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000764578086048111156200073c576200073b620006d6565b5b60018516156200074c5780820291505b80810290506200075c8562000705565b94506200071c565b94509492505050565b6000826200077f576001905062000852565b816200078f576000905062000852565b8160018114620007a85760028114620007b357620007e9565b600191505062000852565b60ff841115620007c857620007c7620006d6565b5b8360020a915084821115620007e257620007e1620006d6565b5b5062000852565b5060208310610133831016604e8410600b8410161715620008235782820a9050838111156200081d576200081c620006d6565b5b62000852565b62000832848484600162000712565b925090508184048111156200084c576200084b620006d6565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200087d8262000859565b91506200088a8362000863565b9250620008b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200076d565b905092915050565b6000620008ce8262000859565b9150620008db8362000859565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009175762000916620006d6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200095e8262000859565b91506200096b8362000859565b9250826200097e576200097d62000922565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009bb826200098e565b9050919050565b620009cd81620009ae565b8114620009d957600080fd5b50565b600081519050620009ed81620009c2565b92915050565b60006020828403121562000a0c5762000a0b62000989565b5b600062000a1c84828501620009dc565b91505092915050565b62000a3081620009ae565b82525050565b600060408201905062000a4d600083018562000a25565b62000a5c602083018462000a25565b9392505050565b62000a6e8162000859565b82525050565b600060208201905062000a8b600083018462000a63565b92915050565b612cec8062000aa16000396000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec578063d05b5a001161008a578063e96fada211610064578063e96fada21461063f578063f1d5f5171461066a578063f429389014610693578063f887ea40146106aa576101c2565b8063d05b5a00146105b0578063dd62ed3e146105d9578063e01bb68814610616576101c2565b806395d89b41116100c657806395d89b41146104f4578063960bfe041461051f578063a8aa1b3114610548578063a9059cbb14610573576101c2565b8063715018a6146104895780637e26d19f146104a0578063893d20e8146104c9576101c2565b80632f54bf6e11610159578063571ac8b011610133578063571ac8b0146103b95780636c0a24eb146103f65780636ddd17131461042157806370a082311461044c576101c2565b80632f54bf6e14610314578063313ce567146103515780633bbac5791461037c576101c2565b80630b78f9c0116101955780630b78f9c01461025a578063144eef071461028357806318160ddd146102ac57806323b872dd146102d7576101c2565b80630445b667146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106d5565b6040516101e9919061205f565b60405180910390f35b3480156101fe57600080fd5b506102076106db565b604051610214919061210a565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906121ca565b610718565b6040516102519190612225565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190612240565b61080a565b005b34801561028f57600080fd5b506102aa60048036038101906102a591906123f4565b6108b8565b005b3480156102b857600080fd5b506102c1610995565b6040516102ce919061205f565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190612450565b61099f565b60405161030b9190612225565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906124a3565b610b9f565b6040516103489190612225565b60405180910390f35b34801561035d57600080fd5b50610366610bf8565b60405161037391906124ec565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e91906124a3565b610c01565b6040516103b09190612225565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db91906124a3565b610c21565b6040516103ed9190612225565b60405180910390f35b34801561040257600080fd5b5061040b610c54565b604051610418919061205f565b60405180910390f35b34801561042d57600080fd5b50610436610c5a565b6040516104439190612225565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e91906124a3565b610c6d565b604051610480919061205f565b60405180910390f35b34801561049557600080fd5b5061049e610cb6565b005b3480156104ac57600080fd5b506104c760048036038101906104c29190612507565b610d79565b005b3480156104d557600080fd5b506104de610dde565b6040516104eb9190612543565b60405180910390f35b34801561050057600080fd5b50610509610e07565b604051610516919061210a565b60405180910390f35b34801561052b57600080fd5b506105466004803603810190610541919061255e565b610e44565b005b34801561055457600080fd5b5061055d610e96565b60405161056a9190612543565b60405180910390f35b34801561057f57600080fd5b5061059a600480360381019061059591906121ca565b610ebc565b6040516105a79190612225565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d2919061258b565b610ed1565b005b3480156105e557600080fd5b5061060060048036038101906105fb91906125cb565b610f74565b60405161060d919061205f565b60405180910390f35b34801561062257600080fd5b5061063d600480360381019061063891906124a3565b610ffb565b005b34801561064b57600080fd5b50610654611087565b6040516106619190612543565b60405180910390f35b34801561067657600080fd5b50610691600480360381019061068c919061255e565b6110ad565b005b34801561069f57600080fd5b506106a8611119565b005b3480156106b657600080fd5b506106bf611184565b6040516106cc919061266a565b60405180910390f35b60105481565b60606040518060400160405280600c81526020017f54696d6573204368616e67650000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107f8919061205f565b60405180910390a36001905092915050565b61081333610b9f565b610852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610849906126d1565b60405180910390fd5b81600a8190555080600b81905550600a80541115801561087557506064600b5411155b6108b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ab9061273d565b60405180910390fd5b5050565b6108c133610b9f565b610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f7906126d1565b60405180910390fd5b60005b82518110156109905781600960008584815181106109245761092361275d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610988906127bb565b915050610903565b505050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b8b57610b0a826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b9684848461120e565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000610c4d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610718565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cbf33610b9f565b610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf5906126d1565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610d6f9190612543565b60405180910390a1565b610d8233610b9f565b610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906126d1565b60405180910390fd5b80600f60146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f2454430000000000000000000000000000000000000000000000000000000000815250905090565b610e4d33610b9f565b610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906126d1565b60405180910390fd5b8060108190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ec933848461120e565b905092915050565b610eda33610b9f565b610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f10906126d1565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61100433610b9f565b611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a906126d1565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110b633610b9f565b6110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec906126d1565b60405180910390fd5b6103e8816003546111069190612803565b611110919061288c565b60048190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611181573d6000803e3d6000fd5b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e9919061210a565b60405180910390fd5b506000838561120191906128bd565b9050809150509392505050565b6000601160009054906101000a900460ff1615611237576112308484846116cd565b90506116c6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112e35750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113cc57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061138c575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138991906128f1565b11155b6113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612997565b60405180910390fd5b5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612a03565b60405180910390fd5b6114616118a0565b1561146f5761146e611977565b5b6114f8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082905061154985611ca7565b156115c657600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115b6576115af85846000611cfe565b90506115c5565b6115c285846001611cfe565b90505b5b61161881600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116b8919061205f565b60405180910390a360019150505b9392505050565b6000611758826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ed82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161188d919061205f565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561190d5750601160009054906101000a900460ff16155b80156119255750600f60149054906101000a900460ff165b80156119725750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060026010546119e59190612803565b81106119fd5760026010546119fa9190612803565b90505b6000600267ffffffffffffffff811115611a1a57611a19612285565b5b604051908082528060200260200182016040528015611a485781602001602082028036833780820191505090505b5090503081600081518110611a6057611a5f61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2b9190612a38565b81600181518110611b3f57611b3e61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bdd959493929190612b5e565b600060405180830381600087803b158015611bf757600080fd5b505af1158015611c0b573d6000803e3d6000fd5b505050506702c68af0bb1400004710611c8857600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611c86573d6000803e3d6000fd5b505b50506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008082611d3457611d2f600c54611d21600a5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b611d5e565b611d5d600c54611d4f600b5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b5b9050611db281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e52919061205f565b60405180910390a3611e6d8185611f9990919063ffffffff16565b9150509392505050565b6000808284611e8691906128f1565b905083811015611ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec290612c04565b60405180910390fd5b8091505092915050565b6000808303611ee75760009050611f49565b60008284611ef59190612803565b9050828482611f04919061288c565b14611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b90612c96565b60405180910390fd5b809150505b92915050565b6000611f9183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fe3565b905092915050565b6000611fdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111aa565b905092915050565b6000808311829061202a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612021919061210a565b60405180910390fd5b5060008385612039919061288c565b9050809150509392505050565b6000819050919050565b61205981612046565b82525050565b60006020820190506120746000830184612050565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b4578082015181840152602081019050612099565b60008484015250505050565b6000601f19601f8301169050919050565b60006120dc8261207a565b6120e68185612085565b93506120f6818560208601612096565b6120ff816120c0565b840191505092915050565b6000602082019050818103600083015261212481846120d1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061216b82612140565b9050919050565b61217b81612160565b811461218657600080fd5b50565b60008135905061219881612172565b92915050565b6121a781612046565b81146121b257600080fd5b50565b6000813590506121c48161219e565b92915050565b600080604083850312156121e1576121e0612136565b5b60006121ef85828601612189565b9250506020612200858286016121b5565b9150509250929050565b60008115159050919050565b61221f8161220a565b82525050565b600060208201905061223a6000830184612216565b92915050565b6000806040838503121561225757612256612136565b5b6000612265858286016121b5565b9250506020612276858286016121b5565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122bd826120c0565b810181811067ffffffffffffffff821117156122dc576122db612285565b5b80604052505050565b60006122ef61212c565b90506122fb82826122b4565b919050565b600067ffffffffffffffff82111561231b5761231a612285565b5b602082029050602081019050919050565b600080fd5b600061234461233f84612300565b6122e5565b905080838252602082019050602084028301858111156123675761236661232c565b5b835b81811015612390578061237c8882612189565b845260208401935050602081019050612369565b5050509392505050565b600082601f8301126123af576123ae612280565b5b81356123bf848260208601612331565b91505092915050565b6123d18161220a565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a612136565b5b600083013567ffffffffffffffff8111156124295761242861213b565b5b6124358582860161239a565b9250506020612446858286016123df565b9150509250929050565b60008060006060848603121561246957612468612136565b5b600061247786828701612189565b935050602061248886828701612189565b9250506040612499868287016121b5565b9150509250925092565b6000602082840312156124b9576124b8612136565b5b60006124c784828501612189565b91505092915050565b600060ff82169050919050565b6124e6816124d0565b82525050565b600060208201905061250160008301846124dd565b92915050565b60006020828403121561251d5761251c612136565b5b600061252b848285016123df565b91505092915050565b61253d81612160565b82525050565b60006020820190506125586000830184612534565b92915050565b60006020828403121561257457612573612136565b5b6000612582848285016121b5565b91505092915050565b600080604083850312156125a2576125a1612136565b5b60006125b085828601612189565b92505060206125c1858286016123df565b9150509250929050565b600080604083850312156125e2576125e1612136565b5b60006125f085828601612189565b925050602061260185828601612189565b9150509250929050565b6000819050919050565b600061263061262b61262684612140565b61260b565b612140565b9050919050565b600061264282612615565b9050919050565b600061265482612637565b9050919050565b61266481612649565b82525050565b600060208201905061267f600083018461265b565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006126bb600683612085565b91506126c682612685565b602082019050919050565b600060208201905081810360008301526126ea816126ae565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c657373000000600082015250565b6000612727601d83612085565b9150612732826126f1565b602082019050919050565b600060208201905081810360008301526127568161271a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127c682612046565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127f8576127f761278c565b5b600182019050919050565b600061280e82612046565b915061281983612046565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128525761285161278c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061289782612046565b91506128a283612046565b9250826128b2576128b161285d565b5b828204905092915050565b60006128c882612046565b91506128d383612046565b92508282039050818111156128eb576128ea61278c565b5b92915050565b60006128fc82612046565b915061290783612046565b925082820190508082111561291f5761291e61278c565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612981602583612085565b915061298c82612925565b604082019050919050565b600060208201905081810360008301526129b081612974565b9050919050565b7f426f742041646472657373000000000000000000000000000000000000000000600082015250565b60006129ed600b83612085565b91506129f8826129b7565b602082019050919050565b60006020820190508181036000830152612a1c816129e0565b9050919050565b600081519050612a3281612172565b92915050565b600060208284031215612a4e57612a4d612136565b5b6000612a5c84828501612a23565b91505092915050565b6000819050919050565b6000612a8a612a85612a8084612a65565b61260b565b612046565b9050919050565b612a9a81612a6f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ad581612160565b82525050565b6000612ae78383612acc565b60208301905092915050565b6000602082019050919050565b6000612b0b82612aa0565b612b158185612aab565b9350612b2083612abc565b8060005b83811015612b51578151612b388882612adb565b9750612b4383612af3565b925050600181019050612b24565b5085935050505092915050565b600060a082019050612b736000830188612050565b612b806020830187612a91565b8181036040830152612b928186612b00565b9050612ba16060830185612534565b612bae6080830184612050565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612bee601b83612085565b9150612bf982612bb8565b602082019050919050565b60006020820190508181036000830152612c1d81612be1565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c80602183612085565b9150612c8b82612c24565b604082019050919050565b60006020820190508181036000830152612caf81612c73565b905091905056fea2646970667358221220698954af3d435a76d53c89cadab062a3cefdf3823337817362d700202486697664736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c8063715018a6116100ec578063d05b5a001161008a578063e96fada211610064578063e96fada21461063f578063f1d5f5171461066a578063f429389014610693578063f887ea40146106aa576101c2565b8063d05b5a00146105b0578063dd62ed3e146105d9578063e01bb68814610616576101c2565b806395d89b41116100c657806395d89b41146104f4578063960bfe041461051f578063a8aa1b3114610548578063a9059cbb14610573576101c2565b8063715018a6146104895780637e26d19f146104a0578063893d20e8146104c9576101c2565b80632f54bf6e11610159578063571ac8b011610133578063571ac8b0146103b95780636c0a24eb146103f65780636ddd17131461042157806370a082311461044c576101c2565b80632f54bf6e14610314578063313ce567146103515780633bbac5791461037c576101c2565b80630b78f9c0116101955780630b78f9c01461025a578063144eef071461028357806318160ddd146102ac57806323b872dd146102d7576101c2565b80630445b667146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106d5565b6040516101e9919061205f565b60405180910390f35b3480156101fe57600080fd5b506102076106db565b604051610214919061210a565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906121ca565b610718565b6040516102519190612225565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190612240565b61080a565b005b34801561028f57600080fd5b506102aa60048036038101906102a591906123f4565b6108b8565b005b3480156102b857600080fd5b506102c1610995565b6040516102ce919061205f565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190612450565b61099f565b60405161030b9190612225565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906124a3565b610b9f565b6040516103489190612225565b60405180910390f35b34801561035d57600080fd5b50610366610bf8565b60405161037391906124ec565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e91906124a3565b610c01565b6040516103b09190612225565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db91906124a3565b610c21565b6040516103ed9190612225565b60405180910390f35b34801561040257600080fd5b5061040b610c54565b604051610418919061205f565b60405180910390f35b34801561042d57600080fd5b50610436610c5a565b6040516104439190612225565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e91906124a3565b610c6d565b604051610480919061205f565b60405180910390f35b34801561049557600080fd5b5061049e610cb6565b005b3480156104ac57600080fd5b506104c760048036038101906104c29190612507565b610d79565b005b3480156104d557600080fd5b506104de610dde565b6040516104eb9190612543565b60405180910390f35b34801561050057600080fd5b50610509610e07565b604051610516919061210a565b60405180910390f35b34801561052b57600080fd5b506105466004803603810190610541919061255e565b610e44565b005b34801561055457600080fd5b5061055d610e96565b60405161056a9190612543565b60405180910390f35b34801561057f57600080fd5b5061059a600480360381019061059591906121ca565b610ebc565b6040516105a79190612225565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d2919061258b565b610ed1565b005b3480156105e557600080fd5b5061060060048036038101906105fb91906125cb565b610f74565b60405161060d919061205f565b60405180910390f35b34801561062257600080fd5b5061063d600480360381019061063891906124a3565b610ffb565b005b34801561064b57600080fd5b50610654611087565b6040516106619190612543565b60405180910390f35b34801561067657600080fd5b50610691600480360381019061068c919061255e565b6110ad565b005b34801561069f57600080fd5b506106a8611119565b005b3480156106b657600080fd5b506106bf611184565b6040516106cc919061266a565b60405180910390f35b60105481565b60606040518060400160405280600c81526020017f54696d6573204368616e67650000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107f8919061205f565b60405180910390a36001905092915050565b61081333610b9f565b610852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610849906126d1565b60405180910390fd5b81600a8190555080600b81905550600a80541115801561087557506064600b5411155b6108b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ab9061273d565b60405180910390fd5b5050565b6108c133610b9f565b610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f7906126d1565b60405180910390fd5b60005b82518110156109905781600960008584815181106109245761092361275d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610988906127bb565b915050610903565b505050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b8b57610b0a826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b9684848461120e565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6000610c4d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610718565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cbf33610b9f565b610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf5906126d1565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610d6f9190612543565b60405180910390a1565b610d8233610b9f565b610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906126d1565b60405180910390fd5b80600f60146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f2454430000000000000000000000000000000000000000000000000000000000815250905090565b610e4d33610b9f565b610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906126d1565b60405180910390fd5b8060108190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ec933848461120e565b905092915050565b610eda33610b9f565b610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f10906126d1565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61100433610b9f565b611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a906126d1565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110b633610b9f565b6110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec906126d1565b60405180910390fd5b6103e8816003546111069190612803565b611110919061288c565b60048190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611181573d6000803e3d6000fd5b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e9919061210a565b60405180910390fd5b506000838561120191906128bd565b9050809150509392505050565b6000601160009054906101000a900460ff1615611237576112308484846116cd565b90506116c6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112e35750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113cc57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061138c575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138991906128f1565b11155b6113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612997565b60405180910390fd5b5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612a03565b60405180910390fd5b6114616118a0565b1561146f5761146e611977565b5b6114f8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082905061154985611ca7565b156115c657600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115b6576115af85846000611cfe565b90506115c5565b6115c285846001611cfe565b90505b5b61161881600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116b8919061205f565b60405180910390a360019150505b9392505050565b6000611758826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111aa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ed82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161188d919061205f565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561190d5750601160009054906101000a900460ff16155b80156119255750600f60149054906101000a900460ff165b80156119725750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060026010546119e59190612803565b81106119fd5760026010546119fa9190612803565b90505b6000600267ffffffffffffffff811115611a1a57611a19612285565b5b604051908082528060200260200182016040528015611a485781602001602082028036833780820191505090505b5090503081600081518110611a6057611a5f61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2b9190612a38565b81600181518110611b3f57611b3e61275d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bdd959493929190612b5e565b600060405180830381600087803b158015611bf757600080fd5b505af1158015611c0b573d6000803e3d6000fd5b505050506702c68af0bb1400004710611c8857600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611c86573d6000803e3d6000fd5b505b50506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008082611d3457611d2f600c54611d21600a5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b611d5e565b611d5d600c54611d4f600b5487611ed590919063ffffffff16565b611f4f90919063ffffffff16565b5b9050611db281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7790919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e52919061205f565b60405180910390a3611e6d8185611f9990919063ffffffff16565b9150509392505050565b6000808284611e8691906128f1565b905083811015611ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec290612c04565b60405180910390fd5b8091505092915050565b6000808303611ee75760009050611f49565b60008284611ef59190612803565b9050828482611f04919061288c565b14611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b90612c96565b60405180910390fd5b809150505b92915050565b6000611f9183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fe3565b905092915050565b6000611fdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111aa565b905092915050565b6000808311829061202a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612021919061210a565b60405180910390fd5b5060008385612039919061288c565b9050809150509392505050565b6000819050919050565b61205981612046565b82525050565b60006020820190506120746000830184612050565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b4578082015181840152602081019050612099565b60008484015250505050565b6000601f19601f8301169050919050565b60006120dc8261207a565b6120e68185612085565b93506120f6818560208601612096565b6120ff816120c0565b840191505092915050565b6000602082019050818103600083015261212481846120d1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061216b82612140565b9050919050565b61217b81612160565b811461218657600080fd5b50565b60008135905061219881612172565b92915050565b6121a781612046565b81146121b257600080fd5b50565b6000813590506121c48161219e565b92915050565b600080604083850312156121e1576121e0612136565b5b60006121ef85828601612189565b9250506020612200858286016121b5565b9150509250929050565b60008115159050919050565b61221f8161220a565b82525050565b600060208201905061223a6000830184612216565b92915050565b6000806040838503121561225757612256612136565b5b6000612265858286016121b5565b9250506020612276858286016121b5565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122bd826120c0565b810181811067ffffffffffffffff821117156122dc576122db612285565b5b80604052505050565b60006122ef61212c565b90506122fb82826122b4565b919050565b600067ffffffffffffffff82111561231b5761231a612285565b5b602082029050602081019050919050565b600080fd5b600061234461233f84612300565b6122e5565b905080838252602082019050602084028301858111156123675761236661232c565b5b835b81811015612390578061237c8882612189565b845260208401935050602081019050612369565b5050509392505050565b600082601f8301126123af576123ae612280565b5b81356123bf848260208601612331565b91505092915050565b6123d18161220a565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a612136565b5b600083013567ffffffffffffffff8111156124295761242861213b565b5b6124358582860161239a565b9250506020612446858286016123df565b9150509250929050565b60008060006060848603121561246957612468612136565b5b600061247786828701612189565b935050602061248886828701612189565b9250506040612499868287016121b5565b9150509250925092565b6000602082840312156124b9576124b8612136565b5b60006124c784828501612189565b91505092915050565b600060ff82169050919050565b6124e6816124d0565b82525050565b600060208201905061250160008301846124dd565b92915050565b60006020828403121561251d5761251c612136565b5b600061252b848285016123df565b91505092915050565b61253d81612160565b82525050565b60006020820190506125586000830184612534565b92915050565b60006020828403121561257457612573612136565b5b6000612582848285016121b5565b91505092915050565b600080604083850312156125a2576125a1612136565b5b60006125b085828601612189565b92505060206125c1858286016123df565b9150509250929050565b600080604083850312156125e2576125e1612136565b5b60006125f085828601612189565b925050602061260185828601612189565b9150509250929050565b6000819050919050565b600061263061262b61262684612140565b61260b565b612140565b9050919050565b600061264282612615565b9050919050565b600061265482612637565b9050919050565b61266481612649565b82525050565b600060208201905061267f600083018461265b565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006126bb600683612085565b91506126c682612685565b602082019050919050565b600060208201905081810360008301526126ea816126ae565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c657373000000600082015250565b6000612727601d83612085565b9150612732826126f1565b602082019050919050565b600060208201905081810360008301526127568161271a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127c682612046565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127f8576127f761278c565b5b600182019050919050565b600061280e82612046565b915061281983612046565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128525761285161278c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061289782612046565b91506128a283612046565b9250826128b2576128b161285d565b5b828204905092915050565b60006128c882612046565b91506128d383612046565b92508282039050818111156128eb576128ea61278c565b5b92915050565b60006128fc82612046565b915061290783612046565b925082820190508082111561291f5761291e61278c565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612981602583612085565b915061298c82612925565b604082019050919050565b600060208201905081810360008301526129b081612974565b9050919050565b7f426f742041646472657373000000000000000000000000000000000000000000600082015250565b60006129ed600b83612085565b91506129f8826129b7565b602082019050919050565b60006020820190508181036000830152612a1c816129e0565b9050919050565b600081519050612a3281612172565b92915050565b600060208284031215612a4e57612a4d612136565b5b6000612a5c84828501612a23565b91505092915050565b6000819050919050565b6000612a8a612a85612a8084612a65565b61260b565b612046565b9050919050565b612a9a81612a6f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ad581612160565b82525050565b6000612ae78383612acc565b60208301905092915050565b6000602082019050919050565b6000612b0b82612aa0565b612b158185612aab565b9350612b2083612abc565b8060005b83811015612b51578151612b388882612adb565b9750612b4383612af3565b925050600181019050612b24565b5085935050505092915050565b600060a082019050612b736000830188612050565b612b806020830187612a91565b8181036040830152612b928186612b00565b9050612ba16060830185612534565b612bae6080830184612050565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612bee601b83612085565b9150612bf982612bb8565b602082019050919050565b60006020820190508181036000830152612c1d81612be1565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c80602183612085565b9150612c8b82612c24565b604082019050919050565b60006020820190508181036000830152612caf81612c73565b905091905056fea2646970667358221220698954af3d435a76d53c89cadab062a3cefdf3823337817362d700202486697664736f6c63430008100033

Deployed Bytecode Sourcemap

4083:7761:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5060:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6027:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6449:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11233:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11042:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5757:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6967:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2321:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5851:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4756:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6673:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4484:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5023:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6197:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2430:131;;;;;;;;;;;;;:::i;:::-;;10816:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6113:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5937:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11522:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4995:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6803:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10916:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6308:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11635:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4907:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10666:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10547:111;;;;;;;;;;;;;:::i;:::-;;4964:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5060:56;;;;:::o;6027:80::-;6075:13;6099:5;;;;;;;;;;;;;;;;;6092:12;;6027:80;:::o;6449:216::-;6524:4;6576:6;6541:11;:23;6553:10;6541:23;;;;;;;;;;;;;;;:32;6565:7;6541:32;;;;;;;;;;;;;;;:41;;;;6619:7;6598:37;;6607:10;6598:37;;;6628:6;6598:37;;;;;;:::i;:::-;;;;;;;;6653:4;6646:11;;6449:216;;;;:::o;11233:281::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11346:13:::1;11331:12;:28;;;;11390:17;11371:16;:36;;;;11443:2;11427:12:::0;::::1;:18;;:45;;;;;11469:3;11449:16;;:23;;11427:45;11419:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11233:281:::0;;:::o;11042:183::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11129:9:::1;11124:94;11148:5;:12;11144:1;:16;11124:94;;;11200:6;11182:5;:15;11188:5;11194:1;11188:8;;;;;;;;:::i;:::-;;;;;;;;11182:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11162:3;;;;;:::i;:::-;;;;11124:94;;;;11042:183:::0;;:::o;5757:88::-;5812:7;5830:12;;5823:19;;5757:88;:::o;6967:370::-;7067:4;7122:17;7087:11;:19;7099:6;7087:19;;;;;;;;;;;;;;;:31;7107:10;7087:31;;;;;;;;;;;;;;;;:52;7084:186;;7189:69;7225:6;7189:69;;;;;;;;;;;;;;;;;:11;:19;7201:6;7189:19;;;;;;;;;;;;;;;:31;7209:10;7189:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7155:11;:19;7167:6;7155:19;;;;;;;;;;;;;;;:31;7175:10;7155:31;;;;;;;;;;;;;;;:103;;;;7084:186;7289:40;7303:6;7311:9;7322:6;7289:13;:40::i;:::-;7282:47;;6967:370;;;;;:::o;2321:103::-;2376:4;2411:5;;;;;;;;;;;2400:16;;:7;:16;;;2393:23;;2321:103;;;:::o;5851:80::-;5903:5;4411:1;5912:16;;5851:80;:::o;4756:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;6673:122::-;6728:4;6752:35;6760:7;6769:17;6752:7;:35::i;:::-;6745:42;;6673:122;;;:::o;4484:56::-;;;;:::o;5023:30::-;;;;;;;;;;;;;:::o;6197:105::-;6263:7;6281:9;:18;6291:7;6281:18;;;;;;;;;;;;;;;;6274:25;;6197:105;;;:::o;2430:131::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2503:1:::1;2487:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2521:32;2550:1;2521:32;;;;;;:::i;:::-;;;;;;;;2430:131::o:0;10816:92::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10894:6:::1;10880:11;;:20;;;;;;;;;;;;;;;;;;10816:92:::0;:::o;6113:78::-;6165:7;6183:5;;;;;;;;;;;6176:12;;6113:78;:::o;5937:84::-;5987:13;6011:7;;;;;;;;;;;;;;;;;6004:14;;5937:84;:::o;11522:105::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11610:9:::1;11594:13;:25;;;;11522:105:::0;:::o;4995:19::-;;;;;;;;;;;;;:::o;6803:156::-;6883:4;6907:44;6921:10;6933:9;6944:6;6907:13;:44::i;:::-;6900:51;;6803:156;;;;:::o;10916:119::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11021:6:::1;11001:5;:17;11007:10;11001:17;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10916:119:::0;;:::o;6308:133::-;6392:7;6410:11;:19;6422:6;6410:19;;;;;;;;;;;;;;;:28;6430:7;6410:28;;;;;;;;;;;;;;;;6403:35;;6308:133;;;;:::o;11635:138::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11744:21:::1;11721:20;;:44;;;;;;;;;;;;;;;;;;11635:138:::0;:::o;4907:48::-;;;;;;;;;;;;;:::o;10666:142::-;2274:19;2282:10;2274:7;:19::i;:::-;2266:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10796:4:::1;10778:13;10763:12;;:28;;;;:::i;:::-;10762:38;;;;:::i;:::-;10743:16;:57;;;;10666:142:::0;:::o;10547:111::-;10597:20;;;;;;;;;;;10589:38;;:61;10628:21;10589:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10547:111::o;4964:24::-;;;;;;;;;;;;;:::o;410:190::-;496:7;529:1;524;:6;;532:12;516:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;556:9;572:1;568;:5;;;;:::i;:::-;556:17;;591:1;584:8;;;410:190;;;;;:::o;7345:1043::-;7437:4;7457:6;;;;;;;;;;;7454:63;;;7473:41;7488:6;7496:9;7507:6;7473:14;:41::i;:::-;7466:48;;;;7454:63;7554:4;;;;;;;;;;;7541:17;;:9;:17;;;;:38;;;;;7575:4;;;;;;;;;;;7562:17;;:9;:17;;;;7541:38;7537:200;;;7604:15;:26;7620:9;7604:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7667:16;;7657:6;7634:9;:20;7644:9;7634:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7604:79;7596:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7537:200;7766:5;:13;7772:6;7766:13;;;;;;;;;;;;;;;;;;;;;;;;;7765:14;7757:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7811:16;:14;:16::i;:::-;7808:35;;;7830:10;:8;:10::i;:::-;7808:35;7876:53;7898:6;7876:53;;;;;;;;;;;;;;;;;:9;:17;7886:6;7876:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7856:9;:17;7866:6;7856:17;;;;;;;;;;;;;;;:73;;;;7942:22;7968:6;7942:32;;7988:21;8002:6;7988:13;:21::i;:::-;7985:235;;;8038:4;;;;;;;;;;;8028:14;;:6;:14;;;8025:183;;8079:29;8087:6;8095;8102:5;8079:7;:29::i;:::-;8062:46;;8025:183;;;8164:28;8172:6;8180;8187:4;8164:7;:28::i;:::-;8147:45;;8025:183;7985:235;8257:40;8282:14;8257:9;:20;8267:9;8257:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8234:9;:20;8244:9;8234:20;;;;;;;;;;;;;;;:63;;;;8332:9;8315:43;;8324:6;8315:43;;;8343:14;8315:43;;;;;;:::i;:::-;;;;;;;;8376:4;8369:11;;;7345:1043;;;;;;:::o;8400:330::-;8493:4;8530:53;8552:6;8530:53;;;;;;;;;;;;;;;;;:9;:17;8540:6;8530:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8510:9;:17;8520:6;8510:17;;;;;;;;;;;;;;;:73;;;;8617:32;8642:6;8617:9;:20;8627:9;8617:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8594:9;:20;8604:9;8594:20;;;;;;;;;;;;;;;:55;;;;8682:9;8665:35;;8674:6;8665:35;;;8693:6;8665:35;;;;;;:::i;:::-;;;;;;;;8718:4;8711:11;;8400:330;;;;;:::o;9271:197::-;9320:4;9358;;;;;;;;;;;9344:18;;:10;:18;;;;:38;;;;;9376:6;;;;;;;;;;;9375:7;9344:38;:62;;;;;9395:11;;;;;;;;;;;9344:62;:116;;;;;9447:13;;9419:9;:24;9437:4;9419:24;;;;;;;;;;;;;;;;:41;;9344:116;9337:123;;9271:197;:::o;9476:685::-;5173:4;5164:6;;:13;;;;;;;;;;;;;;;;;;9525:20:::1;9548:9;:24;9566:4;9548:24;;;;;;;;;;;;;;;;9525:47;;9618:1;9604:13;;:15;;;;:::i;:::-;9587:12;:33;9583:95;;9665:1;9651:13;;:15;;;;:::i;:::-;9636:30;;9583:95;9688:21;9726:1;9712:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9688:40;;9757:4;9739;9744:1;9739:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9783:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9773:4;9778:1;9773:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9809:6;;;;;;;;;;;:57;;;9881:12;9908:1;9924:4;9951;9971:15;9809:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10039:18;10014:21;:43;10010:136;;10081:20;;;;;;;;;;;10073:38;;:61;10112:21;10073:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10010:136;9514:647;;5191:5:::0;5182:6;;:14;;;;;;;;;;;;;;;;;;9476:685::o;8738:114::-;8800:4;8825:11;:19;8837:6;8825:19;;;;;;;;;;;;;;;;;;;;;;;;;8824:20;8817:27;;8738:114;;;:::o;8860:403::-;8940:7;8960:14;8977:6;:104;;9037:44;9066:14;;9037:24;9048:12;;9037:6;:10;;:24;;;;:::i;:::-;:28;;:44;;;;:::i;:::-;8977:104;;;8986:48;9019:14;;8986:28;8997:16;;8986:6;:10;;:28;;;;:::i;:::-;:32;;:48;;;;:::i;:::-;8977:104;8960:121;;9119:39;9148:9;9119;:24;9137:4;9119:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9092:9;:24;9110:4;9092:24;;;;;;;;;;;;;;;:66;;;;9199:4;9174:42;;9183:6;9174:42;;;9206:9;9174:42;;;;;;:::i;:::-;;;;;;;;9234:21;9245:9;9234:6;:10;;:21;;;;:::i;:::-;9227:28;;;8860:403;;;;;:::o;83:179::-;141:7;161:9;177:1;173;:5;;;;:::i;:::-;161:17;;202:1;197;:6;;189:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;253:1;246:8;;;83:179;;;;:::o;606:246::-;664:7;693:1;688;:6;684:47;;718:1;711:8;;;;684:47;741:9;757:1;753;:5;;;;:::i;:::-;741:17;;786:1;781;777;:5;;;;:::i;:::-;:10;769:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;843:1;836:8;;;606:246;;;;;:::o;858:132::-;916:7;943:39;947:1;950;943:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;936:46;;858:132;;;;:::o;268:136::-;326:7;353:43;357:1;360;353:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;346:50;;268:136;;;;:::o;996:189::-;1082:7;1114:1;1110;:5;1117:12;1102:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1141:9;1157:1;1153;:5;;;;:::i;:::-;1141:17;;1176:1;1169:8;;;996: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:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1784:75::-;1817:6;1850:2;1844:9;1834:19;;1784:75;:::o;1865:117::-;1974:1;1971;1964:12;1988:117;2097:1;2094;2087:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:474::-;3866:6;3874;3923:2;3911:9;3902:7;3898:23;3894:32;3891:119;;;3929:79;;:::i;:::-;3891:119;4049:1;4074:53;4119:7;4110:6;4099:9;4095:22;4074:53;:::i;:::-;4064:63;;4020:117;4176:2;4202:53;4247:7;4238:6;4227:9;4223:22;4202:53;:::i;:::-;4192:63;;4147:118;3798:474;;;;;:::o;4278:117::-;4387:1;4384;4377:12;4401:180;4449:77;4446:1;4439:88;4546:4;4543:1;4536:15;4570:4;4567:1;4560:15;4587:281;4670:27;4692:4;4670:27;:::i;:::-;4662:6;4658:40;4800:6;4788:10;4785:22;4764:18;4752:10;4749:34;4746:62;4743:88;;;4811:18;;:::i;:::-;4743:88;4851:10;4847:2;4840:22;4630:238;4587:281;;:::o;4874:129::-;4908:6;4935:20;;:::i;:::-;4925:30;;4964:33;4992:4;4984:6;4964:33;:::i;:::-;4874:129;;;:::o;5009:311::-;5086:4;5176:18;5168:6;5165:30;5162:56;;;5198:18;;:::i;:::-;5162:56;5248:4;5240:6;5236:17;5228:25;;5308:4;5302;5298:15;5290:23;;5009:311;;;:::o;5326:117::-;5435:1;5432;5425:12;5466:710;5562:5;5587:81;5603:64;5660:6;5603:64;:::i;:::-;5587:81;:::i;:::-;5578:90;;5688:5;5717:6;5710:5;5703:21;5751:4;5744:5;5740:16;5733:23;;5804:4;5796:6;5792:17;5784:6;5780:30;5833:3;5825:6;5822:15;5819:122;;;5852:79;;:::i;:::-;5819:122;5967:6;5950:220;5984:6;5979:3;5976:15;5950:220;;;6059:3;6088:37;6121:3;6109:10;6088:37;:::i;:::-;6083:3;6076:50;6155:4;6150:3;6146:14;6139:21;;6026:144;6010:4;6005:3;6001:14;5994:21;;5950:220;;;5954:21;5568:608;;5466:710;;;;;:::o;6199:370::-;6270:5;6319:3;6312:4;6304:6;6300:17;6296:27;6286:122;;6327:79;;:::i;:::-;6286:122;6444:6;6431:20;6469:94;6559:3;6551:6;6544:4;6536:6;6532:17;6469:94;:::i;:::-;6460:103;;6276:293;6199:370;;;;:::o;6575:116::-;6645:21;6660:5;6645:21;:::i;:::-;6638:5;6635:32;6625:60;;6681:1;6678;6671:12;6625:60;6575:116;:::o;6697:133::-;6740:5;6778:6;6765:20;6756:29;;6794:30;6818:5;6794:30;:::i;:::-;6697:133;;;;:::o;6836:678::-;6926:6;6934;6983:2;6971:9;6962:7;6958:23;6954:32;6951:119;;;6989:79;;:::i;:::-;6951:119;7137:1;7126:9;7122:17;7109:31;7167:18;7159:6;7156:30;7153:117;;;7189:79;;:::i;:::-;7153:117;7294:78;7364:7;7355:6;7344:9;7340:22;7294:78;:::i;:::-;7284:88;;7080:302;7421:2;7447:50;7489:7;7480:6;7469:9;7465:22;7447:50;:::i;:::-;7437:60;;7392:115;6836:678;;;;;:::o;7520:619::-;7597:6;7605;7613;7662:2;7650:9;7641:7;7637:23;7633:32;7630:119;;;7668:79;;:::i;:::-;7630:119;7788:1;7813:53;7858:7;7849:6;7838:9;7834:22;7813:53;:::i;:::-;7803:63;;7759:117;7915:2;7941:53;7986:7;7977:6;7966:9;7962:22;7941:53;:::i;:::-;7931:63;;7886:118;8043:2;8069:53;8114:7;8105:6;8094:9;8090:22;8069:53;:::i;:::-;8059:63;;8014:118;7520:619;;;;;:::o;8145:329::-;8204:6;8253:2;8241:9;8232:7;8228:23;8224:32;8221:119;;;8259:79;;:::i;:::-;8221:119;8379:1;8404:53;8449:7;8440:6;8429:9;8425:22;8404:53;:::i;:::-;8394:63;;8350:117;8145:329;;;;:::o;8480:86::-;8515:7;8555:4;8548:5;8544:16;8533:27;;8480:86;;;:::o;8572:112::-;8655:22;8671:5;8655:22;:::i;:::-;8650:3;8643:35;8572:112;;:::o;8690:214::-;8779:4;8817:2;8806:9;8802:18;8794:26;;8830:67;8894:1;8883:9;8879:17;8870:6;8830:67;:::i;:::-;8690:214;;;;:::o;8910:323::-;8966:6;9015:2;9003:9;8994:7;8990:23;8986:32;8983:119;;;9021:79;;:::i;:::-;8983:119;9141:1;9166:50;9208:7;9199:6;9188:9;9184:22;9166:50;:::i;:::-;9156:60;;9112:114;8910:323;;;;:::o;9239:118::-;9326:24;9344:5;9326:24;:::i;:::-;9321:3;9314:37;9239:118;;:::o;9363:222::-;9456:4;9494:2;9483:9;9479:18;9471:26;;9507:71;9575:1;9564:9;9560:17;9551:6;9507:71;:::i;:::-;9363:222;;;;:::o;9591:329::-;9650:6;9699:2;9687:9;9678:7;9674:23;9670:32;9667:119;;;9705:79;;:::i;:::-;9667:119;9825:1;9850:53;9895:7;9886:6;9875:9;9871:22;9850:53;:::i;:::-;9840:63;;9796:117;9591:329;;;;:::o;9926:468::-;9991:6;9999;10048:2;10036:9;10027:7;10023:23;10019:32;10016:119;;;10054:79;;:::i;:::-;10016:119;10174:1;10199:53;10244:7;10235:6;10224:9;10220:22;10199:53;:::i;:::-;10189:63;;10145:117;10301:2;10327:50;10369:7;10360:6;10349:9;10345:22;10327:50;:::i;:::-;10317:60;;10272:115;9926:468;;;;;:::o;10400:474::-;10468:6;10476;10525:2;10513:9;10504:7;10500:23;10496:32;10493:119;;;10531:79;;:::i;:::-;10493:119;10651:1;10676:53;10721:7;10712:6;10701:9;10697:22;10676:53;:::i;:::-;10666:63;;10622:117;10778:2;10804:53;10849:7;10840:6;10829:9;10825:22;10804:53;:::i;:::-;10794:63;;10749:118;10400:474;;;;;:::o;10880:60::-;10908:3;10929:5;10922:12;;10880:60;;;:::o;10946:142::-;10996:9;11029:53;11047:34;11056:24;11074:5;11056:24;:::i;:::-;11047:34;:::i;:::-;11029:53;:::i;:::-;11016:66;;10946:142;;;:::o;11094:126::-;11144:9;11177:37;11208:5;11177:37;:::i;:::-;11164:50;;11094:126;;;:::o;11226:144::-;11294:9;11327:37;11358:5;11327:37;:::i;:::-;11314:50;;11226:144;;;:::o;11376:167::-;11481:55;11530:5;11481:55;:::i;:::-;11476:3;11469:68;11376:167;;:::o;11549:258::-;11660:4;11698:2;11687:9;11683:18;11675:26;;11711:89;11797:1;11786:9;11782:17;11773:6;11711:89;:::i;:::-;11549:258;;;;:::o;11813:156::-;11953:8;11949:1;11941:6;11937:14;11930:32;11813:156;:::o;11975:365::-;12117:3;12138:66;12202:1;12197:3;12138:66;:::i;:::-;12131:73;;12213:93;12302:3;12213:93;:::i;:::-;12331:2;12326:3;12322:12;12315:19;;11975:365;;;:::o;12346:419::-;12512:4;12550:2;12539:9;12535:18;12527:26;;12599:9;12593:4;12589:20;12585:1;12574:9;12570:17;12563:47;12627:131;12753:4;12627:131;:::i;:::-;12619:139;;12346:419;;;:::o;12771:179::-;12911:31;12907:1;12899:6;12895:14;12888:55;12771:179;:::o;12956:366::-;13098:3;13119:67;13183:2;13178:3;13119:67;:::i;:::-;13112:74;;13195:93;13284:3;13195:93;:::i;:::-;13313:2;13308:3;13304:12;13297:19;;12956:366;;;:::o;13328:419::-;13494:4;13532:2;13521:9;13517:18;13509:26;;13581:9;13575:4;13571:20;13567:1;13556:9;13552:17;13545:47;13609:131;13735:4;13609:131;:::i;:::-;13601:139;;13328:419;;;:::o;13753:180::-;13801:77;13798:1;13791:88;13898:4;13895:1;13888:15;13922:4;13919:1;13912:15;13939:180;13987:77;13984:1;13977:88;14084:4;14081:1;14074:15;14108:4;14105:1;14098:15;14125:233;14164:3;14187:24;14205:5;14187:24;:::i;:::-;14178:33;;14233:66;14226:5;14223:77;14220:103;;14303:18;;:::i;:::-;14220:103;14350:1;14343:5;14339:13;14332:20;;14125:233;;;:::o;14364:348::-;14404:7;14427:20;14445:1;14427:20;:::i;:::-;14422:25;;14461:20;14479:1;14461:20;:::i;:::-;14456:25;;14649:1;14581:66;14577:74;14574:1;14571:81;14566:1;14559:9;14552:17;14548:105;14545:131;;;14656:18;;:::i;:::-;14545:131;14704:1;14701;14697:9;14686:20;;14364:348;;;;:::o;14718:180::-;14766:77;14763:1;14756:88;14863:4;14860:1;14853:15;14887:4;14884:1;14877:15;14904:185;14944:1;14961:20;14979:1;14961:20;:::i;:::-;14956:25;;14995:20;15013:1;14995:20;:::i;:::-;14990:25;;15034:1;15024:35;;15039:18;;:::i;:::-;15024:35;15081:1;15078;15074:9;15069:14;;14904:185;;;;:::o;15095:194::-;15135:4;15155:20;15173:1;15155:20;:::i;:::-;15150:25;;15189:20;15207:1;15189:20;:::i;:::-;15184:25;;15233:1;15230;15226:9;15218:17;;15257:1;15251:4;15248:11;15245:37;;;15262:18;;:::i;:::-;15245:37;15095:194;;;;:::o;15295:191::-;15335:3;15354:20;15372:1;15354:20;:::i;:::-;15349:25;;15388:20;15406:1;15388:20;:::i;:::-;15383:25;;15431:1;15428;15424:9;15417:16;;15452:3;15449:1;15446:10;15443:36;;;15459:18;;:::i;:::-;15443:36;15295:191;;;;:::o;15492:224::-;15632:34;15628:1;15620:6;15616:14;15609:58;15701:7;15696:2;15688:6;15684:15;15677:32;15492:224;:::o;15722:366::-;15864:3;15885:67;15949:2;15944:3;15885:67;:::i;:::-;15878:74;;15961:93;16050:3;15961:93;:::i;:::-;16079:2;16074:3;16070:12;16063:19;;15722:366;;;:::o;16094:419::-;16260:4;16298:2;16287:9;16283:18;16275:26;;16347:9;16341:4;16337:20;16333:1;16322:9;16318:17;16311:47;16375:131;16501:4;16375:131;:::i;:::-;16367:139;;16094:419;;;:::o;16519:161::-;16659:13;16655:1;16647:6;16643:14;16636:37;16519:161;:::o;16686:366::-;16828:3;16849:67;16913:2;16908:3;16849:67;:::i;:::-;16842:74;;16925:93;17014:3;16925:93;:::i;:::-;17043:2;17038:3;17034:12;17027:19;;16686:366;;;:::o;17058:419::-;17224:4;17262:2;17251:9;17247:18;17239:26;;17311:9;17305:4;17301:20;17297:1;17286:9;17282:17;17275:47;17339:131;17465:4;17339:131;:::i;:::-;17331:139;;17058:419;;;:::o;17483:143::-;17540:5;17571:6;17565:13;17556:22;;17587:33;17614:5;17587:33;:::i;:::-;17483:143;;;;:::o;17632:351::-;17702:6;17751:2;17739:9;17730:7;17726:23;17722:32;17719:119;;;17757:79;;:::i;:::-;17719:119;17877:1;17902:64;17958:7;17949:6;17938:9;17934:22;17902:64;:::i;:::-;17892:74;;17848:128;17632:351;;;;:::o;17989:85::-;18034:7;18063:5;18052:16;;17989:85;;;:::o;18080:158::-;18138:9;18171:61;18189:42;18198:32;18224:5;18198:32;:::i;:::-;18189:42;:::i;:::-;18171:61;:::i;:::-;18158:74;;18080:158;;;:::o;18244:147::-;18339:45;18378:5;18339:45;:::i;:::-;18334:3;18327:58;18244:147;;:::o;18397:114::-;18464:6;18498:5;18492:12;18482:22;;18397:114;;;:::o;18517:184::-;18616:11;18650:6;18645:3;18638:19;18690:4;18685:3;18681:14;18666:29;;18517:184;;;;:::o;18707:132::-;18774:4;18797:3;18789:11;;18827:4;18822:3;18818:14;18810:22;;18707:132;;;:::o;18845:108::-;18922:24;18940:5;18922:24;:::i;:::-;18917:3;18910:37;18845:108;;:::o;18959:179::-;19028:10;19049:46;19091:3;19083:6;19049:46;:::i;:::-;19127:4;19122:3;19118:14;19104:28;;18959:179;;;;:::o;19144:113::-;19214:4;19246;19241:3;19237:14;19229:22;;19144:113;;;:::o;19293:732::-;19412:3;19441:54;19489:5;19441:54;:::i;:::-;19511:86;19590:6;19585:3;19511:86;:::i;:::-;19504:93;;19621:56;19671:5;19621:56;:::i;:::-;19700:7;19731:1;19716:284;19741:6;19738:1;19735:13;19716:284;;;19817:6;19811:13;19844:63;19903:3;19888:13;19844:63;:::i;:::-;19837:70;;19930:60;19983:6;19930:60;:::i;:::-;19920:70;;19776:224;19763:1;19760;19756:9;19751:14;;19716:284;;;19720:14;20016:3;20009:10;;19417:608;;;19293:732;;;;:::o;20031:831::-;20294:4;20332:3;20321:9;20317:19;20309:27;;20346:71;20414:1;20403:9;20399:17;20390:6;20346:71;:::i;:::-;20427:80;20503:2;20492:9;20488:18;20479:6;20427:80;:::i;:::-;20554:9;20548:4;20544:20;20539:2;20528:9;20524:18;20517:48;20582:108;20685:4;20676:6;20582:108;:::i;:::-;20574:116;;20700:72;20768:2;20757:9;20753:18;20744:6;20700:72;:::i;:::-;20782:73;20850:3;20839:9;20835:19;20826:6;20782:73;:::i;:::-;20031:831;;;;;;;;:::o;20868:177::-;21008:29;21004:1;20996:6;20992:14;20985:53;20868:177;:::o;21051:366::-;21193:3;21214:67;21278:2;21273:3;21214:67;:::i;:::-;21207:74;;21290:93;21379:3;21290:93;:::i;:::-;21408:2;21403:3;21399:12;21392:19;;21051:366;;;:::o;21423:419::-;21589:4;21627:2;21616:9;21612:18;21604:26;;21676:9;21670:4;21666:20;21662:1;21651:9;21647:17;21640:47;21704:131;21830:4;21704:131;:::i;:::-;21696:139;;21423:419;;;:::o;21848:220::-;21988:34;21984:1;21976:6;21972:14;21965:58;22057:3;22052:2;22044:6;22040:15;22033:28;21848:220;:::o;22074:366::-;22216:3;22237:67;22301:2;22296:3;22237:67;:::i;:::-;22230:74;;22313:93;22402:3;22313:93;:::i;:::-;22431:2;22426:3;22422:12;22415:19;;22074:366;;;:::o;22446:419::-;22612:4;22650:2;22639:9;22635:18;22627:26;;22699:9;22693:4;22689:20;22685:1;22674:9;22670:17;22663:47;22727:131;22853:4;22727:131;:::i;:::-;22719:139;;22446:419;;;:::o

Swarm Source

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