ETH Price: $3,488.21 (-0.08%)
Gas: 3.36 Gwei

Token

Kill Zero Plan (K0)
 

Overview

Max Total Supply

420,690,000,000,000,000,000,000 K0

Holders

358

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
499,843,624,587,916,746,314 K0

Value
$0.00
0x6C134754F4132b622BC2FC3Cccc513e1bDB28C4D
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:
KillZeroPlan

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-20
*/

/**

This is a great plan, we plan to eliminate all zeros, perhaps you will become rich.

*/


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

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

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

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

contract Ownable is Context {
    address private _owner;

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

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

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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;
}

interface IUniswapV2Pair {
    function sync() external;
}

contract KillZeroPlan is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "Kill Zero Plan";
    string private constant _symbol = "K0";
    uint8 private constant _decimals = 9;
    uint256 private _tTotal =  420690000000000  * 10**_decimals;

    uint256 public _maxWalletAmount = 841380000000 * 10**_decimals;
    uint256 public _maxTxAmount = 841380000000 * 10**_decimals;
    uint256 public swapTokenAtAmount = 2524140000000 * 10**_decimals;
    uint256 public forceSwapCount;

    address public liquidityReceiver;
    address public marketingWallet;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    bool private swapping;
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor (address marketingAddress, address liquidityAddress) {
        marketingWallet = marketingAddress;
        liquidityReceiver = liquidityAddress;

        balances[_msgSender()] = _tTotal;
        
        buyFee.liquidity = 1;
        buyFee.marketing = 24;

        sellFee.liquidity = 1;
        sellFee.marketing = 39;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    receive() external payable {}
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken );
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function changeFee(uint256 _buyMarketingFee, uint256 _buyLiquidityFee, uint256 _sellMarketingFee, uint256 _sellLiquidityFee) public onlyOwner {
        require(_buyMarketingFee + _buyLiquidityFee < 50 || _sellLiquidityFee + _sellMarketingFee < 50, "Can't change fee higher than 24%");
        
        buyFee.liquidity = _buyLiquidityFee;
        buyFee.marketing = _buyMarketingFee;

        sellFee.liquidity = _sellLiquidityFee;
        sellFee.marketing = _sellMarketingFee;
    }

    function changeMax(uint256 _maxTx, uint256 _maxWallet) public onlyOwner {
        require(_maxTx + _maxWallet > _tTotal / 1000, "Should be bigger than 0,1%");
        _maxTxAmount = _maxTx;
        _maxWalletAmount = _maxWallet;
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(takeFee){
            if(to != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, to);
            }

            if(from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                transferAmount = takeSellFees(amount, from);
                forceSwapCount += 1;

               if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    swapBack(swapTokenAtAmount);
                    swapping = false;
                    forceSwapCount = 0;
              }

                if (forceSwapCount > 5 && !swapping) {
                    swapping = true;
                    swapBack(balanceOf(address(this)));
                    swapping = false;
                    forceSwapCount = 0;
              }
            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
        
        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        
        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingWallet).transfer(address(this).balance);
    }

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

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"},{"internalType":"address","name":"liquidityAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_buyLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellLiquidityFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTx","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"changeMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwapCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a6200001491906200080c565b66017e9d8602b4006200002891906200085d565b6006556009600a6200003b91906200080c565b64c3e627f1006200004d91906200085d565b6007556009600a6200006091906200080c565b64c3e627f1006200007291906200085d565b6008556009600a6200008591906200080c565b65024bb277d3006200009891906200085d565b600955348015620000a857600080fd5b5060405162003d9138038062003d918339818101604052810190620000ce919062000912565b6000620000e06200066a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460036000620002176200066a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600001819055506018600d600101819055506001600f600001819055506027600f600101819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030e919062000959565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000376573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039c919062000959565b6040518363ffffffff1660e01b8152600401620003bb9291906200099c565b6020604051808303816000875af1158015620003db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000401919062000959565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005f76200066a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620006589190620009da565b60405180910390a350505050620009f7565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200070057808604811115620006d857620006d762000672565b5b6001851615620006e85780820291505b8081029050620006f885620006a1565b9450620006b8565b94509492505050565b6000826200071b5760019050620007ee565b816200072b5760009050620007ee565b81600181146200074457600281146200074f5762000785565b6001915050620007ee565b60ff84111562000764576200076362000672565b5b8360020a9150848211156200077e576200077d62000672565b5b50620007ee565b5060208310610133831016604e8410600b8410161715620007bf5782820a905083811115620007b957620007b862000672565b5b620007ee565b620007ce8484846001620006ae565b92509050818404811115620007e857620007e762000672565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200081982620007f5565b91506200082683620007ff565b9250620008557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000709565b905092915050565b60006200086a82620007f5565b91506200087783620007f5565b92508282026200088781620007f5565b91508282048414831517620008a157620008a062000672565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008da82620008ad565b9050919050565b620008ec81620008cd565b8114620008f857600080fd5b50565b6000815190506200090c81620008e1565b92915050565b600080604083850312156200092c576200092b620008a8565b5b60006200093c85828601620008fb565b92505060206200094f85828601620008fb565b9150509250929050565b600060208284031215620009725762000971620008a8565b5b60006200098284828501620008fb565b91505092915050565b6200099681620008cd565b82525050565b6000604082019050620009b360008301856200098b565b620009c260208301846200098b565b9392505050565b620009d481620007f5565b82525050565b6000602082019050620009f16000830184620009c9565b92915050565b61338a8062000a076000396000f3fe6080604052600436106101bb5760003560e01c80636c0a24eb116100ec578063a457c2d71161008a578063c024666811610064578063c024666814610637578063c589829d14610660578063dd62ed3e1461068b578063f2fde38b146106c8576101c2565b8063a457c2d714610594578063a9059cbb146105d1578063b1192e181461060e576101c2565b806375f0a874116100c657806375f0a874146104e85780637d1db4a5146105135780638da5cb5b1461053e57806395d89b4114610569576101c2565b80636c0a24eb1461046957806370a0823114610494578063715018a6146104d1576101c2565b80632b14ca5611610159578063470624021161013357806347062402146103ac5780634716b2c3146103d857806349bd5a5e146104015780635342acb41461042c576101c2565b80632b14ca5614610318578063313ce56714610344578063395093511461036f576101c2565b80631694505e116101955780631694505e1461025a57806318160ddd1461028557806323b872dd146102b0578063264d26dd146102ed576101c2565b806303e403b0146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106f1565b6040516101e99190612450565b60405180910390f35b3480156101fe57600080fd5b506102076106f7565b60405161021491906124fb565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906125ac565b610734565b6040516102519190612607565b60405180910390f35b34801561026657600080fd5b5061026f610752565b60405161027c9190612681565b60405180910390f35b34801561029157600080fd5b5061029a610778565b6040516102a79190612450565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061269c565b610782565b6040516102e49190612607565b60405180910390f35b3480156102f957600080fd5b5061030261083a565b60405161030f91906126fe565b60405180910390f35b34801561032457600080fd5b5061032d610860565b60405161033b929190612719565b60405180910390f35b34801561035057600080fd5b50610359610872565b604051610366919061275e565b60405180910390f35b34801561037b57600080fd5b50610396600480360381019061039191906125ac565b61087b565b6040516103a39190612607565b60405180910390f35b3480156103b857600080fd5b506103c1610927565b6040516103cf929190612719565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190612779565b610939565b005b34801561040d57600080fd5b50610416610a3c565b60405161042391906126fe565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e91906127b9565b610a62565b6040516104609190612607565b60405180910390f35b34801561047557600080fd5b5061047e610ab8565b60405161048b9190612450565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b691906127b9565b610abe565b6040516104c89190612450565b60405180910390f35b3480156104dd57600080fd5b506104e6610b07565b005b3480156104f457600080fd5b506104fd610c5a565b60405161050a91906126fe565b60405180910390f35b34801561051f57600080fd5b50610528610c80565b6040516105359190612450565b60405180910390f35b34801561054a57600080fd5b50610553610c86565b60405161056091906126fe565b60405180910390f35b34801561057557600080fd5b5061057e610caf565b60405161058b91906124fb565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b691906125ac565b610cec565b6040516105c89190612607565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906125ac565b610d98565b6040516106059190612607565b60405180910390f35b34801561061a57600080fd5b50610635600480360381019061063091906127e6565b610db6565b005b34801561064357600080fd5b5061065e60048036038101906106599190612879565b610edd565b005b34801561066c57600080fd5b50610675610fcd565b6040516106829190612450565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad91906128b9565b610fd3565b6040516106bf9190612450565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906127b9565b61105a565b005b60095481565b60606040518060400160405280600e81526020017f4b696c6c205a65726f20506c616e000000000000000000000000000000000000815250905090565b600061074861074161121b565b8484611223565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600061078f8484846113ec565b61082f8461079b61121b565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e561121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082a9190612928565b611223565b600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f8060000154908060010154905082565b60006009905090565b600061091d61088861121b565b84846004600061089661121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610918919061295c565b611223565b6001905092915050565b600d8060000154908060010154905082565b61094161121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c5906129dc565b60405180910390fd5b6103e86006546109de9190612a2b565b81836109ea919061295c565b11610a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2190612aa8565b60405180910390fd5b81600881905550806007819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60075481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0f61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4b30000000000000000000000000000000000000000000000000000000000000815250905090565b6000610d8e610cf961121b565b848460046000610d0761121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d899190612928565b611223565b6001905092915050565b6000610dac610da561121b565b84846113ec565b6001905092915050565b610dbe61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906129dc565b60405180910390fd5b60328385610e59919061295c565b1080610e70575060328282610e6e919061295c565b105b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690612b14565b60405180910390fd5b82600d6000018190555083600d6001018190555080600f6000018190555081600f6001018190555050505050565b610ee561121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906129dc565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61106261121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612ba6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612c38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612cca565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113df9190612450565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290612d5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612dee565b60405180910390fd5b6000811161150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612e80565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155c9190612928565b9250508190555060008190506000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561160e5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561161857600190505b8015611a1857600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461171d576008548311156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612f12565b60405180910390fd5b600754836116c586610abe565b6116cf919061295c565b1115611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790612fa4565b60405180910390fd5b61171a8385611ada565b91505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8576008548311156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae90612f12565b60405180910390fd5b6117c18386611c0f565b91506001600a60008282546117d6919061295c565b925050819055506009546117e930610abe565b101580156118045750601360009054906101000a900460ff16155b15611853576001601360006101000a81548160ff02191690831515021790555061182f600954611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b6005600a541180156118725750601360009054906101000a900460ff16155b156118c7576001601360006101000a81548160ff0219169083151502179055506118a361189e30610abe565b611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119745750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a17576008548311156119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b590612f12565b60405180910390fd5b600754836119cb86610abe565b6119d5919061295c565b1115611a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0d90612fa4565b60405180910390fd5b5b5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a67919061295c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611acb9190612450565b60405180910390a35050505050565b6000806064600d6000015485611af09190612fc4565b611afa9190612a2b565b905060006064600d6001015486611b119190612fc4565b611b1b9190612a2b565b90508082611b29919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b77919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611bd9919061295c565b604051611be69190612450565b60405180910390a3808286611bfb9190612928565b611c059190612928565b9250505092915050565b6000806064600f6000015485611c259190612fc4565b611c2f9190612a2b565b905060006064600f6001015486611c469190612fc4565b611c509190612a2b565b90508082611c5e919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cac919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611d0e919061295c565b604051611d1b9190612450565b60405180910390a3808286611d309190612928565b611d3a9190612928565b9250505092915050565b60008190506000600f60000154600f60010154600d60000154600d60010154611d6d919061295c565b611d77919061295c565b611d81919061295c565b600f60000154600d60000154611d97919061295c565b83611da29190612fc4565b611dac9190612a2b565b90506000600f60000154600f60010154600d60000154600d60010154611dd2919061295c565b611ddc919061295c565b611de6919061295c565b600f60010154600d60010154611dfc919061295c565b84611e079190612fc4565b611e119190612a2b565b905060008183611e21919061295c565b90506000611e39600285611f1f90919063ffffffff16565b90506000611e508287611f6990919063ffffffff16565b90506000479050611e6082611fb3565b6000611e758247611f6990919063ffffffff16565b90506000611e9e86611e908a856121f690919063ffffffff16565b611f1f90919063ffffffff16565b9050611eaa8582612270565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611f12573d6000803e3d6000fd5b5050505050505050505050565b6000611f6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612370565b905092915050565b6000611fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123d3565b905092915050565b6000600267ffffffffffffffff811115611fd057611fcf613006565b5b604051908082528060200260200182016040528015611ffe5781602001602082028036833780820191505090505b509050308160008151811061201657612015613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e19190613079565b816001815181106120f5576120f4613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215c30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c095949392919061319f565b600060405180830381600087803b1580156121da57600080fd5b505af11580156121ee573d6000803e3d6000fd5b505050505050565b6000808303612208576000905061226a565b600082846122169190612fc4565b90508284826122259190612a2b565b14612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c9061326b565b60405180910390fd5b809150505b92915050565b61229d30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123269695949392919061328b565b60606040518083038185885af1158015612344573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123699190613301565b5050505050565b600080831182906123b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ae91906124fb565b60405180910390fd5b50600083856123c69190612a2b565b9050809150509392505050565b600083831115829061241b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241291906124fb565b60405180910390fd5b506000838561242a9190612928565b9050809150509392505050565b6000819050919050565b61244a81612437565b82525050565b60006020820190506124656000830184612441565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a557808201518184015260208101905061248a565b60008484015250505050565b6000601f19601f8301169050919050565b60006124cd8261246b565b6124d78185612476565b93506124e7818560208601612487565b6124f0816124b1565b840191505092915050565b6000602082019050818103600083015261251581846124c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254d82612522565b9050919050565b61255d81612542565b811461256857600080fd5b50565b60008135905061257a81612554565b92915050565b61258981612437565b811461259457600080fd5b50565b6000813590506125a681612580565b92915050565b600080604083850312156125c3576125c261251d565b5b60006125d18582860161256b565b92505060206125e285828601612597565b9150509250929050565b60008115159050919050565b612601816125ec565b82525050565b600060208201905061261c60008301846125f8565b92915050565b6000819050919050565b600061264761264261263d84612522565b612622565b612522565b9050919050565b60006126598261262c565b9050919050565b600061266b8261264e565b9050919050565b61267b81612660565b82525050565b60006020820190506126966000830184612672565b92915050565b6000806000606084860312156126b5576126b461251d565b5b60006126c38682870161256b565b93505060206126d48682870161256b565b92505060406126e586828701612597565b9150509250925092565b6126f881612542565b82525050565b600060208201905061271360008301846126ef565b92915050565b600060408201905061272e6000830185612441565b61273b6020830184612441565b9392505050565b600060ff82169050919050565b61275881612742565b82525050565b6000602082019050612773600083018461274f565b92915050565b600080604083850312156127905761278f61251d565b5b600061279e85828601612597565b92505060206127af85828601612597565b9150509250929050565b6000602082840312156127cf576127ce61251d565b5b60006127dd8482850161256b565b91505092915050565b60008060008060808587031215612800576127ff61251d565b5b600061280e87828801612597565b945050602061281f87828801612597565b935050604061283087828801612597565b925050606061284187828801612597565b91505092959194509250565b612856816125ec565b811461286157600080fd5b50565b6000813590506128738161284d565b92915050565b600080604083850312156128905761288f61251d565b5b600061289e8582860161256b565b92505060206128af85828601612864565b9150509250929050565b600080604083850312156128d0576128cf61251d565b5b60006128de8582860161256b565b92505060206128ef8582860161256b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061293382612437565b915061293e83612437565b9250828203905081811115612956576129556128f9565b5b92915050565b600061296782612437565b915061297283612437565b925082820190508082111561298a576129896128f9565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129c6602083612476565b91506129d182612990565b602082019050919050565b600060208201905081810360008301526129f5816129b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a3682612437565b9150612a4183612437565b925082612a5157612a506129fc565b5b828204905092915050565b7f53686f756c6420626520626967676572207468616e20302c3125000000000000600082015250565b6000612a92601a83612476565b9150612a9d82612a5c565b602082019050919050565b60006020820190508181036000830152612ac181612a85565b9050919050565b7f43616e2774206368616e67652066656520686967686572207468616e20323425600082015250565b6000612afe602083612476565b9150612b0982612ac8565b602082019050919050565b60006020820190508181036000830152612b2d81612af1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b90602683612476565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c22602483612476565b9150612c2d82612bc6565b604082019050919050565b60006020820190508181036000830152612c5181612c15565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cb4602283612476565b9150612cbf82612c58565b604082019050919050565b60006020820190508181036000830152612ce381612ca7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d46602583612476565b9150612d5182612cea565b604082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd8602383612476565b9150612de382612d7c565b604082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e6a602983612476565b9150612e7582612e0e565b604082019050919050565b60006020820190508181036000830152612e9981612e5d565b9050919050565b7f5472616e7366657220416d6f756e74206578636565647320746865206d61785460008201527f786e73416d6f756e740000000000000000000000000000000000000000000000602082015250565b6000612efc602983612476565b9150612f0782612ea0565b604082019050919050565b60006020820190508181036000830152612f2b81612eef565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c6574416d6f756e742e0000000000000000000000000000000000000000602082015250565b6000612f8e602c83612476565b9150612f9982612f32565b604082019050919050565b60006020820190508181036000830152612fbd81612f81565b9050919050565b6000612fcf82612437565b9150612fda83612437565b9250828202612fe881612437565b91508282048414831517612fff57612ffe6128f9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061307381612554565b92915050565b60006020828403121561308f5761308e61251d565b5b600061309d84828501613064565b91505092915050565b6000819050919050565b60006130cb6130c66130c1846130a6565b612622565b612437565b9050919050565b6130db816130b0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61311681612542565b82525050565b6000613128838361310d565b60208301905092915050565b6000602082019050919050565b600061314c826130e1565b61315681856130ec565b9350613161836130fd565b8060005b83811015613192578151613179888261311c565b975061318483613134565b925050600181019050613165565b5085935050505092915050565b600060a0820190506131b46000830188612441565b6131c160208301876130d2565b81810360408301526131d38186613141565b90506131e260608301856126ef565b6131ef6080830184612441565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613255602183612476565b9150613260826131f9565b604082019050919050565b6000602082019050818103600083015261328481613248565b9050919050565b600060c0820190506132a060008301896126ef565b6132ad6020830188612441565b6132ba60408301876130d2565b6132c760608301866130d2565b6132d460808301856126ef565b6132e160a0830184612441565b979650505050505050565b6000815190506132fb81612580565b92915050565b60008060006060848603121561331a5761331961251d565b5b6000613328868287016132ec565b9350506020613339868287016132ec565b925050604061334a868287016132ec565b915050925092509256fea2646970667358221220f2521a4b141a6b4ccb2c566687e4148b1523beac58889b3f5ef5470dc491699564736f6c63430008110033000000000000000000000000422548c12edd3ed92b9953e8c20f1d1213aa4749000000000000000000000000422548c12edd3ed92b9953e8c20f1d1213aa4749

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80636c0a24eb116100ec578063a457c2d71161008a578063c024666811610064578063c024666814610637578063c589829d14610660578063dd62ed3e1461068b578063f2fde38b146106c8576101c2565b8063a457c2d714610594578063a9059cbb146105d1578063b1192e181461060e576101c2565b806375f0a874116100c657806375f0a874146104e85780637d1db4a5146105135780638da5cb5b1461053e57806395d89b4114610569576101c2565b80636c0a24eb1461046957806370a0823114610494578063715018a6146104d1576101c2565b80632b14ca5611610159578063470624021161013357806347062402146103ac5780634716b2c3146103d857806349bd5a5e146104015780635342acb41461042c576101c2565b80632b14ca5614610318578063313ce56714610344578063395093511461036f576101c2565b80631694505e116101955780631694505e1461025a57806318160ddd1461028557806323b872dd146102b0578063264d26dd146102ed576101c2565b806303e403b0146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106f1565b6040516101e99190612450565b60405180910390f35b3480156101fe57600080fd5b506102076106f7565b60405161021491906124fb565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906125ac565b610734565b6040516102519190612607565b60405180910390f35b34801561026657600080fd5b5061026f610752565b60405161027c9190612681565b60405180910390f35b34801561029157600080fd5b5061029a610778565b6040516102a79190612450565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061269c565b610782565b6040516102e49190612607565b60405180910390f35b3480156102f957600080fd5b5061030261083a565b60405161030f91906126fe565b60405180910390f35b34801561032457600080fd5b5061032d610860565b60405161033b929190612719565b60405180910390f35b34801561035057600080fd5b50610359610872565b604051610366919061275e565b60405180910390f35b34801561037b57600080fd5b50610396600480360381019061039191906125ac565b61087b565b6040516103a39190612607565b60405180910390f35b3480156103b857600080fd5b506103c1610927565b6040516103cf929190612719565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190612779565b610939565b005b34801561040d57600080fd5b50610416610a3c565b60405161042391906126fe565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e91906127b9565b610a62565b6040516104609190612607565b60405180910390f35b34801561047557600080fd5b5061047e610ab8565b60405161048b9190612450565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b691906127b9565b610abe565b6040516104c89190612450565b60405180910390f35b3480156104dd57600080fd5b506104e6610b07565b005b3480156104f457600080fd5b506104fd610c5a565b60405161050a91906126fe565b60405180910390f35b34801561051f57600080fd5b50610528610c80565b6040516105359190612450565b60405180910390f35b34801561054a57600080fd5b50610553610c86565b60405161056091906126fe565b60405180910390f35b34801561057557600080fd5b5061057e610caf565b60405161058b91906124fb565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b691906125ac565b610cec565b6040516105c89190612607565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906125ac565b610d98565b6040516106059190612607565b60405180910390f35b34801561061a57600080fd5b50610635600480360381019061063091906127e6565b610db6565b005b34801561064357600080fd5b5061065e60048036038101906106599190612879565b610edd565b005b34801561066c57600080fd5b50610675610fcd565b6040516106829190612450565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad91906128b9565b610fd3565b6040516106bf9190612450565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906127b9565b61105a565b005b60095481565b60606040518060400160405280600e81526020017f4b696c6c205a65726f20506c616e000000000000000000000000000000000000815250905090565b600061074861074161121b565b8484611223565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600061078f8484846113ec565b61082f8461079b61121b565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e561121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082a9190612928565b611223565b600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f8060000154908060010154905082565b60006009905090565b600061091d61088861121b565b84846004600061089661121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610918919061295c565b611223565b6001905092915050565b600d8060000154908060010154905082565b61094161121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c5906129dc565b60405180910390fd5b6103e86006546109de9190612a2b565b81836109ea919061295c565b11610a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2190612aa8565b60405180910390fd5b81600881905550806007819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60075481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0f61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4b30000000000000000000000000000000000000000000000000000000000000815250905090565b6000610d8e610cf961121b565b848460046000610d0761121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d899190612928565b611223565b6001905092915050565b6000610dac610da561121b565b84846113ec565b6001905092915050565b610dbe61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906129dc565b60405180910390fd5b60328385610e59919061295c565b1080610e70575060328282610e6e919061295c565b105b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690612b14565b60405180910390fd5b82600d6000018190555083600d6001018190555080600f6000018190555081600f6001018190555050505050565b610ee561121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906129dc565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61106261121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612ba6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612c38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612cca565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113df9190612450565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290612d5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612dee565b60405180910390fd5b6000811161150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612e80565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155c9190612928565b9250508190555060008190506000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561160e5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561161857600190505b8015611a1857600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461171d576008548311156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612f12565b60405180910390fd5b600754836116c586610abe565b6116cf919061295c565b1115611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790612fa4565b60405180910390fd5b61171a8385611ada565b91505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8576008548311156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae90612f12565b60405180910390fd5b6117c18386611c0f565b91506001600a60008282546117d6919061295c565b925050819055506009546117e930610abe565b101580156118045750601360009054906101000a900460ff16155b15611853576001601360006101000a81548160ff02191690831515021790555061182f600954611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b6005600a541180156118725750601360009054906101000a900460ff16155b156118c7576001601360006101000a81548160ff0219169083151502179055506118a361189e30610abe565b611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119745750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a17576008548311156119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b590612f12565b60405180910390fd5b600754836119cb86610abe565b6119d5919061295c565b1115611a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0d90612fa4565b60405180910390fd5b5b5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a67919061295c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611acb9190612450565b60405180910390a35050505050565b6000806064600d6000015485611af09190612fc4565b611afa9190612a2b565b905060006064600d6001015486611b119190612fc4565b611b1b9190612a2b565b90508082611b29919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b77919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611bd9919061295c565b604051611be69190612450565b60405180910390a3808286611bfb9190612928565b611c059190612928565b9250505092915050565b6000806064600f6000015485611c259190612fc4565b611c2f9190612a2b565b905060006064600f6001015486611c469190612fc4565b611c509190612a2b565b90508082611c5e919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cac919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611d0e919061295c565b604051611d1b9190612450565b60405180910390a3808286611d309190612928565b611d3a9190612928565b9250505092915050565b60008190506000600f60000154600f60010154600d60000154600d60010154611d6d919061295c565b611d77919061295c565b611d81919061295c565b600f60000154600d60000154611d97919061295c565b83611da29190612fc4565b611dac9190612a2b565b90506000600f60000154600f60010154600d60000154600d60010154611dd2919061295c565b611ddc919061295c565b611de6919061295c565b600f60010154600d60010154611dfc919061295c565b84611e079190612fc4565b611e119190612a2b565b905060008183611e21919061295c565b90506000611e39600285611f1f90919063ffffffff16565b90506000611e508287611f6990919063ffffffff16565b90506000479050611e6082611fb3565b6000611e758247611f6990919063ffffffff16565b90506000611e9e86611e908a856121f690919063ffffffff16565b611f1f90919063ffffffff16565b9050611eaa8582612270565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611f12573d6000803e3d6000fd5b5050505050505050505050565b6000611f6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612370565b905092915050565b6000611fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123d3565b905092915050565b6000600267ffffffffffffffff811115611fd057611fcf613006565b5b604051908082528060200260200182016040528015611ffe5781602001602082028036833780820191505090505b509050308160008151811061201657612015613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e19190613079565b816001815181106120f5576120f4613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215c30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c095949392919061319f565b600060405180830381600087803b1580156121da57600080fd5b505af11580156121ee573d6000803e3d6000fd5b505050505050565b6000808303612208576000905061226a565b600082846122169190612fc4565b90508284826122259190612a2b565b14612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c9061326b565b60405180910390fd5b809150505b92915050565b61229d30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123269695949392919061328b565b60606040518083038185885af1158015612344573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123699190613301565b5050505050565b600080831182906123b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ae91906124fb565b60405180910390fd5b50600083856123c69190612a2b565b9050809150509392505050565b600083831115829061241b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241291906124fb565b60405180910390fd5b506000838561242a9190612928565b9050809150509392505050565b6000819050919050565b61244a81612437565b82525050565b60006020820190506124656000830184612441565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a557808201518184015260208101905061248a565b60008484015250505050565b6000601f19601f8301169050919050565b60006124cd8261246b565b6124d78185612476565b93506124e7818560208601612487565b6124f0816124b1565b840191505092915050565b6000602082019050818103600083015261251581846124c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254d82612522565b9050919050565b61255d81612542565b811461256857600080fd5b50565b60008135905061257a81612554565b92915050565b61258981612437565b811461259457600080fd5b50565b6000813590506125a681612580565b92915050565b600080604083850312156125c3576125c261251d565b5b60006125d18582860161256b565b92505060206125e285828601612597565b9150509250929050565b60008115159050919050565b612601816125ec565b82525050565b600060208201905061261c60008301846125f8565b92915050565b6000819050919050565b600061264761264261263d84612522565b612622565b612522565b9050919050565b60006126598261262c565b9050919050565b600061266b8261264e565b9050919050565b61267b81612660565b82525050565b60006020820190506126966000830184612672565b92915050565b6000806000606084860312156126b5576126b461251d565b5b60006126c38682870161256b565b93505060206126d48682870161256b565b92505060406126e586828701612597565b9150509250925092565b6126f881612542565b82525050565b600060208201905061271360008301846126ef565b92915050565b600060408201905061272e6000830185612441565b61273b6020830184612441565b9392505050565b600060ff82169050919050565b61275881612742565b82525050565b6000602082019050612773600083018461274f565b92915050565b600080604083850312156127905761278f61251d565b5b600061279e85828601612597565b92505060206127af85828601612597565b9150509250929050565b6000602082840312156127cf576127ce61251d565b5b60006127dd8482850161256b565b91505092915050565b60008060008060808587031215612800576127ff61251d565b5b600061280e87828801612597565b945050602061281f87828801612597565b935050604061283087828801612597565b925050606061284187828801612597565b91505092959194509250565b612856816125ec565b811461286157600080fd5b50565b6000813590506128738161284d565b92915050565b600080604083850312156128905761288f61251d565b5b600061289e8582860161256b565b92505060206128af85828601612864565b9150509250929050565b600080604083850312156128d0576128cf61251d565b5b60006128de8582860161256b565b92505060206128ef8582860161256b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061293382612437565b915061293e83612437565b9250828203905081811115612956576129556128f9565b5b92915050565b600061296782612437565b915061297283612437565b925082820190508082111561298a576129896128f9565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129c6602083612476565b91506129d182612990565b602082019050919050565b600060208201905081810360008301526129f5816129b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a3682612437565b9150612a4183612437565b925082612a5157612a506129fc565b5b828204905092915050565b7f53686f756c6420626520626967676572207468616e20302c3125000000000000600082015250565b6000612a92601a83612476565b9150612a9d82612a5c565b602082019050919050565b60006020820190508181036000830152612ac181612a85565b9050919050565b7f43616e2774206368616e67652066656520686967686572207468616e20323425600082015250565b6000612afe602083612476565b9150612b0982612ac8565b602082019050919050565b60006020820190508181036000830152612b2d81612af1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b90602683612476565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c22602483612476565b9150612c2d82612bc6565b604082019050919050565b60006020820190508181036000830152612c5181612c15565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cb4602283612476565b9150612cbf82612c58565b604082019050919050565b60006020820190508181036000830152612ce381612ca7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d46602583612476565b9150612d5182612cea565b604082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd8602383612476565b9150612de382612d7c565b604082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e6a602983612476565b9150612e7582612e0e565b604082019050919050565b60006020820190508181036000830152612e9981612e5d565b9050919050565b7f5472616e7366657220416d6f756e74206578636565647320746865206d61785460008201527f786e73416d6f756e740000000000000000000000000000000000000000000000602082015250565b6000612efc602983612476565b9150612f0782612ea0565b604082019050919050565b60006020820190508181036000830152612f2b81612eef565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c6574416d6f756e742e0000000000000000000000000000000000000000602082015250565b6000612f8e602c83612476565b9150612f9982612f32565b604082019050919050565b60006020820190508181036000830152612fbd81612f81565b9050919050565b6000612fcf82612437565b9150612fda83612437565b9250828202612fe881612437565b91508282048414831517612fff57612ffe6128f9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061307381612554565b92915050565b60006020828403121561308f5761308e61251d565b5b600061309d84828501613064565b91505092915050565b6000819050919050565b60006130cb6130c66130c1846130a6565b612622565b612437565b9050919050565b6130db816130b0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61311681612542565b82525050565b6000613128838361310d565b60208301905092915050565b6000602082019050919050565b600061314c826130e1565b61315681856130ec565b9350613161836130fd565b8060005b83811015613192578151613179888261311c565b975061318483613134565b925050600181019050613165565b5085935050505092915050565b600060a0820190506131b46000830188612441565b6131c160208301876130d2565b81810360408301526131d38186613141565b90506131e260608301856126ef565b6131ef6080830184612441565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613255602183612476565b9150613260826131f9565b604082019050919050565b6000602082019050818103600083015261328481613248565b9050919050565b600060c0820190506132a060008301896126ef565b6132ad6020830188612441565b6132ba60408301876130d2565b6132c760608301866130d2565b6132d460808301856126ef565b6132e160a0830184612441565b979650505050505050565b6000815190506132fb81612580565b92915050565b60008060006060848603121561331a5761331961251d565b5b6000613328868287016132ec565b9350506020613339868287016132ec565b925050604061334a868287016132ec565b915050925092509256fea2646970667358221220f2521a4b141a6b4ccb2c566687e4148b1523beac58889b3f5ef5470dc491699564736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000422548c12edd3ed92b9953e8c20f1d1213aa4749000000000000000000000000422548c12edd3ed92b9953e8c20f1d1213aa4749

-----Decoded View---------------
Arg [0] : marketingAddress (address): 0x422548C12eDd3ED92B9953E8c20f1d1213AA4749
Arg [1] : liquidityAddress (address): 0x422548C12eDd3ED92B9953E8c20f1d1213AA4749

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000422548c12edd3ed92b9953e8c20f1d1213aa4749
Arg [1] : 000000000000000000000000422548c12edd3ed92b9953e8c20f1d1213aa4749


Deployed Bytecode Sourcemap

4744:10437:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5459:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7056:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7888:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4834:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7333:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8057:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5568:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5847:23;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;7242:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8331:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5819:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;10543:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4884:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9912:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5325:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7436:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3205:148;;;;;;;;;;;;;:::i;:::-;;5607:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5394:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2991:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7147:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8554:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7562:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10043:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8791:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5530:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7737:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3361:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5459:64;;;;:::o;7056:83::-;7093:13;7126:5;;;;;;;;;;;;;;;;;7119:12;;7056:83;:::o;7888:161::-;7963:4;7980:39;7989:12;:10;:12::i;:::-;8003:7;8012:6;7980:8;:39::i;:::-;8037:4;8030:11;;7888:161;;;;:::o;4834:41::-;;;;;;;;;;;;;:::o;7333:95::-;7386:7;7413;;7406:14;;7333:95;:::o;8057:266::-;8155:4;8172:36;8182:6;8190:9;8201:6;8172:9;:36::i;:::-;8219:74;8228:6;8236:12;:10;:12::i;:::-;8286:6;8250:11;:19;8262:6;8250:19;;;;;;;;;;;;;;;:33;8270:12;:10;:12::i;:::-;8250:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;8219:8;:74::i;:::-;8311:4;8304:11;;8057:266;;;;;:::o;5568:32::-;;;;;;;;;;;;;:::o;5847:23::-;;;;;;;;;;;;;;:::o;7242:83::-;7283:5;5249:1;7301:16;;7242:83;:::o;8331:215::-;8419:4;8436:80;8445:12;:10;:12::i;:::-;8459:7;8505:10;8468:11;:25;8480:12;:10;:12::i;:::-;8468:25;;;;;;;;;;;;;;;:34;8494:7;8468:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;8436:8;:80::i;:::-;8534:4;8527:11;;8331:215;;;;:::o;5819:21::-;;;;;;;;;;;;;;:::o;10543:238::-;3128:12;:10;:12::i;:::-;3118:22;;:6;;;;;;;;;;:22;;;3110:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10666:4:::1;10656:7;;:14;;;;:::i;:::-;10643:10;10634:6;:19;;;;:::i;:::-;:36;10626:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;10727:6;10712:12;:21;;;;10763:10;10744:16;:29;;;;10543:238:::0;;:::o;4884:28::-;;;;;;;;;;;;;:::o;9912:123::-;9976:4;10000:18;:27;10019:7;10000:27;;;;;;;;;;;;;;;;;;;;;;;;;9993:34;;9912:123;;;:::o;5325:62::-;;;;:::o;7436:118::-;7502:7;7529:8;:17;7538:7;7529:17;;;;;;;;;;;;;;;;7522:24;;7436:118;;;:::o;3205:148::-;3128:12;:10;:12::i;:::-;3118:22;;:6;;;;;;;;;;:22;;;3110:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3312:1:::1;3275:40;;3296:6;::::0;::::1;;;;;;;;3275:40;;;;;;;;;;;;3343:1;3326:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3205:148::o:0;5607:30::-;;;;;;;;;;;;;:::o;5394:58::-;;;;:::o;2991:79::-;3029:7;3056:6;;;;;;;;;;;3049:13;;2991:79;:::o;7147:87::-;7186:13;7219:7;;;;;;;;;;;;;;;;;7212:14;;7147:87;:::o;8554:225::-;8647:4;8664:85;8673:12;:10;:12::i;:::-;8687:7;8733:15;8696:11;:25;8708:12;:10;:12::i;:::-;8696:25;;;;;;;;;;;;;;;:34;8722:7;8696:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;8664:8;:85::i;:::-;8767:4;8760:11;;8554:225;;;;:::o;7562:167::-;7640:4;7657:42;7667:12;:10;:12::i;:::-;7681:9;7692:6;7657:9;:42::i;:::-;7717:4;7710:11;;7562:167;;;;:::o;10043:492::-;3128:12;:10;:12::i;:::-;3118:22;;:6;;;;;;;;;;:22;;;3110:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10242:2:::1;10223:16;10204;:35;;;;:::i;:::-;:40;:86;;;;10288:2;10268:17;10248;:37;;;;:::i;:::-;:42;10204:86;10196:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;10367:16;10348:6;:16;;:35;;;;10413:16;10394:6;:16;;:35;;;;10462:17;10442:7;:17;;:37;;;;10510:17;10490:7;:17;;:37;;;;10043:492:::0;;;;:::o;8791:140::-;3128:12;:10;:12::i;:::-;3118:22;;:6;;;;;;;;;;:22;;;3110:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8915:8:::1;8876:18;:36;8903:7;8876:36;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;8791:140:::0;;:::o;5530:29::-;;;;:::o;7737:143::-;7818:7;7845:11;:18;7857:5;7845:18;;;;;;;;;;;;;;;:27;7864:7;7845:27;;;;;;;;;;;;;;;;7838:34;;7737:143;;;;:::o;3361:244::-;3128:12;:10;:12::i;:::-;3118:22;;:6;;;;;;;;;;:22;;;3110:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3470:1:::1;3450:22;;:8;:22;;::::0;3442:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3560:8;3531:38;;3552:6;::::0;::::1;;;;;;;;3531:38;;;;;;;;;;;;3589:8;3580:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3361:244:::0;:::o;2427:115::-;2480:15;2523:10;2508:26;;2427:115;:::o;10789:337::-;10899:1;10882:19;;:5;:19;;;10874:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10980:1;10961:21;;:7;:21;;;10953:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11064:6;11034:11;:18;11046:5;11034:18;;;;;;;;;;;;;;;:27;11053:7;11034:27;;;;;;;;;;;;;;;:36;;;;11102:7;11086:32;;11095:5;11086:32;;;11111:6;11086:32;;;;;;:::i;:::-;;;;;;;;10789:337;;;:::o;11134:2094::-;11272:1;11256:18;;:4;:18;;;11248:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11349:1;11335:16;;:2;:16;;;11327:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11419:1;11410:6;:10;11402:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11505:6;11487:8;:14;11496:4;11487:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;11522:22;11547:6;11522:31;;11574:12;11603:18;:24;11622:4;11603:24;;;;;;;;;;;;;;;;;;;;;;;;;11602:25;:52;;;;;11632:18;:22;11651:2;11632:22;;;;;;;;;;;;;;;;;;;;;;;;;11631:23;11602:52;11599:97;;;11680:4;11670:14;;11599:97;11711:7;11708:1412;;;11743:13;;;;;;;;;;;11737:19;;:2;:19;;;11734:311;;11794:12;;11784:6;:22;;11776:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;11905:16;;11895:6;11879:13;11889:2;11879:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;11871:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;12006:23;12018:6;12026:2;12006:11;:23::i;:::-;11989:40;;11734:311;12072:13;;;;;;;;;;;12064:21;;:4;:21;;;12061:755;;12123:12;;12113:6;:22;;12105:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;12217:26;12230:6;12238:4;12217:12;:26::i;:::-;12200:43;;12280:1;12262:14;;:19;;;;;;;:::i;:::-;;;;;;;;12333:17;;12305:24;12323:4;12305:9;:24::i;:::-;:45;;:58;;;;;12355:8;;;;;;;;;;;12354:9;12305:58;12301:250;;;12399:4;12388:8;;:15;;;;;;;;;;;;;;;;;;12426:27;12435:17;;12426:8;:27::i;:::-;12487:5;12476:8;;:16;;;;;;;;;;;;;;;;;;12532:1;12515:14;:18;;;;12301:250;12592:1;12575:14;;:18;:31;;;;;12598:8;;;;;;;;;;;12597:9;12575:31;12571:230;;;12642:4;12631:8;;:15;;;;;;;;;;;;;;;;;;12669:34;12678:24;12696:4;12678:9;:24::i;:::-;12669:8;:34::i;:::-;12737:5;12726:8;;:16;;;;;;;;;;;;;;;;;;12782:1;12765:14;:18;;;;12571:230;12061:755;12841:13;;;;;;;;;;;12835:19;;:2;:19;;;;:44;;;;;12866:13;;;;;;;;;;;12858:21;;:4;:21;;;;12835:44;12832:277;;;12917:12;;12907:6;:22;;12899:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;13028:16;;13018:6;13002:13;13012:2;13002:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;12994:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;12832:277;11708:1412;13156:14;13140:8;:12;13149:2;13140:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13201:2;13186:34;;13195:4;13186:34;;;13205:14;13186:34;;;;;;:::i;:::-;;;;;;;;11237:1991;;11134:2094;;;:::o;8980:456::-;9048:7;9068:25;9124:3;9105:6;:16;;;9096:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9068:59;;9139:26;9196:3;9177:6;:16;;;9168:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9139:60;;9259:18;9239:17;:38;;;;:::i;:::-;9212:8;:23;9229:4;9212:23;;;;;;;;;;;;;;;;:65;;;;;;;:::i;:::-;;;;;;;;9317:4;9293:70;;9303:4;9293:70;;;9345:17;9324:18;:38;;;;:::i;:::-;9293:70;;;;;;:::i;:::-;;;;;;;;9409:18;9390:17;9382:6;:25;;;;:::i;:::-;:45;;;;:::i;:::-;9374:54;;;;8980:456;;;;:::o;9444:460::-;9513:7;9533:25;9590:3;9570:7;:17;;;9561:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9533:60;;9605:26;9663:3;9643:7;:17;;;9634:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9605:61;;9726:18;9706:17;:38;;;;:::i;:::-;9679:8;:23;9696:4;9679:23;;;;;;;;;;;;;;;;:65;;;;;;;:::i;:::-;;;;;;;;9784:4;9760:71;;9770:4;9760:71;;;9812:17;9791:18;:38;;;;:::i;:::-;9760:71;;;;;;:::i;:::-;;;;;;;;9877:18;9858:17;9850:6;:25;;;;:::i;:::-;:45;;;;:::i;:::-;9842:54;;;;9444:460;;;;:::o;13239:1074::-;13292:23;13318:6;13292:32;;13335:23;13479:7;:17;;;13459:7;:17;;;13440:6;:16;;;13421:6;:16;;;:35;;;;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;13399:7;:17;;;13380:6;:16;;;:36;;;;:::i;:::-;13361:15;:56;;;;:::i;:::-;:136;;;;:::i;:::-;13335:162;;13508:23;13652:7;:17;;;13632:7;:17;;;13613:6;:16;;;13594:6;:16;;;:35;;;;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;13572:7;:17;;;13553:6;:16;;;:36;;;;:::i;:::-;13534:15;:56;;;;:::i;:::-;:136;;;;:::i;:::-;13508:162;;13681:25;13727:15;13709;:33;;;;:::i;:::-;13681:61;;13763:26;13792:22;13812:1;13792:15;:19;;:22;;;;:::i;:::-;13763:51;;13825:26;13854:39;13874:18;13854:15;:19;;:39;;;;:::i;:::-;13825:68;;13904:25;13932:21;13904:49;;13964:36;13981:18;13964:16;:36::i;:::-;14012:18;14033:44;14059:17;14033:21;:25;;:44;;;;:::i;:::-;14012:65;;14098:23;14124:54;14160:17;14124:31;14139:15;14124:10;:14;;:31;;;;:::i;:::-;:35;;:54;;;;:::i;:::-;14098:80;;14189:49;14202:18;14222:15;14189:12;:49::i;:::-;14257:15;;;;;;;;;;;14249:33;;:56;14283:21;14249:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13281:1032;;;;;;;;;13239:1074;:::o;1657:132::-;1715:7;1742:39;1746:1;1749;1742:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1735:46;;1657:132;;;;:::o;1055:136::-;1113:7;1140:43;1144:1;1147;1140:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1133:50;;1055:136;;;;:::o;14321:475::-;14387:21;14425:1;14411:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14387:40;;14456:4;14438;14443:1;14438:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;14482:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14472:4;14477:1;14472:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;14517:62;14534:4;14549:15;;;;;;;;;;;14567:11;14517:8;:62::i;:::-;14592:15;;;;;;;;;;;:66;;;14673:11;14699:1;14715:4;14742;14762:15;14592:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14376:420;14321:475;:::o;1399:250::-;1457:7;1486:1;1481;:6;1477:47;;1511:1;1504:8;;;;1477:47;1536:9;1552:1;1548;:5;;;;:::i;:::-;1536:17;;1581:1;1576;1572;:5;;;;:::i;:::-;:10;1564:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1640:1;1633:8;;;1399:250;;;;;:::o;14804:374::-;14885:62;14902:4;14917:15;;;;;;;;;;;14935:11;14885:8;:62::i;:::-;14960:15;;;;;;;;;;;:31;;;15000:9;15034:4;15054:11;15080:1;15096;15112:17;;;;;;;;;;;15144:15;14960:210;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14804:374;;:::o;1797:278::-;1883:7;1915:1;1911;:5;1918:12;1903:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1942:9;1958:1;1954;:5;;;;:::i;:::-;1942:17;;2066:1;2059:8;;;1797:278;;;;;:::o;1199:192::-;1285:7;1318:1;1313;:6;;1321:12;1305:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1345:9;1361:1;1357;:5;;;;:::i;:::-;1345:17;;1382:1;1375:8;;;1199:192;;;;;:::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;1865:117::-;1974:1;1971;1964: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:60::-;3826:3;3847:5;3840:12;;3798:60;;;:::o;3864:142::-;3914:9;3947:53;3965:34;3974:24;3992:5;3974:24;:::i;:::-;3965:34;:::i;:::-;3947:53;:::i;:::-;3934:66;;3864:142;;;:::o;4012:126::-;4062:9;4095:37;4126:5;4095:37;:::i;:::-;4082:50;;4012:126;;;:::o;4144:152::-;4220:9;4253:37;4284:5;4253:37;:::i;:::-;4240:50;;4144:152;;;:::o;4302:183::-;4415:63;4472:5;4415:63;:::i;:::-;4410:3;4403:76;4302:183;;:::o;4491:274::-;4610:4;4648:2;4637:9;4633:18;4625:26;;4661:97;4755:1;4744:9;4740:17;4731:6;4661:97;:::i;:::-;4491:274;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:118::-;5483:24;5501:5;5483:24;:::i;:::-;5478:3;5471:37;5396:118;;:::o;5520:222::-;5613:4;5651:2;5640:9;5636:18;5628:26;;5664:71;5732:1;5721:9;5717:17;5708:6;5664:71;:::i;:::-;5520:222;;;;:::o;5748:332::-;5869:4;5907:2;5896:9;5892:18;5884:26;;5920:71;5988:1;5977:9;5973:17;5964:6;5920:71;:::i;:::-;6001:72;6069:2;6058:9;6054:18;6045:6;6001:72;:::i;:::-;5748:332;;;;;:::o;6086:86::-;6121:7;6161:4;6154:5;6150:16;6139:27;;6086:86;;;:::o;6178:112::-;6261:22;6277:5;6261:22;:::i;:::-;6256:3;6249:35;6178:112;;:::o;6296:214::-;6385:4;6423:2;6412:9;6408:18;6400:26;;6436:67;6500:1;6489:9;6485:17;6476:6;6436:67;:::i;:::-;6296:214;;;;:::o;6516:474::-;6584:6;6592;6641:2;6629:9;6620:7;6616:23;6612:32;6609:119;;;6647:79;;:::i;:::-;6609:119;6767:1;6792:53;6837:7;6828:6;6817:9;6813:22;6792:53;:::i;:::-;6782:63;;6738:117;6894:2;6920:53;6965:7;6956:6;6945:9;6941:22;6920:53;:::i;:::-;6910:63;;6865:118;6516:474;;;;;:::o;6996:329::-;7055:6;7104:2;7092:9;7083:7;7079:23;7075:32;7072:119;;;7110:79;;:::i;:::-;7072:119;7230:1;7255:53;7300:7;7291:6;7280:9;7276:22;7255:53;:::i;:::-;7245:63;;7201:117;6996:329;;;;:::o;7331:765::-;7417:6;7425;7433;7441;7490:3;7478:9;7469:7;7465:23;7461:33;7458:120;;;7497:79;;:::i;:::-;7458:120;7617:1;7642:53;7687:7;7678:6;7667:9;7663:22;7642:53;:::i;:::-;7632:63;;7588:117;7744:2;7770:53;7815:7;7806:6;7795:9;7791:22;7770:53;:::i;:::-;7760:63;;7715:118;7872:2;7898:53;7943:7;7934:6;7923:9;7919:22;7898:53;:::i;:::-;7888:63;;7843:118;8000:2;8026:53;8071:7;8062:6;8051:9;8047:22;8026:53;:::i;:::-;8016:63;;7971:118;7331:765;;;;;;;:::o;8102:116::-;8172:21;8187:5;8172:21;:::i;:::-;8165:5;8162:32;8152:60;;8208:1;8205;8198:12;8152:60;8102:116;:::o;8224:133::-;8267:5;8305:6;8292:20;8283:29;;8321:30;8345:5;8321:30;:::i;:::-;8224:133;;;;:::o;8363:468::-;8428:6;8436;8485:2;8473:9;8464:7;8460:23;8456:32;8453:119;;;8491:79;;:::i;:::-;8453:119;8611:1;8636:53;8681:7;8672:6;8661:9;8657:22;8636:53;:::i;:::-;8626:63;;8582:117;8738:2;8764:50;8806:7;8797:6;8786:9;8782:22;8764:50;:::i;:::-;8754:60;;8709:115;8363:468;;;;;:::o;8837:474::-;8905:6;8913;8962:2;8950:9;8941:7;8937:23;8933:32;8930:119;;;8968:79;;:::i;:::-;8930:119;9088:1;9113:53;9158:7;9149:6;9138:9;9134:22;9113:53;:::i;:::-;9103:63;;9059:117;9215:2;9241:53;9286:7;9277:6;9266:9;9262:22;9241:53;:::i;:::-;9231:63;;9186:118;8837:474;;;;;:::o;9317:180::-;9365:77;9362:1;9355:88;9462:4;9459:1;9452:15;9486:4;9483:1;9476:15;9503:194;9543:4;9563:20;9581:1;9563:20;:::i;:::-;9558:25;;9597:20;9615:1;9597:20;:::i;:::-;9592:25;;9641:1;9638;9634:9;9626:17;;9665:1;9659:4;9656:11;9653:37;;;9670:18;;:::i;:::-;9653:37;9503:194;;;;:::o;9703:191::-;9743:3;9762:20;9780:1;9762:20;:::i;:::-;9757:25;;9796:20;9814:1;9796:20;:::i;:::-;9791:25;;9839:1;9836;9832:9;9825:16;;9860:3;9857:1;9854:10;9851:36;;;9867:18;;:::i;:::-;9851:36;9703:191;;;;:::o;9900:182::-;10040:34;10036:1;10028:6;10024:14;10017:58;9900:182;:::o;10088:366::-;10230:3;10251:67;10315:2;10310:3;10251:67;:::i;:::-;10244:74;;10327:93;10416:3;10327:93;:::i;:::-;10445:2;10440:3;10436:12;10429:19;;10088:366;;;:::o;10460:419::-;10626:4;10664:2;10653:9;10649:18;10641:26;;10713:9;10707:4;10703:20;10699:1;10688:9;10684:17;10677:47;10741:131;10867:4;10741:131;:::i;:::-;10733:139;;10460:419;;;:::o;10885:180::-;10933:77;10930:1;10923:88;11030:4;11027:1;11020:15;11054:4;11051:1;11044:15;11071:185;11111:1;11128:20;11146:1;11128:20;:::i;:::-;11123:25;;11162:20;11180:1;11162:20;:::i;:::-;11157:25;;11201:1;11191:35;;11206:18;;:::i;:::-;11191:35;11248:1;11245;11241:9;11236:14;;11071:185;;;;:::o;11262:176::-;11402:28;11398:1;11390:6;11386:14;11379:52;11262:176;:::o;11444:366::-;11586:3;11607:67;11671:2;11666:3;11607:67;:::i;:::-;11600:74;;11683:93;11772:3;11683:93;:::i;:::-;11801:2;11796:3;11792:12;11785:19;;11444:366;;;:::o;11816:419::-;11982:4;12020:2;12009:9;12005:18;11997:26;;12069:9;12063:4;12059:20;12055:1;12044:9;12040:17;12033:47;12097:131;12223:4;12097:131;:::i;:::-;12089:139;;11816:419;;;:::o;12241:182::-;12381:34;12377:1;12369:6;12365:14;12358:58;12241:182;:::o;12429:366::-;12571:3;12592:67;12656:2;12651:3;12592:67;:::i;:::-;12585:74;;12668:93;12757:3;12668:93;:::i;:::-;12786:2;12781:3;12777:12;12770:19;;12429:366;;;:::o;12801:419::-;12967:4;13005:2;12994:9;12990:18;12982:26;;13054:9;13048:4;13044:20;13040:1;13029:9;13025:17;13018:47;13082:131;13208:4;13082:131;:::i;:::-;13074:139;;12801:419;;;:::o;13226:225::-;13366:34;13362:1;13354:6;13350:14;13343:58;13435:8;13430:2;13422:6;13418:15;13411:33;13226:225;:::o;13457:366::-;13599:3;13620:67;13684:2;13679:3;13620:67;:::i;:::-;13613:74;;13696:93;13785:3;13696:93;:::i;:::-;13814:2;13809:3;13805:12;13798:19;;13457:366;;;:::o;13829:419::-;13995:4;14033:2;14022:9;14018:18;14010:26;;14082:9;14076:4;14072:20;14068:1;14057:9;14053:17;14046:47;14110:131;14236:4;14110:131;:::i;:::-;14102:139;;13829:419;;;:::o;14254:223::-;14394:34;14390:1;14382:6;14378:14;14371:58;14463:6;14458:2;14450:6;14446:15;14439:31;14254:223;:::o;14483:366::-;14625:3;14646:67;14710:2;14705:3;14646:67;:::i;:::-;14639:74;;14722:93;14811:3;14722:93;:::i;:::-;14840:2;14835:3;14831:12;14824:19;;14483:366;;;:::o;14855:419::-;15021:4;15059:2;15048:9;15044:18;15036:26;;15108:9;15102:4;15098:20;15094:1;15083:9;15079:17;15072:47;15136:131;15262:4;15136:131;:::i;:::-;15128:139;;14855:419;;;:::o;15280:221::-;15420:34;15416:1;15408:6;15404:14;15397:58;15489:4;15484:2;15476:6;15472:15;15465:29;15280:221;:::o;15507:366::-;15649:3;15670:67;15734:2;15729:3;15670:67;:::i;:::-;15663:74;;15746:93;15835:3;15746:93;:::i;:::-;15864:2;15859:3;15855:12;15848:19;;15507:366;;;:::o;15879:419::-;16045:4;16083:2;16072:9;16068:18;16060:26;;16132:9;16126:4;16122:20;16118:1;16107:9;16103:17;16096:47;16160:131;16286:4;16160:131;:::i;:::-;16152:139;;15879:419;;;:::o;16304:224::-;16444:34;16440:1;16432:6;16428:14;16421:58;16513:7;16508:2;16500:6;16496:15;16489:32;16304:224;:::o;16534:366::-;16676:3;16697:67;16761:2;16756:3;16697:67;:::i;:::-;16690:74;;16773:93;16862:3;16773:93;:::i;:::-;16891:2;16886:3;16882:12;16875:19;;16534:366;;;:::o;16906:419::-;17072:4;17110:2;17099:9;17095:18;17087:26;;17159:9;17153:4;17149:20;17145:1;17134:9;17130:17;17123:47;17187:131;17313:4;17187:131;:::i;:::-;17179:139;;16906:419;;;:::o;17331:222::-;17471:34;17467:1;17459:6;17455:14;17448:58;17540:5;17535:2;17527:6;17523:15;17516:30;17331:222;:::o;17559:366::-;17701:3;17722:67;17786:2;17781:3;17722:67;:::i;:::-;17715:74;;17798:93;17887:3;17798:93;:::i;:::-;17916:2;17911:3;17907:12;17900:19;;17559:366;;;:::o;17931:419::-;18097:4;18135:2;18124:9;18120:18;18112:26;;18184:9;18178:4;18174:20;18170:1;18159:9;18155:17;18148:47;18212:131;18338:4;18212:131;:::i;:::-;18204:139;;17931:419;;;:::o;18356:228::-;18496:34;18492:1;18484:6;18480:14;18473:58;18565:11;18560:2;18552:6;18548:15;18541:36;18356:228;:::o;18590:366::-;18732:3;18753:67;18817:2;18812:3;18753:67;:::i;:::-;18746:74;;18829:93;18918:3;18829:93;:::i;:::-;18947:2;18942:3;18938:12;18931:19;;18590:366;;;:::o;18962:419::-;19128:4;19166:2;19155:9;19151:18;19143:26;;19215:9;19209:4;19205:20;19201:1;19190:9;19186:17;19179:47;19243:131;19369:4;19243:131;:::i;:::-;19235:139;;18962:419;;;:::o;19387:228::-;19527:34;19523:1;19515:6;19511:14;19504:58;19596:11;19591:2;19583:6;19579:15;19572:36;19387:228;:::o;19621:366::-;19763:3;19784:67;19848:2;19843:3;19784:67;:::i;:::-;19777:74;;19860:93;19949:3;19860:93;:::i;:::-;19978:2;19973:3;19969:12;19962:19;;19621:366;;;:::o;19993:419::-;20159:4;20197:2;20186:9;20182:18;20174:26;;20246:9;20240:4;20236:20;20232:1;20221:9;20217:17;20210:47;20274:131;20400:4;20274:131;:::i;:::-;20266:139;;19993:419;;;:::o;20418:231::-;20558:34;20554:1;20546:6;20542:14;20535:58;20627:14;20622:2;20614:6;20610:15;20603:39;20418:231;:::o;20655:366::-;20797:3;20818:67;20882:2;20877:3;20818:67;:::i;:::-;20811:74;;20894:93;20983:3;20894:93;:::i;:::-;21012:2;21007:3;21003:12;20996:19;;20655:366;;;:::o;21027:419::-;21193:4;21231:2;21220:9;21216:18;21208:26;;21280:9;21274:4;21270:20;21266:1;21255:9;21251:17;21244:47;21308:131;21434:4;21308:131;:::i;:::-;21300:139;;21027:419;;;:::o;21452:410::-;21492:7;21515:20;21533:1;21515:20;:::i;:::-;21510:25;;21549:20;21567:1;21549:20;:::i;:::-;21544:25;;21604:1;21601;21597:9;21626:30;21644:11;21626:30;:::i;:::-;21615:41;;21805:1;21796:7;21792:15;21789:1;21786:22;21766:1;21759:9;21739:83;21716:139;;21835:18;;:::i;:::-;21716:139;21500:362;21452:410;;;;:::o;21868:180::-;21916:77;21913:1;21906:88;22013:4;22010:1;22003:15;22037:4;22034:1;22027:15;22054:180;22102:77;22099:1;22092:88;22199:4;22196:1;22189:15;22223:4;22220:1;22213:15;22240:143;22297:5;22328:6;22322:13;22313:22;;22344:33;22371:5;22344:33;:::i;:::-;22240:143;;;;:::o;22389:351::-;22459:6;22508:2;22496:9;22487:7;22483:23;22479:32;22476:119;;;22514:79;;:::i;:::-;22476:119;22634:1;22659:64;22715:7;22706:6;22695:9;22691:22;22659:64;:::i;:::-;22649:74;;22605:128;22389:351;;;;:::o;22746:85::-;22791:7;22820:5;22809:16;;22746:85;;;:::o;22837:158::-;22895:9;22928:61;22946:42;22955:32;22981:5;22955:32;:::i;:::-;22946:42;:::i;:::-;22928:61;:::i;:::-;22915:74;;22837:158;;;:::o;23001:147::-;23096:45;23135:5;23096:45;:::i;:::-;23091:3;23084:58;23001:147;;:::o;23154:114::-;23221:6;23255:5;23249:12;23239:22;;23154:114;;;:::o;23274:184::-;23373:11;23407:6;23402:3;23395:19;23447:4;23442:3;23438:14;23423:29;;23274:184;;;;:::o;23464:132::-;23531:4;23554:3;23546:11;;23584:4;23579:3;23575:14;23567:22;;23464:132;;;:::o;23602:108::-;23679:24;23697:5;23679:24;:::i;:::-;23674:3;23667:37;23602:108;;:::o;23716:179::-;23785:10;23806:46;23848:3;23840:6;23806:46;:::i;:::-;23884:4;23879:3;23875:14;23861:28;;23716:179;;;;:::o;23901:113::-;23971:4;24003;23998:3;23994:14;23986:22;;23901:113;;;:::o;24050:732::-;24169:3;24198:54;24246:5;24198:54;:::i;:::-;24268:86;24347:6;24342:3;24268:86;:::i;:::-;24261:93;;24378:56;24428:5;24378:56;:::i;:::-;24457:7;24488:1;24473:284;24498:6;24495:1;24492:13;24473:284;;;24574:6;24568:13;24601:63;24660:3;24645:13;24601:63;:::i;:::-;24594:70;;24687:60;24740:6;24687:60;:::i;:::-;24677:70;;24533:224;24520:1;24517;24513:9;24508:14;;24473:284;;;24477:14;24773:3;24766:10;;24174:608;;;24050:732;;;;:::o;24788:831::-;25051:4;25089:3;25078:9;25074:19;25066:27;;25103:71;25171:1;25160:9;25156:17;25147:6;25103:71;:::i;:::-;25184:80;25260:2;25249:9;25245:18;25236:6;25184:80;:::i;:::-;25311:9;25305:4;25301:20;25296:2;25285:9;25281:18;25274:48;25339:108;25442:4;25433:6;25339:108;:::i;:::-;25331:116;;25457:72;25525:2;25514:9;25510:18;25501:6;25457:72;:::i;:::-;25539:73;25607:3;25596:9;25592:19;25583:6;25539:73;:::i;:::-;24788:831;;;;;;;;:::o;25625:220::-;25765:34;25761:1;25753:6;25749:14;25742:58;25834:3;25829:2;25821:6;25817:15;25810:28;25625:220;:::o;25851:366::-;25993:3;26014:67;26078:2;26073:3;26014:67;:::i;:::-;26007:74;;26090:93;26179:3;26090:93;:::i;:::-;26208:2;26203:3;26199:12;26192:19;;25851:366;;;:::o;26223:419::-;26389:4;26427:2;26416:9;26412:18;26404:26;;26476:9;26470:4;26466:20;26462:1;26451:9;26447:17;26440:47;26504:131;26630:4;26504:131;:::i;:::-;26496:139;;26223:419;;;:::o;26648:807::-;26897:4;26935:3;26924:9;26920:19;26912:27;;26949:71;27017:1;27006:9;27002:17;26993:6;26949:71;:::i;:::-;27030:72;27098:2;27087:9;27083:18;27074:6;27030:72;:::i;:::-;27112:80;27188:2;27177:9;27173:18;27164:6;27112:80;:::i;:::-;27202;27278:2;27267:9;27263:18;27254:6;27202:80;:::i;:::-;27292:73;27360:3;27349:9;27345:19;27336:6;27292:73;:::i;:::-;27375;27443:3;27432:9;27428:19;27419:6;27375:73;:::i;:::-;26648:807;;;;;;;;;:::o;27461:143::-;27518:5;27549:6;27543:13;27534:22;;27565:33;27592:5;27565:33;:::i;:::-;27461:143;;;;:::o;27610:663::-;27698:6;27706;27714;27763:2;27751:9;27742:7;27738:23;27734:32;27731:119;;;27769:79;;:::i;:::-;27731:119;27889:1;27914:64;27970:7;27961:6;27950:9;27946:22;27914:64;:::i;:::-;27904:74;;27860:128;28027:2;28053:64;28109:7;28100:6;28089:9;28085:22;28053:64;:::i;:::-;28043:74;;27998:129;28166:2;28192:64;28248:7;28239:6;28228:9;28224:22;28192:64;:::i;:::-;28182:74;;28137:129;27610:663;;;;;:::o

Swarm Source

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