ETH Price: $3,431.64 (+2.39%)
Gas: 4 Gwei

Token

Cognicore AI (COGR)
 

Overview

Max Total Supply

100,000,000 COGR

Holders

90

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
braindeaddegen.eth
Balance
0.000000001 COGR

Value
$0.00
0x4645057b189150225f7b6d7229bd9cc190e7b239
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:
COGR

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-08
*/

/*
Advanced Artificial Technology: Seamlessly Connect to Assist Your Daily Work, Trading, Programming and Analyzing.
Effortlessly code auditor, search engine integration, or import files. Cognicore ensures compatibility with various platforms and file formats for a seamless experience.

Website   : https://www.cognicore.network/
Telegram  : hhttps://t.me/cognicorenetwork
Twitter   : https://twitter.com/cogrnetwork 
Bot       : https://t.me/cognicorerobot
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract COGR is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    address payable private  _taxWallet;
    address private constant deadAddress = address(0xdead);

    uint256 private constant _initBuyTax=25;
    uint256 private constant _initSellTax=35;
    uint256 private constant _reduceBuyTaxAt=25;
    uint256 private constant _reduceSellTaxAt=25;
    uint256 private constant _preventSwapBefore=25;

    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _buyCount=0;

    string private constant _name   = unicode"Cognicore AI";
    string private constant _symbol = unicode"COGR";
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;

    uint256 public constant _taxSwapThreshold = 0 * 10**_decimals;
    uint256 public constant _maxTaxSwap = 1000000 * 10**_decimals;
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private limitEffect = true;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event TradingOpened();
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    event MaxWalletSizeUpdated(uint256 _maxWalletSize);
    event FinalTax (uint256 _valueBuy, uint256 _valueSell);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;

        excludeFromFee(owner(), true);
        excludeFromFee(deadAddress, true);
        excludeFromFee(address(this), true);
        excludeFromFee(_taxWallet, 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 pure 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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function excludeFromFee(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[account] = excluded;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "ERC20: approve 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) && to != address(0), "ERC20: transfer the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        uint256 taxAmount=0;

        if (from != owner() && to != owner()) {
            if (!tradingOpen) {
                require( 
                  _isExcludedFromFee[from] || _isExcludedFromFee[to],
                  "trading is not yet open"
                );
            } 

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                if (limitEffect) {
                    require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                    require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                } 
                _buyCount++;
            }
            
            if ( to == uniswapV2Pair && from != address(this) ){
                taxAmount = amount.mul 
                ((_buyCount>_reduceSellTaxAt)
                    ?_finalSellTax:_initSellTax).div(100
                );
            } else if (from == uniswapV2Pair && to != address(this) ){
                taxAmount = amount.mul
                ((_buyCount>_reduceBuyTaxAt)
                    ?_finalBuyTax:_initBuyTax).div(100
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap && 
                to == uniswapV2Pair && 
                swapEnabled && 
                contractTokenBalance>_taxSwapThreshold && 
                _buyCount>_preventSwapBefore
            ){
                uint256 getMin = (contractTokenBalance > _maxTaxSwap)?_maxTaxSwap:contractTokenBalance;
                uint256 amountToSwap = (amount>getMin)?getMin:amount;
                swapTokensForEth(amountToSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 initialize() external onlyOwner {
        require(!tradingOpen,"init already called");
        uint256 tokenAmount = balanceOf(address(this)).sub(_tTotal.mul(_initBuyTax).div(100));
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory())
            .createPair(address(this), uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance} (
            address(this),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
    }

    function openTrade() external onlyOwner {
        require(!tradingOpen,"trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingOpened();
    }

    function removeLimit() external onlyOwner {
        limitEffect = false;
        _maxTxAmount= _tTotal;
        _maxWalletSize= _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
        emit MaxWalletSizeUpdated(_tTotal);
    }
    
    function setTax(uint256 _valueBuy, uint256 _valueSell) external onlyOwner {
        require(_valueBuy <= 20 && _valueSell <= 30 && tradingOpen, "Exceeds value");
        _finalBuyTax = _valueBuy;
        _finalSellTax = _valueSell;
        emit FinalTax(_valueBuy, _valueSell);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"FinalTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"MaxWalletSizeUpdated","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":[],"name":"TradingOpened","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260058055600560065560006007556009600a6200002291906200060c565b621e84806200003291906200065d565b6008556009600a6200004591906200060c565b621e84806200005591906200065d565b6009556001600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff0219169083151502179055506000600b60176101000a81548160ff021916908315150217905550348015620000b657600080fd5b506000620000c96200034660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001776200034660201b60201c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001c791906200060c565b6305f5e100620001d891906200065d565b60016000620001ec6200034660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200024c6200023e6200034e60201b60201c565b60016200037760201b60201c565b6200026161dead60016200037760201b60201c565b620002743060016200037760201b60201c565b620002a9600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200037760201b60201c565b620002b96200034660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200031891906200060c565b6305f5e1006200032991906200065d565b604051620003389190620006cf565b60405180910390a36200076f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003876200034660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000417576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200040e906200074d565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200050057808604811115620004d857620004d762000472565b5b6001851615620004e85780820291505b8081029050620004f885620004a1565b9450620004b8565b94509492505050565b6000826200051b5760019050620005ee565b816200052b5760009050620005ee565b81600181146200054457600281146200054f5762000585565b6001915050620005ee565b60ff84111562000564576200056362000472565b5b8360020a9150848211156200057e576200057d62000472565b5b50620005ee565b5060208310610133831016604e8410600b8410161715620005bf5782820a905083811115620005b957620005b862000472565b5b620005ee565b620005ce8484846001620004ae565b92509050818404811115620005e857620005e762000472565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200061982620005f5565b91506200062683620005ff565b9250620006557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000509565b905092915050565b60006200066a82620005f5565b91506200067783620005f5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b357620006b262000472565b5b828202905092915050565b620006c981620005f5565b82525050565b6000602082019050620006e66000830184620006be565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000735602083620006ec565b91506200074282620006fd565b602082019050919050565b60006020820190508181036000830152620007688162000726565b9050919050565b6133ee806200077f6000396000f3fe6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a9059cbb11610064578063a9059cbb146103ac578063bf474bed146103e9578063dd62ed3e14610414578063df8408fe14610451578063fb201b1d1461047a5761012a565b80637d1db4a5146102e95780638129fc1c146103145780638da5cb5b1461032b5780638f9a55c01461035657806395d89b41146103815761012a565b8063313ce567116100e7578063313ce5671461022a5780636225658914610255578063667f65261461026c57806370a0823114610295578063715018a6146102d25761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610491565b6040516101519190612472565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c919061252d565b6104ce565b60405161018e9190612588565b60405180910390f35b3480156101a357600080fd5b506101ac6104ec565b6040516101b991906125b2565b60405180910390f35b3480156101ce57600080fd5b506101d761050b565b6040516101e491906125b2565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f91906125cd565b61052f565b6040516102219190612588565b60405180910390f35b34801561023657600080fd5b5061023f610608565b60405161024c919061263c565b60405180910390f35b34801561026157600080fd5b5061026a610611565b005b34801561027857600080fd5b50610293600480360381019061028e9190612657565b6107af565b005b3480156102a157600080fd5b506102bc60048036038101906102b79190612697565b6108f8565b6040516102c991906125b2565b60405180910390f35b3480156102de57600080fd5b506102e7610941565b005b3480156102f557600080fd5b506102fe610a94565b60405161030b91906125b2565b60405180910390f35b34801561032057600080fd5b50610329610a9a565b005b34801561033757600080fd5b50610340610ff6565b60405161034d91906126d3565b60405180910390f35b34801561036257600080fd5b5061036b61101f565b60405161037891906125b2565b60405180910390f35b34801561038d57600080fd5b50610396611025565b6040516103a39190612472565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce919061252d565b611062565b6040516103e09190612588565b60405180910390f35b3480156103f557600080fd5b506103fe611080565b60405161040b91906125b2565b60405180910390f35b34801561042057600080fd5b5061043b600480360381019061043691906126ee565b61109d565b60405161044891906125b2565b60405180910390f35b34801561045d57600080fd5b506104786004803603810190610473919061275a565b611124565b005b34801561048657600080fd5b5061048f611214565b005b60606040518060400160405280600c81526020017f436f676e69636f72652041490000000000000000000000000000000000000000815250905090565b60006104e26104db61135d565b8484611365565b6001905092915050565b6009600a6104fa91906128fc565b620f42406105089190612947565b81565b60006009600a61051b91906128fc565b6305f5e10061052a9190612947565b905090565b600061053c8484846114f9565b6105fd8461054861135d565b6105f88560405180606001604052806028815260200161339160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ae61135d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eca9092919063ffffffff16565b611365565b600190509392505050565b60006009905090565b61061961135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d906129ed565b60405180910390fd5b6000600b60156101000a81548160ff0219169083151502179055506009600a6106cf91906128fc565b6305f5e1006106de9190612947565b6008819055506009600a6106f291906128fc565b6305f5e1006107019190612947565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61073691906128fc565b6305f5e1006107459190612947565b60405161075291906125b2565b60405180910390a17ffb1fe1002b7550e87616e67793dbb7d3f437a79c2688c372c66dc170dbcb0efd6009600a61078991906128fc565b6305f5e1006107989190612947565b6040516107a591906125b2565b60405180910390a1565b6107b761135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083b906129ed565b60405180910390fd5b601482111580156108565750601e8111155b801561086e5750600b60149054906101000a900460ff165b6108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490612a59565b60405180910390fd5b81600581905550806006819055507f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f482826040516108ec929190612a79565b60405180910390a15050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094961135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd906129ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b610aa261135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b26906129ed565b60405180910390fd5b600b60149054906101000a900460ff1615610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690612aee565b60405180910390fd5b6000610bde610bc76064610bb960196009600a610b9c91906128fc565b6305f5e100610bab9190612947565b611f2e90919063ffffffff16565b611fa890919063ffffffff16565b610bd0306108f8565b611ff290919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c7e30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c6a91906128fc565b6305f5e100610c799190612947565b611365565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0f9190612b23565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbc9190612b23565b6040518363ffffffff1660e01b8152600401610dd9929190612b50565b6020604051808303816000875af1158015610df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1c9190612b23565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610ea861135d565b426040518863ffffffff1660e01b8152600401610eca96959493929190612bbe565b60606040518083038185885af1158015610ee8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0d9190612c34565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610faf929190612c87565b6020604051808303816000875af1158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff29190612cc5565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f434f475200000000000000000000000000000000000000000000000000000000815250905090565b600061107661106f61135d565b84846114f9565b6001905092915050565b6009600a61108e91906128fc565b600061109a9190612947565b81565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61112c61135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b0906129ed565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61121c61135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a0906129ed565b60405180910390fd5b600b60149054906101000a900460ff16156112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f090612d3e565b60405180910390fd5b6001600b60176101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff0219169083151502179055507fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f60405160405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113cf5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612daa565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ec91906125b2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115635750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6115a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159990612e16565b60405180910390fd5b600081116115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc90612ea8565b60405180910390fd5b60006115ef610ff6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561165d575061162d610ff6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c0d57600b60149054906101000a900460ff1661175757600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117175750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d90612f14565b60405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118025750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118585750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561192957600b60159054906101000a900460ff1615611910576008548211156118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae90612f80565b60405180910390fd5b600954826118c4856108f8565b6118ce9190612fa0565b111561190f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190690613020565b60405180910390fd5b5b6007600081548092919061192390613040565b91905055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119f8576119f160646119e36019600754116119d05760236119d4565b6006545b85611f2e90919063ffffffff16565b611fa890919063ffffffff16565b9050611ac4565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a8157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ac357611ac06064611ab2601960075411611a9f576019611aa3565b6005545b85611f2e90919063ffffffff16565b611fa890919063ffffffff16565b90505b5b6000611acf306108f8565b9050600b60169054906101000a900460ff16158015611b3b5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b535750600b60179054906101000a900460ff165b8015611b7757506009600a611b6891906128fc565b6000611b749190612947565b81115b8015611b8557506019600754115b15611c0b5760006009600a611b9a91906128fc565b620f4240611ba89190612947565b8211611bb45781611bd1565b6009600a611bc291906128fc565b620f4240611bd09190612947565b5b90506000818511611be25784611be4565b815b9050611bef8161203c565b60004790506000811115611c0757611c06476122b5565b5b5050505b505b6000811115611d1157611c6881600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d0891906125b2565b60405180910390a35b611d6382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0a611dbc8284611ff290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611eaf8486611ff290919063ffffffff16565b604051611ebc91906125b2565b60405180910390a350505050565b6000838311158290611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f099190612472565b60405180910390fd5b5060008385611f219190613088565b9050809150509392505050565b6000808303611f405760009050611fa2565b60008284611f4e9190612947565b9050828482611f5d91906130eb565b14611f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f949061318e565b60405180910390fd5b809150505b92915050565b6000611fea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061237f565b905092915050565b600061203483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eca565b905092915050565b6001600b60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612074576120736131ae565b5b6040519080825280602002602001820160405280156120a25781602001602082028036833780820191505090505b50905030816000815181106120ba576120b96131dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612161573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121859190612b23565b81600181518110612199576121986131dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061220030600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611365565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122649594939291906132ca565b600060405180830381600087803b15801561227e57600080fd5b505af1158015612292573d6000803e3d6000fd5b50505050506000600b60166101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561231d573d6000803e3d6000fd5b5050565b60008082846123309190612fa0565b905083811015612375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236c90613370565b60405180910390fd5b8091505092915050565b600080831182906123c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123bd9190612472565b60405180910390fd5b50600083856123d591906130eb565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561241c578082015181840152602081019050612401565b60008484015250505050565b6000601f19601f8301169050919050565b6000612444826123e2565b61244e81856123ed565b935061245e8185602086016123fe565b61246781612428565b840191505092915050565b6000602082019050818103600083015261248c8184612439565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124c482612499565b9050919050565b6124d4816124b9565b81146124df57600080fd5b50565b6000813590506124f1816124cb565b92915050565b6000819050919050565b61250a816124f7565b811461251557600080fd5b50565b60008135905061252781612501565b92915050565b6000806040838503121561254457612543612494565b5b6000612552858286016124e2565b925050602061256385828601612518565b9150509250929050565b60008115159050919050565b6125828161256d565b82525050565b600060208201905061259d6000830184612579565b92915050565b6125ac816124f7565b82525050565b60006020820190506125c760008301846125a3565b92915050565b6000806000606084860312156125e6576125e5612494565b5b60006125f4868287016124e2565b9350506020612605868287016124e2565b925050604061261686828701612518565b9150509250925092565b600060ff82169050919050565b61263681612620565b82525050565b6000602082019050612651600083018461262d565b92915050565b6000806040838503121561266e5761266d612494565b5b600061267c85828601612518565b925050602061268d85828601612518565b9150509250929050565b6000602082840312156126ad576126ac612494565b5b60006126bb848285016124e2565b91505092915050565b6126cd816124b9565b82525050565b60006020820190506126e860008301846126c4565b92915050565b6000806040838503121561270557612704612494565b5b6000612713858286016124e2565b9250506020612724858286016124e2565b9150509250929050565b6127378161256d565b811461274257600080fd5b50565b6000813590506127548161272e565b92915050565b6000806040838503121561277157612770612494565b5b600061277f858286016124e2565b925050602061279085828601612745565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612820578086048111156127fc576127fb61279a565b5b600185161561280b5780820291505b8081029050612819856127c9565b94506127e0565b94509492505050565b60008261283957600190506128f5565b8161284757600090506128f5565b816001811461285d576002811461286757612896565b60019150506128f5565b60ff8411156128795761287861279a565b5b8360020a9150848211156128905761288f61279a565b5b506128f5565b5060208310610133831016604e8410600b84101617156128cb5782820a9050838111156128c6576128c561279a565b5b6128f5565b6128d884848460016127d6565b925090508184048111156128ef576128ee61279a565b5b81810290505b9392505050565b6000612907826124f7565b915061291283612620565b925061293f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612829565b905092915050565b6000612952826124f7565b915061295d836124f7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129965761299561279a565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129d76020836123ed565b91506129e2826129a1565b602082019050919050565b60006020820190508181036000830152612a06816129ca565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000612a43600d836123ed565b9150612a4e82612a0d565b602082019050919050565b60006020820190508181036000830152612a7281612a36565b9050919050565b6000604082019050612a8e60008301856125a3565b612a9b60208301846125a3565b9392505050565b7f696e697420616c72656164792063616c6c656400000000000000000000000000600082015250565b6000612ad86013836123ed565b9150612ae382612aa2565b602082019050919050565b60006020820190508181036000830152612b0781612acb565b9050919050565b600081519050612b1d816124cb565b92915050565b600060208284031215612b3957612b38612494565b5b6000612b4784828501612b0e565b91505092915050565b6000604082019050612b6560008301856126c4565b612b7260208301846126c4565b9392505050565b6000819050919050565b6000819050919050565b6000612ba8612ba3612b9e84612b79565b612b83565b6124f7565b9050919050565b612bb881612b8d565b82525050565b600060c082019050612bd360008301896126c4565b612be060208301886125a3565b612bed6040830187612baf565b612bfa6060830186612baf565b612c0760808301856126c4565b612c1460a08301846125a3565b979650505050505050565b600081519050612c2e81612501565b92915050565b600080600060608486031215612c4d57612c4c612494565b5b6000612c5b86828701612c1f565b9350506020612c6c86828701612c1f565b9250506040612c7d86828701612c1f565b9150509250925092565b6000604082019050612c9c60008301856126c4565b612ca960208301846125a3565b9392505050565b600081519050612cbf8161272e565b92915050565b600060208284031215612cdb57612cda612494565b5b6000612ce984828501612cb0565b91505092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612d286014836123ed565b9150612d3382612cf2565b602082019050919050565b60006020820190508181036000830152612d5781612d1b565b9050919050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612d94601f836123ed565b9150612d9f82612d5e565b602082019050919050565b60006020820190508181036000830152612dc381612d87565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612e006020836123ed565b9150612e0b82612dca565b602082019050919050565b60006020820190508181036000830152612e2f81612df3565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e926029836123ed565b9150612e9d82612e36565b604082019050919050565b60006020820190508181036000830152612ec181612e85565b9050919050565b7f74726164696e67206973206e6f7420796574206f70656e000000000000000000600082015250565b6000612efe6017836123ed565b9150612f0982612ec8565b602082019050919050565b60006020820190508181036000830152612f2d81612ef1565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612f6a6019836123ed565b9150612f7582612f34565b602082019050919050565b60006020820190508181036000830152612f9981612f5d565b9050919050565b6000612fab826124f7565b9150612fb6836124f7565b9250828201905080821115612fce57612fcd61279a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061300a601a836123ed565b915061301582612fd4565b602082019050919050565b6000602082019050818103600083015261303981612ffd565b9050919050565b600061304b826124f7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361307d5761307c61279a565b5b600182019050919050565b6000613093826124f7565b915061309e836124f7565b92508282039050818111156130b6576130b561279a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130f6826124f7565b9150613101836124f7565b925082613111576131106130bc565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131786021836123ed565b91506131838261311c565b604082019050919050565b600060208201905081810360008301526131a78161316b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613241816124b9565b82525050565b60006132538383613238565b60208301905092915050565b6000602082019050919050565b60006132778261320c565b6132818185613217565b935061328c83613228565b8060005b838110156132bd5781516132a48882613247565b97506132af8361325f565b925050600181019050613290565b5085935050505092915050565b600060a0820190506132df60008301886125a3565b6132ec6020830187612baf565b81810360408301526132fe818661326c565b905061330d60608301856126c4565b61331a60808301846125a3565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061335a601b836123ed565b915061336582613324565b602082019050919050565b600060208201905081810360008301526133898161334d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200515e11dd2ab081842e0213050217bc497138ed08db0f2fd69ec1e5ec29887d764736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a9059cbb11610064578063a9059cbb146103ac578063bf474bed146103e9578063dd62ed3e14610414578063df8408fe14610451578063fb201b1d1461047a5761012a565b80637d1db4a5146102e95780638129fc1c146103145780638da5cb5b1461032b5780638f9a55c01461035657806395d89b41146103815761012a565b8063313ce567116100e7578063313ce5671461022a5780636225658914610255578063667f65261461026c57806370a0823114610295578063715018a6146102d25761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610491565b6040516101519190612472565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c919061252d565b6104ce565b60405161018e9190612588565b60405180910390f35b3480156101a357600080fd5b506101ac6104ec565b6040516101b991906125b2565b60405180910390f35b3480156101ce57600080fd5b506101d761050b565b6040516101e491906125b2565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f91906125cd565b61052f565b6040516102219190612588565b60405180910390f35b34801561023657600080fd5b5061023f610608565b60405161024c919061263c565b60405180910390f35b34801561026157600080fd5b5061026a610611565b005b34801561027857600080fd5b50610293600480360381019061028e9190612657565b6107af565b005b3480156102a157600080fd5b506102bc60048036038101906102b79190612697565b6108f8565b6040516102c991906125b2565b60405180910390f35b3480156102de57600080fd5b506102e7610941565b005b3480156102f557600080fd5b506102fe610a94565b60405161030b91906125b2565b60405180910390f35b34801561032057600080fd5b50610329610a9a565b005b34801561033757600080fd5b50610340610ff6565b60405161034d91906126d3565b60405180910390f35b34801561036257600080fd5b5061036b61101f565b60405161037891906125b2565b60405180910390f35b34801561038d57600080fd5b50610396611025565b6040516103a39190612472565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce919061252d565b611062565b6040516103e09190612588565b60405180910390f35b3480156103f557600080fd5b506103fe611080565b60405161040b91906125b2565b60405180910390f35b34801561042057600080fd5b5061043b600480360381019061043691906126ee565b61109d565b60405161044891906125b2565b60405180910390f35b34801561045d57600080fd5b506104786004803603810190610473919061275a565b611124565b005b34801561048657600080fd5b5061048f611214565b005b60606040518060400160405280600c81526020017f436f676e69636f72652041490000000000000000000000000000000000000000815250905090565b60006104e26104db61135d565b8484611365565b6001905092915050565b6009600a6104fa91906128fc565b620f42406105089190612947565b81565b60006009600a61051b91906128fc565b6305f5e10061052a9190612947565b905090565b600061053c8484846114f9565b6105fd8461054861135d565b6105f88560405180606001604052806028815260200161339160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ae61135d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eca9092919063ffffffff16565b611365565b600190509392505050565b60006009905090565b61061961135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d906129ed565b60405180910390fd5b6000600b60156101000a81548160ff0219169083151502179055506009600a6106cf91906128fc565b6305f5e1006106de9190612947565b6008819055506009600a6106f291906128fc565b6305f5e1006107019190612947565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61073691906128fc565b6305f5e1006107459190612947565b60405161075291906125b2565b60405180910390a17ffb1fe1002b7550e87616e67793dbb7d3f437a79c2688c372c66dc170dbcb0efd6009600a61078991906128fc565b6305f5e1006107989190612947565b6040516107a591906125b2565b60405180910390a1565b6107b761135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083b906129ed565b60405180910390fd5b601482111580156108565750601e8111155b801561086e5750600b60149054906101000a900460ff165b6108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490612a59565b60405180910390fd5b81600581905550806006819055507f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f482826040516108ec929190612a79565b60405180910390a15050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094961135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd906129ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b610aa261135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b26906129ed565b60405180910390fd5b600b60149054906101000a900460ff1615610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690612aee565b60405180910390fd5b6000610bde610bc76064610bb960196009600a610b9c91906128fc565b6305f5e100610bab9190612947565b611f2e90919063ffffffff16565b611fa890919063ffffffff16565b610bd0306108f8565b611ff290919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c7e30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c6a91906128fc565b6305f5e100610c799190612947565b611365565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0f9190612b23565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbc9190612b23565b6040518363ffffffff1660e01b8152600401610dd9929190612b50565b6020604051808303816000875af1158015610df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1c9190612b23565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610ea861135d565b426040518863ffffffff1660e01b8152600401610eca96959493929190612bbe565b60606040518083038185885af1158015610ee8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0d9190612c34565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610faf929190612c87565b6020604051808303816000875af1158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff29190612cc5565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f434f475200000000000000000000000000000000000000000000000000000000815250905090565b600061107661106f61135d565b84846114f9565b6001905092915050565b6009600a61108e91906128fc565b600061109a9190612947565b81565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61112c61135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b0906129ed565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61121c61135d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a0906129ed565b60405180910390fd5b600b60149054906101000a900460ff16156112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f090612d3e565b60405180910390fd5b6001600b60176101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff0219169083151502179055507fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f60405160405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113cf5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612daa565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ec91906125b2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115635750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6115a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159990612e16565b60405180910390fd5b600081116115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc90612ea8565b60405180910390fd5b60006115ef610ff6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561165d575061162d610ff6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c0d57600b60149054906101000a900460ff1661175757600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117175750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d90612f14565b60405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118025750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118585750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561192957600b60159054906101000a900460ff1615611910576008548211156118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae90612f80565b60405180910390fd5b600954826118c4856108f8565b6118ce9190612fa0565b111561190f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190690613020565b60405180910390fd5b5b6007600081548092919061192390613040565b91905055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119f8576119f160646119e36019600754116119d05760236119d4565b6006545b85611f2e90919063ffffffff16565b611fa890919063ffffffff16565b9050611ac4565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a8157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ac357611ac06064611ab2601960075411611a9f576019611aa3565b6005545b85611f2e90919063ffffffff16565b611fa890919063ffffffff16565b90505b5b6000611acf306108f8565b9050600b60169054906101000a900460ff16158015611b3b5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b535750600b60179054906101000a900460ff165b8015611b7757506009600a611b6891906128fc565b6000611b749190612947565b81115b8015611b8557506019600754115b15611c0b5760006009600a611b9a91906128fc565b620f4240611ba89190612947565b8211611bb45781611bd1565b6009600a611bc291906128fc565b620f4240611bd09190612947565b5b90506000818511611be25784611be4565b815b9050611bef8161203c565b60004790506000811115611c0757611c06476122b5565b5b5050505b505b6000811115611d1157611c6881600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d0891906125b2565b60405180910390a35b611d6382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0a611dbc8284611ff290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611eaf8486611ff290919063ffffffff16565b604051611ebc91906125b2565b60405180910390a350505050565b6000838311158290611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f099190612472565b60405180910390fd5b5060008385611f219190613088565b9050809150509392505050565b6000808303611f405760009050611fa2565b60008284611f4e9190612947565b9050828482611f5d91906130eb565b14611f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f949061318e565b60405180910390fd5b809150505b92915050565b6000611fea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061237f565b905092915050565b600061203483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eca565b905092915050565b6001600b60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612074576120736131ae565b5b6040519080825280602002602001820160405280156120a25781602001602082028036833780820191505090505b50905030816000815181106120ba576120b96131dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612161573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121859190612b23565b81600181518110612199576121986131dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061220030600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611365565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122649594939291906132ca565b600060405180830381600087803b15801561227e57600080fd5b505af1158015612292573d6000803e3d6000fd5b50505050506000600b60166101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561231d573d6000803e3d6000fd5b5050565b60008082846123309190612fa0565b905083811015612375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236c90613370565b60405180910390fd5b8091505092915050565b600080831182906123c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123bd9190612472565b60405180910390fd5b50600083856123d591906130eb565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561241c578082015181840152602081019050612401565b60008484015250505050565b6000601f19601f8301169050919050565b6000612444826123e2565b61244e81856123ed565b935061245e8185602086016123fe565b61246781612428565b840191505092915050565b6000602082019050818103600083015261248c8184612439565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124c482612499565b9050919050565b6124d4816124b9565b81146124df57600080fd5b50565b6000813590506124f1816124cb565b92915050565b6000819050919050565b61250a816124f7565b811461251557600080fd5b50565b60008135905061252781612501565b92915050565b6000806040838503121561254457612543612494565b5b6000612552858286016124e2565b925050602061256385828601612518565b9150509250929050565b60008115159050919050565b6125828161256d565b82525050565b600060208201905061259d6000830184612579565b92915050565b6125ac816124f7565b82525050565b60006020820190506125c760008301846125a3565b92915050565b6000806000606084860312156125e6576125e5612494565b5b60006125f4868287016124e2565b9350506020612605868287016124e2565b925050604061261686828701612518565b9150509250925092565b600060ff82169050919050565b61263681612620565b82525050565b6000602082019050612651600083018461262d565b92915050565b6000806040838503121561266e5761266d612494565b5b600061267c85828601612518565b925050602061268d85828601612518565b9150509250929050565b6000602082840312156126ad576126ac612494565b5b60006126bb848285016124e2565b91505092915050565b6126cd816124b9565b82525050565b60006020820190506126e860008301846126c4565b92915050565b6000806040838503121561270557612704612494565b5b6000612713858286016124e2565b9250506020612724858286016124e2565b9150509250929050565b6127378161256d565b811461274257600080fd5b50565b6000813590506127548161272e565b92915050565b6000806040838503121561277157612770612494565b5b600061277f858286016124e2565b925050602061279085828601612745565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612820578086048111156127fc576127fb61279a565b5b600185161561280b5780820291505b8081029050612819856127c9565b94506127e0565b94509492505050565b60008261283957600190506128f5565b8161284757600090506128f5565b816001811461285d576002811461286757612896565b60019150506128f5565b60ff8411156128795761287861279a565b5b8360020a9150848211156128905761288f61279a565b5b506128f5565b5060208310610133831016604e8410600b84101617156128cb5782820a9050838111156128c6576128c561279a565b5b6128f5565b6128d884848460016127d6565b925090508184048111156128ef576128ee61279a565b5b81810290505b9392505050565b6000612907826124f7565b915061291283612620565b925061293f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612829565b905092915050565b6000612952826124f7565b915061295d836124f7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129965761299561279a565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129d76020836123ed565b91506129e2826129a1565b602082019050919050565b60006020820190508181036000830152612a06816129ca565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000612a43600d836123ed565b9150612a4e82612a0d565b602082019050919050565b60006020820190508181036000830152612a7281612a36565b9050919050565b6000604082019050612a8e60008301856125a3565b612a9b60208301846125a3565b9392505050565b7f696e697420616c72656164792063616c6c656400000000000000000000000000600082015250565b6000612ad86013836123ed565b9150612ae382612aa2565b602082019050919050565b60006020820190508181036000830152612b0781612acb565b9050919050565b600081519050612b1d816124cb565b92915050565b600060208284031215612b3957612b38612494565b5b6000612b4784828501612b0e565b91505092915050565b6000604082019050612b6560008301856126c4565b612b7260208301846126c4565b9392505050565b6000819050919050565b6000819050919050565b6000612ba8612ba3612b9e84612b79565b612b83565b6124f7565b9050919050565b612bb881612b8d565b82525050565b600060c082019050612bd360008301896126c4565b612be060208301886125a3565b612bed6040830187612baf565b612bfa6060830186612baf565b612c0760808301856126c4565b612c1460a08301846125a3565b979650505050505050565b600081519050612c2e81612501565b92915050565b600080600060608486031215612c4d57612c4c612494565b5b6000612c5b86828701612c1f565b9350506020612c6c86828701612c1f565b9250506040612c7d86828701612c1f565b9150509250925092565b6000604082019050612c9c60008301856126c4565b612ca960208301846125a3565b9392505050565b600081519050612cbf8161272e565b92915050565b600060208284031215612cdb57612cda612494565b5b6000612ce984828501612cb0565b91505092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612d286014836123ed565b9150612d3382612cf2565b602082019050919050565b60006020820190508181036000830152612d5781612d1b565b9050919050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612d94601f836123ed565b9150612d9f82612d5e565b602082019050919050565b60006020820190508181036000830152612dc381612d87565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612e006020836123ed565b9150612e0b82612dca565b602082019050919050565b60006020820190508181036000830152612e2f81612df3565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e926029836123ed565b9150612e9d82612e36565b604082019050919050565b60006020820190508181036000830152612ec181612e85565b9050919050565b7f74726164696e67206973206e6f7420796574206f70656e000000000000000000600082015250565b6000612efe6017836123ed565b9150612f0982612ec8565b602082019050919050565b60006020820190508181036000830152612f2d81612ef1565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612f6a6019836123ed565b9150612f7582612f34565b602082019050919050565b60006020820190508181036000830152612f9981612f5d565b9050919050565b6000612fab826124f7565b9150612fb6836124f7565b9250828201905080821115612fce57612fcd61279a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061300a601a836123ed565b915061301582612fd4565b602082019050919050565b6000602082019050818103600083015261303981612ffd565b9050919050565b600061304b826124f7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361307d5761307c61279a565b5b600182019050919050565b6000613093826124f7565b915061309e836124f7565b92508282039050818111156130b6576130b561279a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130f6826124f7565b9150613101836124f7565b925082613111576131106130bc565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131786021836123ed565b91506131838261311c565b604082019050919050565b600060208201905081810360008301526131a78161316b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613241816124b9565b82525050565b60006132538383613238565b60208301905092915050565b6000602082019050919050565b60006132778261320c565b6132818185613217565b935061328c83613228565b8060005b838110156132bd5781516132a48882613247565b97506132af8361325f565b925050600181019050613290565b5085935050505092915050565b600060a0820190506132df60008301886125a3565b6132ec6020830187612baf565b81810360408301526132fe818661326c565b905061330d60608301856126c4565b61331a60808301846125a3565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061335a601b836123ed565b915061336582613324565b602082019050919050565b600060208201905081810360008301526133898161334d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200515e11dd2ab081842e0213050217bc497138ed08db0f2fd69ec1e5ec29887d764736f6c63430008100033

Deployed Bytecode Sourcemap

3940:8599:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6892:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4975:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6336:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7061:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6245:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11965:234;;;;;;;;;;;;;:::i;:::-;;12211:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6439:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3023:148;;;;;;;;;;;;;:::i;:::-;;5043:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10943:814;;;;;;;;;;;;;:::i;:::-;;2809:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5103:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6150:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6566:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4907:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6741:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7382:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11765:192;;;;;;;;;;;;;:::i;:::-;;6059:83;6096:13;6129:5;;;;;;;;;;;;;;;;;6122:12;;6059:83;:::o;6892:161::-;6967:4;6984:39;6993:12;:10;:12::i;:::-;7007:7;7016:6;6984:8;:39::i;:::-;7041:4;7034:11;;6892:161;;;;:::o;4975:61::-;4830:1;5023:2;:13;;;;:::i;:::-;5013:7;:23;;;;:::i;:::-;4975:61;:::o;6336:95::-;6389:7;4830:1;4885:2;:13;;;;:::i;:::-;4873:9;:25;;;;:::i;:::-;6409:14;;6336:95;:::o;7061:313::-;7159:4;7176:36;7186:6;7194:9;7205:6;7176:9;:36::i;:::-;7223:121;7232:6;7240:12;:10;:12::i;:::-;7254:89;7292:6;7254:89;;;;;;;;;;;;;;;;;:11;:19;7266:6;7254:19;;;;;;;;;;;;;;;:33;7274:12;:10;:12::i;:::-;7254:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7223:8;:121::i;:::-;7362:4;7355:11;;7061:313;;;;;:::o;6245:83::-;6286:5;4830:1;6304:16;;6245:83;:::o;11965:234::-;2946:12;:10;:12::i;:::-;2936:22;;:6;;;;;;;;;;:22;;;2928:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12032:5:::1;12018:11;;:19;;;;;;;;;;;;;;;;;;4830:1;4885:2;:13;;;;:::i;:::-;4873:9;:25;;;;:::i;:::-;12048:12;:21;;;;4830:1;4885:2;:13;;;;:::i;:::-;4873:9;:25;;;;:::i;:::-;12080:14;:23;;;;12119:27;4830:1;4885:2;:13;;;;:::i;:::-;4873:9;:25;;;;:::i;:::-;12119:27;;;;;;:::i;:::-;;;;;;;;12162:29;4830:1;4885:2;:13;;;;:::i;:::-;4873:9;:25;;;;:::i;:::-;12162:29;;;;;;:::i;:::-;;;;;;;;11965:234::o:0;12211:288::-;2946:12;:10;:12::i;:::-;2936:22;;:6;;;;;;;;;;:22;;;2928:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12317:2:::1;12304:9;:15;;:35;;;;;12337:2;12323:10;:16;;12304:35;:50;;;;;12343:11;;;;;;;;;;;12304:50;12296:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;12398:9;12383:12;:24;;;;12434:10;12418:13;:26;;;;12460:31;12469:9;12480:10;12460:31;;;;;;;:::i;:::-;;;;;;;;12211:288:::0;;:::o;6439:119::-;6505:7;6532:9;:18;6542:7;6532:18;;;;;;;;;;;;;;;;6525:25;;6439:119;;;:::o;3023:148::-;2946:12;:10;:12::i;:::-;2936:22;;:6;;;;;;;;;;:22;;;2928:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3130:1:::1;3093:40;;3114:6;::::0;::::1;;;;;;;;3093:40;;;;;;;;;;;;3161:1;3144:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3023:148::o:0;5043:53::-;;;;:::o;10943:814::-;2946:12;:10;:12::i;:::-;2936:22;;:6;;;;;;;;;;:22;;;2928:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11004:11:::1;;;;;;;;;;;11003:12;10995:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;11049:19;11071:63;11100:33;11129:3;11100:24;4356:2;4830:1;4885:2;:13;;;;:::i;:::-;4873:9;:25;;;;:::i;:::-;11100:11;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;11071:24;11089:4;11071:9;:24::i;:::-;:28;;:63;;;;:::i;:::-;11049:85;;11182:42;11145:15;;:80;;;;;;;;;;;;;;;;;;11236:58;11253:4;11268:15;;;;;;;;;;;4830:1;4885:2;:13;;;;:::i;:::-;4873:9;:25;;;;:::i;:::-;11236:8;:58::i;:::-;11339:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11321:69;;;11399:4;11406:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11321:118;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11305:13;;:134;;;;;;;;;;;;;;;;;;11450:15;;;;;;;;;;;:31;;;11489:21;11535:4;11555:11;11581:1;11597::::0;11613:12:::1;:10;:12::i;:::-;11640:15;11450:216;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11684:13;;;;;;;;;;;11677:29;;;11715:15;;;;;;;;;;;11733:14;11677:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10984:773;10943:814::o:0;2809:79::-;2847:7;2874:6;;;;;;;;;;;2867:13;;2809:79;:::o;5103:55::-;;;;:::o;6150:87::-;6189:13;6222:7;;;;;;;;;;;;;;;;;6215:14;;6150:87;:::o;6566:167::-;6644:4;6661:42;6671:12;:10;:12::i;:::-;6685:9;6696:6;6661:9;:42::i;:::-;6721:4;6714:11;;6566:167;;;;:::o;4907:61::-;4830:1;4955:2;:13;;;;:::i;:::-;4951:1;:17;;;;:::i;:::-;4907:61;:::o;6741:143::-;6822:7;6849:11;:18;6861:5;6849:18;;;;;;;;;;;;;;;:27;6868:7;6849:27;;;;;;;;;;;;;;;;6842:34;;6741:143;;;;:::o;7382:130::-;2946:12;:10;:12::i;:::-;2936:22;;:6;;;;;;;;;;:22;;;2928:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7496:8:::1;7466:18;:27;7485:7;7466:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;7382:130:::0;;:::o;11765:192::-;2946:12;:10;:12::i;:::-;2936:22;;:6;;;;;;;;;;:22;;;2928:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11825:11:::1;;;;;;;;;;;11824:12;11816:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11885:4;11871:11;;:18;;;;;;;;;;;;;;;;;;11914:4;11900:11;;:18;;;;;;;;;;;;;;;;;;11934:15;;;;;;;;;;11765:192::o:0;566:98::-;619:7;646:10;639:17;;566:98;:::o;7520:276::-;7630:1;7613:19;;:5;:19;;;;:44;;;;;7655:1;7636:21;;:7;:21;;;;7613:44;7605:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;7734:6;7704:11;:18;7716:5;7704:18;;;;;;;;;;;;;;;:27;7723:7;7704:27;;;;;;;;;;;;;;;:36;;;;7772:7;7756:32;;7765:5;7756:32;;;7781:6;7756:32;;;;;;:::i;:::-;;;;;;;;7520:276;;;:::o;7804:2540::-;7908:1;7892:18;;:4;:18;;;;:38;;;;;7928:1;7914:16;;:2;:16;;;;7892:38;7884:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;7995:1;7986:6;:10;7978:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8055:17;8099:7;:5;:7::i;:::-;8091:15;;:4;:15;;;;:32;;;;;8116:7;:5;:7::i;:::-;8110:13;;:2;:13;;;;8091:32;8087:1897;;;8145:11;;;;;;;;;;;8140:197;;8206:18;:24;8225:4;8206:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8234:18;:22;8253:2;8234:22;;;;;;;;;;;;;;;;;;;;;;;;;8206:50;8177:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;8140:197;8366:13;;;;;;;;;;;8358:21;;:4;:21;;;:55;;;;;8397:15;;;;;;;;;;;8383:30;;:2;:30;;;;8358:55;:83;;;;;8419:18;:22;8438:2;8419:22;;;;;;;;;;;;;;;;;;;;;;;;;8417:24;8358:83;8354:377;;;8467:11;;;;;;;;;;;8463:222;;;8521:12;;8511:6;:22;;8503:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8620:14;;8610:6;8594:13;8604:2;8594:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8586:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8463:222;8704:9;;:11;;;;;;;;;:::i;:::-;;;;;;8354:377;8770:13;;;;;;;;;;;8764:19;;:2;:19;;;:44;;;;;8803:4;8787:21;;:4;:21;;;;8764:44;8759:467;;;8841:135;8954:3;8841:108;4504:2;8872:9;;:26;8871:77;;4403:2;8871:77;;;8922:13;;8871:77;8841:6;:10;;:108;;;;:::i;:::-;:112;;:135;;;;:::i;:::-;8829:147;;8759:467;;;9010:13;;;;;;;;;;;9002:21;;:4;:21;;;:44;;;;;9041:4;9027:19;;:2;:19;;;;9002:44;8998:228;;;9079:131;9188:3;9079:104;4453:2;9109:9;;:25;9108:74;;4356:2;9108:74;;;9158:12;;9108:74;9079:6;:10;;:104;;;;:::i;:::-;:108;;:131;;;;:::i;:::-;9067:143;;8998:228;8759:467;9242:28;9273:24;9291:4;9273:9;:24::i;:::-;9242:55;;9335:6;;;;;;;;;;;9334:7;:48;;;;;9369:13;;;;;;;;;;;9363:19;;:2;:19;;;9334:48;:81;;;;;9404:11;;;;;;;;;;;9334:81;:141;;;;;4830:1;4955:2;:13;;;;:::i;:::-;4951:1;:17;;;;:::i;:::-;9437:20;:38;9334:141;:191;;;;;4557:2;9497:9;;:28;9334:191;9312:661;;;9559:14;4830:1;5023:2;:13;;;;:::i;:::-;5013:7;:23;;;;:::i;:::-;9577:20;:34;9576:69;;9625:20;9576:69;;;4830:1;5023:2;:13;;;;:::i;:::-;5013:7;:23;;;;:::i;:::-;9576:69;9559:86;;9664:20;9695:6;9688;:13;9687:29;;9710:6;9687:29;;;9703:6;9687:29;9664:52;;9735:30;9752:12;9735:16;:30::i;:::-;9784:26;9813:21;9784:50;;9877:1;9856:18;:22;9853:105;;;9903:35;9916:21;9903:12;:35::i;:::-;9853:105;9540:433;;;9312:661;8125:1859;8087:1897;10011:1;9999:9;:13;9996:165;;;10053:39;10082:9;10053;:24;10071:4;10053:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10026:9;:24;10044:4;10026:24;;;;;;;;;;;;;;;:66;;;;10133:4;10110:39;;10119:4;10110:39;;;10139:9;10110:39;;;;;;:::i;:::-;;;;;;;;9996:165;10187:27;10207:6;10187:9;:15;10197:4;10187:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10171:9;:15;10181:4;10171:15;;;;;;;;;;;;;;;:43;;;;10239:40;10257:21;10268:9;10257:6;:10;;:21;;;;:::i;:::-;10239:9;:13;10249:2;10239:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10225:9;:13;10235:2;10225:13;;;;;;;;;;;;;;;:54;;;;10310:2;10295:41;;10304:4;10295:41;;;10314:21;10325:9;10314:6;:10;;:21;;;;:::i;:::-;10295:41;;;;;;:::i;:::-;;;;;;;;7873:2471;7804:2540;;;:::o;1703:190::-;1789:7;1822:1;1817;:6;;1825:12;1809:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1849:9;1865:1;1861;:5;;;;:::i;:::-;1849:17;;1884:1;1877:8;;;1703:190;;;;;:::o;1901:246::-;1959:7;1988:1;1983;:6;1979:47;;2013:1;2006:8;;;;1979:47;2036:9;2052:1;2048;:5;;;;:::i;:::-;2036:17;;2081:1;2076;2072;:5;;;;:::i;:::-;:10;2064:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2138:1;2131:8;;;1901:246;;;;;:::o;2155:132::-;2213:7;2240:39;2244:1;2247;2240:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2233:46;;2155:132;;;;:::o;1559:136::-;1617:7;1644:43;1648:1;1651;1644:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1637:50;;1559:136;;;;:::o;10452:483::-;5638:4;5629:6;;:13;;;;;;;;;;;;;;;;;;10530:21:::1;10568:1;10554:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10530:40;;10599:4;10581;10586:1;10581:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10625:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10615:4;10620:1;10615:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10658:62;10675:4;10690:15;;;;;;;;;;;10708:11;10658:8;:62::i;:::-;10731:15;;;;;;;;;;;:66;;;10812:11;10838:1;10854:4;10881;10901:15;10731:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10519:416;5674:5:::0;5665:6;;:14;;;;;;;;;;;;;;;;;;10452:483;:::o;10352:92::-;10409:10;;;;;;;;;;;:19;;:27;10429:6;10409:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10352:92;:::o;1372:179::-;1430:7;1450:9;1466:1;1462;:5;;;;:::i;:::-;1450:17;;1491:1;1486;:6;;1478:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1542:1;1535:8;;;1372:179;;;;:::o;2295:189::-;2381:7;2413:1;2409;:5;2416:12;2401:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2440:9;2456:1;2452;:5;;;;:::i;:::-;2440:17;;2475:1;2468:8;;;2295:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:474::-;4921:6;4929;4978:2;4966:9;4957:7;4953:23;4949:32;4946:119;;;4984:79;;:::i;:::-;4946:119;5104:1;5129:53;5174:7;5165:6;5154:9;5150:22;5129:53;:::i;:::-;5119:63;;5075:117;5231:2;5257:53;5302:7;5293:6;5282:9;5278:22;5257:53;:::i;:::-;5247:63;;5202:118;4853:474;;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:116::-;6570:21;6585:5;6570:21;:::i;:::-;6563:5;6560:32;6550:60;;6606:1;6603;6596:12;6550:60;6500:116;:::o;6622:133::-;6665:5;6703:6;6690:20;6681:29;;6719:30;6743:5;6719:30;:::i;:::-;6622:133;;;;:::o;6761:468::-;6826:6;6834;6883:2;6871:9;6862:7;6858:23;6854:32;6851:119;;;6889:79;;:::i;:::-;6851:119;7009:1;7034:53;7079:7;7070:6;7059:9;7055:22;7034:53;:::i;:::-;7024:63;;6980:117;7136:2;7162:50;7204:7;7195:6;7184:9;7180:22;7162:50;:::i;:::-;7152:60;;7107:115;6761:468;;;;;:::o;7235:180::-;7283:77;7280:1;7273:88;7380:4;7377:1;7370:15;7404:4;7401:1;7394:15;7421:102;7463:8;7510:5;7507:1;7503:13;7482:34;;7421:102;;;:::o;7529:848::-;7590:5;7597:4;7621:6;7612:15;;7645:5;7636:14;;7659:712;7680:1;7670:8;7667:15;7659:712;;;7775:4;7770:3;7766:14;7760:4;7757:24;7754:50;;;7784:18;;:::i;:::-;7754:50;7834:1;7824:8;7820:16;7817:451;;;8249:4;8242:5;8238:16;8229:25;;7817:451;8299:4;8293;8289:15;8281:23;;8329:32;8352:8;8329:32;:::i;:::-;8317:44;;7659:712;;;7529:848;;;;;;;:::o;8383:1073::-;8437:5;8628:8;8618:40;;8649:1;8640:10;;8651:5;;8618:40;8677:4;8667:36;;8694:1;8685:10;;8696:5;;8667:36;8763:4;8811:1;8806:27;;;;8847:1;8842:191;;;;8756:277;;8806:27;8824:1;8815:10;;8826:5;;;8842:191;8887:3;8877:8;8874:17;8871:43;;;8894:18;;:::i;:::-;8871:43;8943:8;8940:1;8936:16;8927:25;;8978:3;8971:5;8968:14;8965:40;;;8985:18;;:::i;:::-;8965:40;9018:5;;;8756:277;;9142:2;9132:8;9129:16;9123:3;9117:4;9114:13;9110:36;9092:2;9082:8;9079:16;9074:2;9068:4;9065:12;9061:35;9045:111;9042:246;;;9198:8;9192:4;9188:19;9179:28;;9233:3;9226:5;9223:14;9220:40;;;9240:18;;:::i;:::-;9220:40;9273:5;;9042:246;9313:42;9351:3;9341:8;9335:4;9332:1;9313:42;:::i;:::-;9298:57;;;;9387:4;9382:3;9378:14;9371:5;9368:25;9365:51;;;9396:18;;:::i;:::-;9365:51;9445:4;9438:5;9434:16;9425:25;;8383:1073;;;;;;:::o;9462:281::-;9520:5;9544:23;9562:4;9544:23;:::i;:::-;9536:31;;9588:25;9604:8;9588:25;:::i;:::-;9576:37;;9632:104;9669:66;9659:8;9653:4;9632:104;:::i;:::-;9623:113;;9462:281;;;;:::o;9749:348::-;9789:7;9812:20;9830:1;9812:20;:::i;:::-;9807:25;;9846:20;9864:1;9846:20;:::i;:::-;9841:25;;10034:1;9966:66;9962:74;9959:1;9956:81;9951:1;9944:9;9937:17;9933:105;9930:131;;;10041:18;;:::i;:::-;9930:131;10089:1;10086;10082:9;10071:20;;9749:348;;;;:::o;10103:182::-;10243:34;10239:1;10231:6;10227:14;10220:58;10103:182;:::o;10291:366::-;10433:3;10454:67;10518:2;10513:3;10454:67;:::i;:::-;10447:74;;10530:93;10619:3;10530:93;:::i;:::-;10648:2;10643:3;10639:12;10632:19;;10291:366;;;:::o;10663:419::-;10829:4;10867:2;10856:9;10852:18;10844:26;;10916:9;10910:4;10906:20;10902:1;10891:9;10887:17;10880:47;10944:131;11070:4;10944:131;:::i;:::-;10936:139;;10663:419;;;:::o;11088:163::-;11228:15;11224:1;11216:6;11212:14;11205:39;11088:163;:::o;11257:366::-;11399:3;11420:67;11484:2;11479:3;11420:67;:::i;:::-;11413:74;;11496:93;11585:3;11496:93;:::i;:::-;11614:2;11609:3;11605:12;11598:19;;11257:366;;;:::o;11629:419::-;11795:4;11833:2;11822:9;11818:18;11810:26;;11882:9;11876:4;11872:20;11868:1;11857:9;11853:17;11846:47;11910:131;12036:4;11910:131;:::i;:::-;11902:139;;11629:419;;;:::o;12054:332::-;12175:4;12213:2;12202:9;12198:18;12190:26;;12226:71;12294:1;12283:9;12279:17;12270:6;12226:71;:::i;:::-;12307:72;12375:2;12364:9;12360:18;12351:6;12307:72;:::i;:::-;12054:332;;;;;:::o;12392:169::-;12532:21;12528:1;12520:6;12516:14;12509:45;12392:169;:::o;12567:366::-;12709:3;12730:67;12794:2;12789:3;12730:67;:::i;:::-;12723:74;;12806:93;12895:3;12806:93;:::i;:::-;12924:2;12919:3;12915:12;12908:19;;12567:366;;;:::o;12939:419::-;13105:4;13143:2;13132:9;13128:18;13120:26;;13192:9;13186:4;13182:20;13178:1;13167:9;13163:17;13156:47;13220:131;13346:4;13220:131;:::i;:::-;13212:139;;12939:419;;;:::o;13364:143::-;13421:5;13452:6;13446:13;13437:22;;13468:33;13495:5;13468:33;:::i;:::-;13364:143;;;;:::o;13513:351::-;13583:6;13632:2;13620:9;13611:7;13607:23;13603:32;13600:119;;;13638:79;;:::i;:::-;13600:119;13758:1;13783:64;13839:7;13830:6;13819:9;13815:22;13783:64;:::i;:::-;13773:74;;13729:128;13513:351;;;;:::o;13870:332::-;13991:4;14029:2;14018:9;14014:18;14006:26;;14042:71;14110:1;14099:9;14095:17;14086:6;14042:71;:::i;:::-;14123:72;14191:2;14180:9;14176:18;14167:6;14123:72;:::i;:::-;13870:332;;;;;:::o;14208:85::-;14253:7;14282:5;14271:16;;14208:85;;;:::o;14299:60::-;14327:3;14348:5;14341:12;;14299:60;;;:::o;14365:158::-;14423:9;14456:61;14474:42;14483:32;14509:5;14483:32;:::i;:::-;14474:42;:::i;:::-;14456:61;:::i;:::-;14443:74;;14365:158;;;:::o;14529:147::-;14624:45;14663:5;14624:45;:::i;:::-;14619:3;14612:58;14529:147;;:::o;14682:807::-;14931:4;14969:3;14958:9;14954:19;14946:27;;14983:71;15051:1;15040:9;15036:17;15027:6;14983:71;:::i;:::-;15064:72;15132:2;15121:9;15117:18;15108:6;15064:72;:::i;:::-;15146:80;15222:2;15211:9;15207:18;15198:6;15146:80;:::i;:::-;15236;15312:2;15301:9;15297:18;15288:6;15236:80;:::i;:::-;15326:73;15394:3;15383:9;15379:19;15370:6;15326:73;:::i;:::-;15409;15477:3;15466:9;15462:19;15453:6;15409:73;:::i;:::-;14682:807;;;;;;;;;:::o;15495:143::-;15552:5;15583:6;15577:13;15568:22;;15599:33;15626:5;15599:33;:::i;:::-;15495:143;;;;:::o;15644:663::-;15732:6;15740;15748;15797:2;15785:9;15776:7;15772:23;15768:32;15765:119;;;15803:79;;:::i;:::-;15765:119;15923:1;15948:64;16004:7;15995:6;15984:9;15980:22;15948:64;:::i;:::-;15938:74;;15894:128;16061:2;16087:64;16143:7;16134:6;16123:9;16119:22;16087:64;:::i;:::-;16077:74;;16032:129;16200:2;16226:64;16282:7;16273:6;16262:9;16258:22;16226:64;:::i;:::-;16216:74;;16171:129;15644:663;;;;;:::o;16313:332::-;16434:4;16472:2;16461:9;16457:18;16449:26;;16485:71;16553:1;16542:9;16538:17;16529:6;16485:71;:::i;:::-;16566:72;16634:2;16623:9;16619:18;16610:6;16566:72;:::i;:::-;16313:332;;;;;:::o;16651:137::-;16705:5;16736:6;16730:13;16721:22;;16752:30;16776:5;16752:30;:::i;:::-;16651:137;;;;:::o;16794:345::-;16861:6;16910:2;16898:9;16889:7;16885:23;16881:32;16878:119;;;16916:79;;:::i;:::-;16878:119;17036:1;17061:61;17114:7;17105:6;17094:9;17090:22;17061:61;:::i;:::-;17051:71;;17007:125;16794:345;;;;:::o;17145:170::-;17285:22;17281:1;17273:6;17269:14;17262:46;17145:170;:::o;17321:366::-;17463:3;17484:67;17548:2;17543:3;17484:67;:::i;:::-;17477:74;;17560:93;17649:3;17560:93;:::i;:::-;17678:2;17673:3;17669:12;17662:19;;17321:366;;;:::o;17693:419::-;17859:4;17897:2;17886:9;17882:18;17874:26;;17946:9;17940:4;17936:20;17932:1;17921:9;17917:17;17910:47;17974:131;18100:4;17974:131;:::i;:::-;17966:139;;17693:419;;;:::o;18118:181::-;18258:33;18254:1;18246:6;18242:14;18235:57;18118:181;:::o;18305:366::-;18447:3;18468:67;18532:2;18527:3;18468:67;:::i;:::-;18461:74;;18544:93;18633:3;18544:93;:::i;:::-;18662:2;18657:3;18653:12;18646:19;;18305:366;;;:::o;18677:419::-;18843:4;18881:2;18870:9;18866:18;18858:26;;18930:9;18924:4;18920:20;18916:1;18905:9;18901:17;18894:47;18958:131;19084:4;18958:131;:::i;:::-;18950:139;;18677:419;;;:::o;19102:182::-;19242:34;19238:1;19230:6;19226:14;19219:58;19102:182;:::o;19290:366::-;19432:3;19453:67;19517:2;19512:3;19453:67;:::i;:::-;19446:74;;19529:93;19618:3;19529:93;:::i;:::-;19647:2;19642:3;19638:12;19631:19;;19290:366;;;:::o;19662:419::-;19828:4;19866:2;19855:9;19851:18;19843:26;;19915:9;19909:4;19905:20;19901:1;19890:9;19886:17;19879:47;19943:131;20069:4;19943:131;:::i;:::-;19935:139;;19662:419;;;:::o;20087:228::-;20227:34;20223:1;20215:6;20211:14;20204:58;20296:11;20291:2;20283:6;20279:15;20272:36;20087:228;:::o;20321:366::-;20463:3;20484:67;20548:2;20543:3;20484:67;:::i;:::-;20477:74;;20560:93;20649:3;20560:93;:::i;:::-;20678:2;20673:3;20669:12;20662:19;;20321:366;;;:::o;20693:419::-;20859:4;20897:2;20886:9;20882:18;20874:26;;20946:9;20940:4;20936:20;20932:1;20921:9;20917:17;20910:47;20974:131;21100:4;20974:131;:::i;:::-;20966:139;;20693:419;;;:::o;21118:173::-;21258:25;21254:1;21246:6;21242:14;21235:49;21118:173;:::o;21297:366::-;21439:3;21460:67;21524:2;21519:3;21460:67;:::i;:::-;21453:74;;21536:93;21625:3;21536:93;:::i;:::-;21654:2;21649:3;21645:12;21638:19;;21297:366;;;:::o;21669:419::-;21835:4;21873:2;21862:9;21858:18;21850:26;;21922:9;21916:4;21912:20;21908:1;21897:9;21893:17;21886:47;21950:131;22076:4;21950:131;:::i;:::-;21942:139;;21669:419;;;:::o;22094:175::-;22234:27;22230:1;22222:6;22218:14;22211:51;22094:175;:::o;22275:366::-;22417:3;22438:67;22502:2;22497:3;22438:67;:::i;:::-;22431:74;;22514:93;22603:3;22514:93;:::i;:::-;22632:2;22627:3;22623:12;22616:19;;22275:366;;;:::o;22647:419::-;22813:4;22851:2;22840:9;22836:18;22828:26;;22900:9;22894:4;22890:20;22886:1;22875:9;22871:17;22864:47;22928:131;23054:4;22928:131;:::i;:::-;22920:139;;22647:419;;;:::o;23072:191::-;23112:3;23131:20;23149:1;23131:20;:::i;:::-;23126:25;;23165:20;23183:1;23165:20;:::i;:::-;23160:25;;23208:1;23205;23201:9;23194:16;;23229:3;23226:1;23223:10;23220:36;;;23236:18;;:::i;:::-;23220:36;23072:191;;;;:::o;23269:176::-;23409:28;23405:1;23397:6;23393:14;23386:52;23269:176;:::o;23451:366::-;23593:3;23614:67;23678:2;23673:3;23614:67;:::i;:::-;23607:74;;23690:93;23779:3;23690:93;:::i;:::-;23808:2;23803:3;23799:12;23792:19;;23451:366;;;:::o;23823:419::-;23989:4;24027:2;24016:9;24012:18;24004:26;;24076:9;24070:4;24066:20;24062:1;24051:9;24047:17;24040:47;24104:131;24230:4;24104:131;:::i;:::-;24096:139;;23823:419;;;:::o;24248:233::-;24287:3;24310:24;24328:5;24310:24;:::i;:::-;24301:33;;24356:66;24349:5;24346:77;24343:103;;24426:18;;:::i;:::-;24343:103;24473:1;24466:5;24462:13;24455:20;;24248:233;;;:::o;24487:194::-;24527:4;24547:20;24565:1;24547:20;:::i;:::-;24542:25;;24581:20;24599:1;24581:20;:::i;:::-;24576:25;;24625:1;24622;24618:9;24610:17;;24649:1;24643:4;24640:11;24637:37;;;24654:18;;:::i;:::-;24637:37;24487:194;;;;:::o;24687:180::-;24735:77;24732:1;24725:88;24832:4;24829:1;24822:15;24856:4;24853:1;24846:15;24873:185;24913:1;24930:20;24948:1;24930:20;:::i;:::-;24925:25;;24964:20;24982:1;24964:20;:::i;:::-;24959:25;;25003:1;24993:35;;25008:18;;:::i;:::-;24993:35;25050:1;25047;25043:9;25038:14;;24873:185;;;;:::o;25064:220::-;25204:34;25200:1;25192:6;25188:14;25181:58;25273:3;25268:2;25260:6;25256:15;25249:28;25064:220;:::o;25290:366::-;25432:3;25453:67;25517:2;25512:3;25453:67;:::i;:::-;25446:74;;25529:93;25618:3;25529:93;:::i;:::-;25647:2;25642:3;25638:12;25631:19;;25290:366;;;:::o;25662:419::-;25828:4;25866:2;25855:9;25851:18;25843:26;;25915:9;25909:4;25905:20;25901:1;25890:9;25886:17;25879:47;25943:131;26069:4;25943:131;:::i;:::-;25935:139;;25662:419;;;:::o;26087:180::-;26135:77;26132:1;26125:88;26232:4;26229:1;26222:15;26256:4;26253:1;26246:15;26273:180;26321:77;26318:1;26311:88;26418:4;26415:1;26408:15;26442:4;26439:1;26432:15;26459:114;26526:6;26560:5;26554:12;26544:22;;26459:114;;;:::o;26579:184::-;26678:11;26712:6;26707:3;26700:19;26752:4;26747:3;26743:14;26728:29;;26579:184;;;;:::o;26769:132::-;26836:4;26859:3;26851:11;;26889:4;26884:3;26880:14;26872:22;;26769:132;;;:::o;26907:108::-;26984:24;27002:5;26984:24;:::i;:::-;26979:3;26972:37;26907:108;;:::o;27021:179::-;27090:10;27111:46;27153:3;27145:6;27111:46;:::i;:::-;27189:4;27184:3;27180:14;27166:28;;27021:179;;;;:::o;27206:113::-;27276:4;27308;27303:3;27299:14;27291:22;;27206:113;;;:::o;27355:732::-;27474:3;27503:54;27551:5;27503:54;:::i;:::-;27573:86;27652:6;27647:3;27573:86;:::i;:::-;27566:93;;27683:56;27733:5;27683:56;:::i;:::-;27762:7;27793:1;27778:284;27803:6;27800:1;27797:13;27778:284;;;27879:6;27873:13;27906:63;27965:3;27950:13;27906:63;:::i;:::-;27899:70;;27992:60;28045:6;27992:60;:::i;:::-;27982:70;;27838:224;27825:1;27822;27818:9;27813:14;;27778:284;;;27782:14;28078:3;28071:10;;27479:608;;;27355:732;;;;:::o;28093:831::-;28356:4;28394:3;28383:9;28379:19;28371:27;;28408:71;28476:1;28465:9;28461:17;28452:6;28408:71;:::i;:::-;28489:80;28565:2;28554:9;28550:18;28541:6;28489:80;:::i;:::-;28616:9;28610:4;28606:20;28601:2;28590:9;28586:18;28579:48;28644:108;28747:4;28738:6;28644:108;:::i;:::-;28636:116;;28762:72;28830:2;28819:9;28815:18;28806:6;28762:72;:::i;:::-;28844:73;28912:3;28901:9;28897:19;28888:6;28844:73;:::i;:::-;28093:831;;;;;;;;:::o;28930:177::-;29070:29;29066:1;29058:6;29054:14;29047:53;28930:177;:::o;29113:366::-;29255:3;29276:67;29340:2;29335:3;29276:67;:::i;:::-;29269:74;;29352:93;29441:3;29352:93;:::i;:::-;29470:2;29465:3;29461:12;29454:19;;29113:366;;;:::o;29485:419::-;29651:4;29689:2;29678:9;29674:18;29666:26;;29738:9;29732:4;29728:20;29724:1;29713:9;29709:17;29702:47;29766:131;29892:4;29766:131;:::i;:::-;29758:139;;29485:419;;;:::o

Swarm Source

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