ETH Price: $3,611.05 (-0.14%)

Token

Klaus (KLAUS)
 

Overview

Max Total Supply

1,000,000,000 KLAUS

Holders

7,603 ( -0.276%)

Total Transfers

-

Market

Price

$0.01 @ 0.000003 ETH (+6.78%)

Onchain Market Cap

$10,005,670.00

Circulating Supply Market Cap

$10,009,618.00

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

$KLAUS - little fish, big dream -riding the wave into the next generation of meme tokens.

Market

Volume (24H):$1,095,399.00
Market Capitalization:$10,009,618.00
Circulating Supply:1,000,000,000.00 KLAUS
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KLAUS

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

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

/**

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.24;

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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 KLAUS 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 _devWallet;

    uint256 private _buyTax = 0;
    uint256 private _sellTax = 99;

    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    string private constant _name = unicode"Klaus";
    string private constant _symbol = unicode"KLAUS";

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 10000000 * 10**_decimals;
    uint256 public _maxWalletSize = 10000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;

    mapping(address => uint256) private _holderLastTransferTimestamp;

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

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(){
        _devWallet = payable(0xa2E2D5FDA94fFDc63B11A991342D73F4fCdeA13E);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devWallet] = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        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 _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && from != _devWallet && to != _devWallet) {
            if (!tradingOpen) {
                require(_isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not active.");
            }

            taxAmount = amount.mul(_buyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToMw(address(this).balance);
                }
            }
        }

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            taxAmount = 0;
        }

        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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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 addLP() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,0xa2E2D5FDA94fFDc63B11A991342D73F4fCdeA13E,block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner() {
        tradingOpen = true;
        swapEnabled = true;
    }

    function sendETHToMw(uint256 amount) private {
        _devWallet.transfer(amount);
    }

    function setNewFee(uint256 finalFeeOnBuy, uint256 finalFeeOnSell) public onlyOwner {
        _buyTax = finalFeeOnBuy;
        _sellTax = finalFeeOnSell;
    }

    function removeTheLimits() external onlyOwner{
        _maxWalletSize=_tTotal;
        _maxTxAmount = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    receive() external payable {}

    function tokensWithdraw() external {
        require(_msgSender() == _devWallet);
        uint256 amount = balanceOf(address(this));
        _transfer(address(this), _devWallet, amount);
    }
}

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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[],"name":"addLP","outputs":[],"stateMutability":"nonpayable","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTheLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"finalFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"finalFeeOnSell","type":"uint256"}],"name":"setNewFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensWithdraw","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006005556063600655600060075560006008556009600a6200002891906200085a565b62989680620000389190620008ab565b6009556009600a6200004b91906200085a565b629896806200005b9190620008ab565b600a556009600a6200006e91906200085a565b620f42406200007e9190620008ab565b600b556009600a6200009191906200085a565b62989680620000a19190620008ab565b600c556000600f60146101000a81548160ff0219169083151502179055506000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055503480156200010257600080fd5b506000620001156200068f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073a2e2d5fda94ffdc63b11a991342d73f4fcdea13e600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021891906200085a565b633b9aca00620002299190620008ab565b600160006200023d6200068f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002916200069760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000477573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049d919062000960565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000527573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200054d919062000960565b6040518363ffffffff1660e01b81526004016200056c929190620009a3565b6020604051808303816000875af11580156200058c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005b2919062000960565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006026200068f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200066191906200085a565b633b9aca00620006729190620008ab565b604051620006819190620009e1565b60405180910390a3620009fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200074e57808604811115620007265762000725620006c0565b5b6001851615620007365780820291505b80810290506200074685620006ef565b945062000706565b94509492505050565b6000826200076957600190506200083c565b816200077957600090506200083c565b81600181146200079257600281146200079d57620007d3565b60019150506200083c565b60ff841115620007b257620007b1620006c0565b5b8360020a915084821115620007cc57620007cb620006c0565b5b506200083c565b5060208310610133831016604e8410600b84101617156200080d5782820a905083811115620008075762000806620006c0565b5b6200083c565b6200081c8484846001620006fc565b92509050818404811115620008365762000835620006c0565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008678262000843565b915062000874836200084d565b9250620008a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000757565b905092915050565b6000620008b88262000843565b9150620008c58362000843565b9250828202620008d58162000843565b91508282048414831517620008ef57620008ee620006c0565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200092882620008fb565b9050919050565b6200093a816200091b565b81146200094657600080fd5b50565b6000815190506200095a816200092f565b92915050565b600060208284031215620009795762000978620008f6565b5b6000620009898482850162000949565b91505092915050565b6200099d816200091b565b82525050565b6000604082019050620009ba600083018562000992565b620009c9602083018462000992565b9392505050565b620009db8162000843565b82525050565b6000602082019050620009f86000830184620009d0565b92915050565b6131a58062000a0e6000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb146103b7578063bc37e1a3146103f4578063bf474bed1461040b578063c9567bf914610436578063dd62ed3e1461044d578063f2fde38b1461048a57610135565b8063715018a6146102f45780637d1db4a51461030b5780638da5cb5b146103365780638f9a55c01461036157806395d89b411461038c57610135565b806323b872dd116100f257806323b872dd1461020f5780632cb743f71461024c578063313ce5671461026357806340aa6b921461028e57806370a08231146102b757610135565b806306fdde031461013a578063095ea7b3146101655780630faee56f146101a2578063139864a8146101cd57806318160ddd146101e457610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104b3565b60405161015c9190612298565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612353565b6104f0565b60405161019991906123ae565b60405180910390f35b3480156101ae57600080fd5b506101b761050e565b6040516101c491906123d8565b60405180910390f35b3480156101d957600080fd5b506101e2610514565b005b3480156101f057600080fd5b506101f9610644565b60405161020691906123d8565b60405180910390f35b34801561021b57600080fd5b50610236600480360381019061023191906123f3565b610668565b60405161024391906123ae565b60405180910390f35b34801561025857600080fd5b50610261610741565b005b34801561026f57600080fd5b506102786107df565b6040516102859190612462565b60405180910390f35b34801561029a57600080fd5b506102b560048036038101906102b0919061247d565b6107e8565b005b3480156102c357600080fd5b506102de60048036038101906102d991906124bd565b61088f565b6040516102eb91906123d8565b60405180910390f35b34801561030057600080fd5b506103096108d8565b005b34801561031757600080fd5b50610320610a2b565b60405161032d91906123d8565b60405180910390f35b34801561034257600080fd5b5061034b610a31565b60405161035891906124f9565b60405180910390f35b34801561036d57600080fd5b50610376610a5a565b60405161038391906123d8565b60405180910390f35b34801561039857600080fd5b506103a1610a60565b6040516103ae9190612298565b60405180910390f35b3480156103c357600080fd5b506103de60048036038101906103d99190612353565b610a9d565b6040516103eb91906123ae565b60405180910390f35b34801561040057600080fd5b50610409610abb565b005b34801561041757600080fd5b50610420610d97565b60405161042d91906123d8565b60405180910390f35b34801561044257600080fd5b5061044b610d9d565b005b34801561045957600080fd5b50610474600480360381019061046f9190612514565b610e6a565b60405161048191906123d8565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac91906124bd565b610ef1565b005b60606040518060400160405280600581526020017f4b6c617573000000000000000000000000000000000000000000000000000000815250905090565b60006105046104fd611043565b848461104b565b6001905092915050565b600c5481565b61051c611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a0906125a0565b60405180910390fd5b6009600a6105b79190612722565b633b9aca006105c6919061276d565b600a819055506009600a6105da9190612722565b633b9aca006105e9919061276d565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61061e9190612722565b633b9aca0061062d919061276d565b60405161063a91906123d8565b60405180910390a1565b60006009600a6106549190612722565b633b9aca00610663919061276d565b905090565b6000610675848484611214565b61073684610681611043565b6107318560405180606001604052806028815260200161314860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e7611043565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd79092919063ffffffff16565b61104b565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610782611043565b73ffffffffffffffffffffffffffffffffffffffff16146107a257600080fd5b60006107ad3061088f565b90506107dc30600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611214565b50565b60006009905090565b6107f0611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610874906125a0565b60405180910390fd5b81600581905550806006819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e0611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610964906125a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f4b4c415553000000000000000000000000000000000000000000000000000000815250905090565b6000610ab1610aaa611043565b8484611214565b6001905092915050565b610ac3611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b47906125a0565b60405180910390fd5b600f60149054906101000a900460ff1615610ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b97906127fb565b60405180910390fd5b610be930600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bd59190612722565b633b9aca00610be4919061276d565b61104b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c323061088f565b60008073a2e2d5fda94ffdc63b11a991342d73f4fcdea13e426040518863ffffffff1660e01b8152600401610c6c96959493929190612860565b60606040518083038185885af1158015610c8a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610caf91906128d6565b505050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d51929190612929565b6020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d94919061297e565b50565b600b5481565b610da5611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e29906125a0565b60405180910390fd5b6001600f60146101000a81548160ff0219169083151502179055506001600f60166101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ef9611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d906125a0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b190612a1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090612aaf565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161120791906123d8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a90612b41565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e990612bd3565b60405180910390fd5b60008111611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90612c65565b60405180910390fd5b600061133f610a31565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113ad575061137d610a31565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114075750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114615750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118bc57600f60149054906101000a900460ff1661155b57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061151b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612cd1565b60405180910390fd5b5b611583606461157560055485611d3b90919063ffffffff16565b611db590919063ffffffff16565b9050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116305750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116865750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611729576009548211156116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c790612d3d565b60405180910390fd5b600a54826116dd8561088f565b6116e79190612d5d565b1115611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90612ddd565b60405180910390fd5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117b257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117e2576117df60646117d160065485611d3b90919063ffffffff16565b611db590919063ffffffff16565b90505b60006117ed3061088f565b9050600f60159054906101000a900460ff161580156118595750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118715750600f60169054906101000a900460ff165b801561187e5750600b5481115b156118ba576118a061189b8461189684600c54611dff565b611dff565b611e18565b600047905060008111156118b8576118b747612091565b5b505b505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061195d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611a105750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a0f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611a1a57600090505b6000811115611b1e57611a7581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120fd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b1591906123d8565b60405180910390a35b611b7082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c17611bc9828461215b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120fd90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cbc848661215b90919063ffffffff16565b604051611cc991906123d8565b60405180910390a350505050565b6000838311158290611d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d169190612298565b60405180910390fd5b5060008385611d2e9190612dfd565b9050809150509392505050565b6000808303611d4d5760009050611daf565b60008284611d5b919061276d565b9050828482611d6a9190612e60565b14611daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da190612f03565b60405180910390fd5b809150505b92915050565b6000611df783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121a5565b905092915050565b6000818311611e0e5782611e10565b815b905092915050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e5057611e4f612f23565b5b604051908082528060200260200182016040528015611e7e5781602001602082028036833780820191505090505b5090503081600081518110611e9657611e95612f52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f619190612f96565b81600181518110611f7557611f74612f52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fdc30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461104b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612040959493929190613081565b600060405180830381600087803b15801561205a57600080fd5b505af115801561206e573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120f9573d6000803e3d6000fd5b5050565b600080828461210c9190612d5d565b905083811015612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890613127565b60405180910390fd5b8091505092915050565b600061219d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cd7565b905092915050565b600080831182906121ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e39190612298565b60405180910390fd5b50600083856121fb9190612e60565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612242578082015181840152602081019050612227565b60008484015250505050565b6000601f19601f8301169050919050565b600061226a82612208565b6122748185612213565b9350612284818560208601612224565b61228d8161224e565b840191505092915050565b600060208201905081810360008301526122b2818461225f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122ea826122bf565b9050919050565b6122fa816122df565b811461230557600080fd5b50565b600081359050612317816122f1565b92915050565b6000819050919050565b6123308161231d565b811461233b57600080fd5b50565b60008135905061234d81612327565b92915050565b6000806040838503121561236a576123696122ba565b5b600061237885828601612308565b92505060206123898582860161233e565b9150509250929050565b60008115159050919050565b6123a881612393565b82525050565b60006020820190506123c3600083018461239f565b92915050565b6123d28161231d565b82525050565b60006020820190506123ed60008301846123c9565b92915050565b60008060006060848603121561240c5761240b6122ba565b5b600061241a86828701612308565b935050602061242b86828701612308565b925050604061243c8682870161233e565b9150509250925092565b600060ff82169050919050565b61245c81612446565b82525050565b60006020820190506124776000830184612453565b92915050565b60008060408385031215612494576124936122ba565b5b60006124a28582860161233e565b92505060206124b38582860161233e565b9150509250929050565b6000602082840312156124d3576124d26122ba565b5b60006124e184828501612308565b91505092915050565b6124f3816122df565b82525050565b600060208201905061250e60008301846124ea565b92915050565b6000806040838503121561252b5761252a6122ba565b5b600061253985828601612308565b925050602061254a85828601612308565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061258a602083612213565b915061259582612554565b602082019050919050565b600060208201905081810360008301526125b98161257d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561264657808604811115612622576126216125c0565b5b60018516156126315780820291505b808102905061263f856125ef565b9450612606565b94509492505050565b60008261265f576001905061271b565b8161266d576000905061271b565b8160018114612683576002811461268d576126bc565b600191505061271b565b60ff84111561269f5761269e6125c0565b5b8360020a9150848211156126b6576126b56125c0565b5b5061271b565b5060208310610133831016604e8410600b84101617156126f15782820a9050838111156126ec576126eb6125c0565b5b61271b565b6126fe84848460016125fc565b92509050818404811115612715576127146125c0565b5b81810290505b9392505050565b600061272d8261231d565b915061273883612446565b92506127657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461264f565b905092915050565b60006127788261231d565b91506127838361231d565b92508282026127918161231d565b915082820484148315176127a8576127a76125c0565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127e5601783612213565b91506127f0826127af565b602082019050919050565b60006020820190508181036000830152612814816127d8565b9050919050565b6000819050919050565b6000819050919050565b600061284a6128456128408461281b565b612825565b61231d565b9050919050565b61285a8161282f565b82525050565b600060c08201905061287560008301896124ea565b61288260208301886123c9565b61288f6040830187612851565b61289c6060830186612851565b6128a960808301856124ea565b6128b660a08301846123c9565b979650505050505050565b6000815190506128d081612327565b92915050565b6000806000606084860312156128ef576128ee6122ba565b5b60006128fd868287016128c1565b935050602061290e868287016128c1565b925050604061291f868287016128c1565b9150509250925092565b600060408201905061293e60008301856124ea565b61294b60208301846123c9565b9392505050565b61295b81612393565b811461296657600080fd5b50565b60008151905061297881612952565b92915050565b600060208284031215612994576129936122ba565b5b60006129a284828501612969565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a07602483612213565b9150612a12826129ab565b604082019050919050565b60006020820190508181036000830152612a36816129fa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a99602283612213565b9150612aa482612a3d565b604082019050919050565b60006020820190508181036000830152612ac881612a8c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b2b602583612213565b9150612b3682612acf565b604082019050919050565b60006020820190508181036000830152612b5a81612b1e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bbd602383612213565b9150612bc882612b61565b604082019050919050565b60006020820190508181036000830152612bec81612bb0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c4f602983612213565b9150612c5a82612bf3565b604082019050919050565b60006020820190508181036000830152612c7e81612c42565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000612cbb601683612213565b9150612cc682612c85565b602082019050919050565b60006020820190508181036000830152612cea81612cae565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612d27601983612213565b9150612d3282612cf1565b602082019050919050565b60006020820190508181036000830152612d5681612d1a565b9050919050565b6000612d688261231d565b9150612d738361231d565b9250828201905080821115612d8b57612d8a6125c0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612dc7601a83612213565b9150612dd282612d91565b602082019050919050565b60006020820190508181036000830152612df681612dba565b9050919050565b6000612e088261231d565b9150612e138361231d565b9250828203905081811115612e2b57612e2a6125c0565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e6b8261231d565b9150612e768361231d565b925082612e8657612e85612e31565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eed602183612213565b9150612ef882612e91565b604082019050919050565b60006020820190508181036000830152612f1c81612ee0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612f90816122f1565b92915050565b600060208284031215612fac57612fab6122ba565b5b6000612fba84828501612f81565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ff8816122df565b82525050565b600061300a8383612fef565b60208301905092915050565b6000602082019050919050565b600061302e82612fc3565b6130388185612fce565b935061304383612fdf565b8060005b8381101561307457815161305b8882612ffe565b975061306683613016565b925050600181019050613047565b5085935050505092915050565b600060a08201905061309660008301886123c9565b6130a36020830187612851565b81810360408301526130b58186613023565b90506130c460608301856124ea565b6130d160808301846123c9565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613111601b83612213565b915061311c826130db565b602082019050919050565b6000602082019050818103600083015261314081613104565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220336caecb8b33bf00cc1d8e2712357b93a92b5d029b672d94a0fd124fd9c1e4c264736f6c63430008180033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb146103b7578063bc37e1a3146103f4578063bf474bed1461040b578063c9567bf914610436578063dd62ed3e1461044d578063f2fde38b1461048a57610135565b8063715018a6146102f45780637d1db4a51461030b5780638da5cb5b146103365780638f9a55c01461036157806395d89b411461038c57610135565b806323b872dd116100f257806323b872dd1461020f5780632cb743f71461024c578063313ce5671461026357806340aa6b921461028e57806370a08231146102b757610135565b806306fdde031461013a578063095ea7b3146101655780630faee56f146101a2578063139864a8146101cd57806318160ddd146101e457610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104b3565b60405161015c9190612298565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612353565b6104f0565b60405161019991906123ae565b60405180910390f35b3480156101ae57600080fd5b506101b761050e565b6040516101c491906123d8565b60405180910390f35b3480156101d957600080fd5b506101e2610514565b005b3480156101f057600080fd5b506101f9610644565b60405161020691906123d8565b60405180910390f35b34801561021b57600080fd5b50610236600480360381019061023191906123f3565b610668565b60405161024391906123ae565b60405180910390f35b34801561025857600080fd5b50610261610741565b005b34801561026f57600080fd5b506102786107df565b6040516102859190612462565b60405180910390f35b34801561029a57600080fd5b506102b560048036038101906102b0919061247d565b6107e8565b005b3480156102c357600080fd5b506102de60048036038101906102d991906124bd565b61088f565b6040516102eb91906123d8565b60405180910390f35b34801561030057600080fd5b506103096108d8565b005b34801561031757600080fd5b50610320610a2b565b60405161032d91906123d8565b60405180910390f35b34801561034257600080fd5b5061034b610a31565b60405161035891906124f9565b60405180910390f35b34801561036d57600080fd5b50610376610a5a565b60405161038391906123d8565b60405180910390f35b34801561039857600080fd5b506103a1610a60565b6040516103ae9190612298565b60405180910390f35b3480156103c357600080fd5b506103de60048036038101906103d99190612353565b610a9d565b6040516103eb91906123ae565b60405180910390f35b34801561040057600080fd5b50610409610abb565b005b34801561041757600080fd5b50610420610d97565b60405161042d91906123d8565b60405180910390f35b34801561044257600080fd5b5061044b610d9d565b005b34801561045957600080fd5b50610474600480360381019061046f9190612514565b610e6a565b60405161048191906123d8565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac91906124bd565b610ef1565b005b60606040518060400160405280600581526020017f4b6c617573000000000000000000000000000000000000000000000000000000815250905090565b60006105046104fd611043565b848461104b565b6001905092915050565b600c5481565b61051c611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a0906125a0565b60405180910390fd5b6009600a6105b79190612722565b633b9aca006105c6919061276d565b600a819055506009600a6105da9190612722565b633b9aca006105e9919061276d565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61061e9190612722565b633b9aca0061062d919061276d565b60405161063a91906123d8565b60405180910390a1565b60006009600a6106549190612722565b633b9aca00610663919061276d565b905090565b6000610675848484611214565b61073684610681611043565b6107318560405180606001604052806028815260200161314860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e7611043565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd79092919063ffffffff16565b61104b565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610782611043565b73ffffffffffffffffffffffffffffffffffffffff16146107a257600080fd5b60006107ad3061088f565b90506107dc30600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611214565b50565b60006009905090565b6107f0611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610874906125a0565b60405180910390fd5b81600581905550806006819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e0611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610964906125a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f4b4c415553000000000000000000000000000000000000000000000000000000815250905090565b6000610ab1610aaa611043565b8484611214565b6001905092915050565b610ac3611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b47906125a0565b60405180910390fd5b600f60149054906101000a900460ff1615610ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b97906127fb565b60405180910390fd5b610be930600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bd59190612722565b633b9aca00610be4919061276d565b61104b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c323061088f565b60008073a2e2d5fda94ffdc63b11a991342d73f4fcdea13e426040518863ffffffff1660e01b8152600401610c6c96959493929190612860565b60606040518083038185885af1158015610c8a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610caf91906128d6565b505050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d51929190612929565b6020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d94919061297e565b50565b600b5481565b610da5611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e29906125a0565b60405180910390fd5b6001600f60146101000a81548160ff0219169083151502179055506001600f60166101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ef9611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d906125a0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b190612a1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090612aaf565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161120791906123d8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a90612b41565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e990612bd3565b60405180910390fd5b60008111611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90612c65565b60405180910390fd5b600061133f610a31565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113ad575061137d610a31565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114075750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114615750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118bc57600f60149054906101000a900460ff1661155b57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061151b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612cd1565b60405180910390fd5b5b611583606461157560055485611d3b90919063ffffffff16565b611db590919063ffffffff16565b9050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116305750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116865750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611729576009548211156116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c790612d3d565b60405180910390fd5b600a54826116dd8561088f565b6116e79190612d5d565b1115611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90612ddd565b60405180910390fd5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117b257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117e2576117df60646117d160065485611d3b90919063ffffffff16565b611db590919063ffffffff16565b90505b60006117ed3061088f565b9050600f60159054906101000a900460ff161580156118595750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118715750600f60169054906101000a900460ff165b801561187e5750600b5481115b156118ba576118a061189b8461189684600c54611dff565b611dff565b611e18565b600047905060008111156118b8576118b747612091565b5b505b505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061195d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611a105750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a0f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611a1a57600090505b6000811115611b1e57611a7581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120fd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b1591906123d8565b60405180910390a35b611b7082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c17611bc9828461215b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120fd90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cbc848661215b90919063ffffffff16565b604051611cc991906123d8565b60405180910390a350505050565b6000838311158290611d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d169190612298565b60405180910390fd5b5060008385611d2e9190612dfd565b9050809150509392505050565b6000808303611d4d5760009050611daf565b60008284611d5b919061276d565b9050828482611d6a9190612e60565b14611daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da190612f03565b60405180910390fd5b809150505b92915050565b6000611df783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121a5565b905092915050565b6000818311611e0e5782611e10565b815b905092915050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e5057611e4f612f23565b5b604051908082528060200260200182016040528015611e7e5781602001602082028036833780820191505090505b5090503081600081518110611e9657611e95612f52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f619190612f96565b81600181518110611f7557611f74612f52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fdc30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461104b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612040959493929190613081565b600060405180830381600087803b15801561205a57600080fd5b505af115801561206e573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120f9573d6000803e3d6000fd5b5050565b600080828461210c9190612d5d565b905083811015612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890613127565b60405180910390fd5b8091505092915050565b600061219d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cd7565b905092915050565b600080831182906121ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e39190612298565b60405180910390fd5b50600083856121fb9190612e60565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612242578082015181840152602081019050612227565b60008484015250505050565b6000601f19601f8301169050919050565b600061226a82612208565b6122748185612213565b9350612284818560208601612224565b61228d8161224e565b840191505092915050565b600060208201905081810360008301526122b2818461225f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122ea826122bf565b9050919050565b6122fa816122df565b811461230557600080fd5b50565b600081359050612317816122f1565b92915050565b6000819050919050565b6123308161231d565b811461233b57600080fd5b50565b60008135905061234d81612327565b92915050565b6000806040838503121561236a576123696122ba565b5b600061237885828601612308565b92505060206123898582860161233e565b9150509250929050565b60008115159050919050565b6123a881612393565b82525050565b60006020820190506123c3600083018461239f565b92915050565b6123d28161231d565b82525050565b60006020820190506123ed60008301846123c9565b92915050565b60008060006060848603121561240c5761240b6122ba565b5b600061241a86828701612308565b935050602061242b86828701612308565b925050604061243c8682870161233e565b9150509250925092565b600060ff82169050919050565b61245c81612446565b82525050565b60006020820190506124776000830184612453565b92915050565b60008060408385031215612494576124936122ba565b5b60006124a28582860161233e565b92505060206124b38582860161233e565b9150509250929050565b6000602082840312156124d3576124d26122ba565b5b60006124e184828501612308565b91505092915050565b6124f3816122df565b82525050565b600060208201905061250e60008301846124ea565b92915050565b6000806040838503121561252b5761252a6122ba565b5b600061253985828601612308565b925050602061254a85828601612308565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061258a602083612213565b915061259582612554565b602082019050919050565b600060208201905081810360008301526125b98161257d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561264657808604811115612622576126216125c0565b5b60018516156126315780820291505b808102905061263f856125ef565b9450612606565b94509492505050565b60008261265f576001905061271b565b8161266d576000905061271b565b8160018114612683576002811461268d576126bc565b600191505061271b565b60ff84111561269f5761269e6125c0565b5b8360020a9150848211156126b6576126b56125c0565b5b5061271b565b5060208310610133831016604e8410600b84101617156126f15782820a9050838111156126ec576126eb6125c0565b5b61271b565b6126fe84848460016125fc565b92509050818404811115612715576127146125c0565b5b81810290505b9392505050565b600061272d8261231d565b915061273883612446565b92506127657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461264f565b905092915050565b60006127788261231d565b91506127838361231d565b92508282026127918161231d565b915082820484148315176127a8576127a76125c0565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127e5601783612213565b91506127f0826127af565b602082019050919050565b60006020820190508181036000830152612814816127d8565b9050919050565b6000819050919050565b6000819050919050565b600061284a6128456128408461281b565b612825565b61231d565b9050919050565b61285a8161282f565b82525050565b600060c08201905061287560008301896124ea565b61288260208301886123c9565b61288f6040830187612851565b61289c6060830186612851565b6128a960808301856124ea565b6128b660a08301846123c9565b979650505050505050565b6000815190506128d081612327565b92915050565b6000806000606084860312156128ef576128ee6122ba565b5b60006128fd868287016128c1565b935050602061290e868287016128c1565b925050604061291f868287016128c1565b9150509250925092565b600060408201905061293e60008301856124ea565b61294b60208301846123c9565b9392505050565b61295b81612393565b811461296657600080fd5b50565b60008151905061297881612952565b92915050565b600060208284031215612994576129936122ba565b5b60006129a284828501612969565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a07602483612213565b9150612a12826129ab565b604082019050919050565b60006020820190508181036000830152612a36816129fa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a99602283612213565b9150612aa482612a3d565b604082019050919050565b60006020820190508181036000830152612ac881612a8c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b2b602583612213565b9150612b3682612acf565b604082019050919050565b60006020820190508181036000830152612b5a81612b1e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bbd602383612213565b9150612bc882612b61565b604082019050919050565b60006020820190508181036000830152612bec81612bb0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c4f602983612213565b9150612c5a82612bf3565b604082019050919050565b60006020820190508181036000830152612c7e81612c42565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000612cbb601683612213565b9150612cc682612c85565b602082019050919050565b60006020820190508181036000830152612cea81612cae565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612d27601983612213565b9150612d3282612cf1565b602082019050919050565b60006020820190508181036000830152612d5681612d1a565b9050919050565b6000612d688261231d565b9150612d738361231d565b9250828201905080821115612d8b57612d8a6125c0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612dc7601a83612213565b9150612dd282612d91565b602082019050919050565b60006020820190508181036000830152612df681612dba565b9050919050565b6000612e088261231d565b9150612e138361231d565b9250828203905081811115612e2b57612e2a6125c0565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e6b8261231d565b9150612e768361231d565b925082612e8657612e85612e31565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eed602183612213565b9150612ef882612e91565b604082019050919050565b60006020820190508181036000830152612f1c81612ee0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612f90816122f1565b92915050565b600060208284031215612fac57612fab6122ba565b5b6000612fba84828501612f81565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ff8816122df565b82525050565b600061300a8383612fef565b60208301905092915050565b6000602082019050919050565b600061302e82612fc3565b6130388185612fce565b935061304383612fdf565b8060005b8381101561307457815161305b8882612ffe565b975061306683613016565b925050600181019050613047565b5085935050505092915050565b600060a08201905061309660008301886123c9565b6130a36020830187612851565b81810360408301526130b58186613023565b90506130c460608301856124ea565b6130d160808301846123c9565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613111601b83612213565b915061311c826130db565b602082019050919050565b6000602082019050818103600083015261314081613104565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220336caecb8b33bf00cc1d8e2712357b93a92b5d029b672d94a0fd124fd9c1e4c264736f6c63430008180033

Deployed Bytecode Sourcemap

3652:7499:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5575:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6408:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4527:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10745:162;;;;;;;;;;;;;:::i;:::-;;5852:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6577:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10952:196;;;;;;;;;;;;;:::i;:::-;;5761:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10576:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5955:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2567:148;;;;;;;;;;;;;:::i;:::-;;4339:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2353:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4400:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5666:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6082:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9921:430;;;;;;;;;;;;;:::i;:::-;;4463:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10359:110;;;;;;;;;;;;;:::i;:::-;;6257:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2723:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5575:83;5612:13;5645:5;;;;;;;;;;;;;;;;;5638:12;;5575:83;:::o;6408:161::-;6483:4;6500:39;6509:12;:10;:12::i;:::-;6523:7;6532:6;6500:8;:39::i;:::-;6557:4;6550:11;;6408:161;;;;:::o;4527:52::-;;;;:::o;10745:162::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4263:1:::1;4319:2;:13;;;;:::i;:::-;4306:10;:26;;;;:::i;:::-;10801:14;:22;;;;4263:1;4319:2;:13;;;;:::i;:::-;4306:10;:26;;;;:::i;:::-;10834:12;:22;;;;10872:27;4263:1;4319:2;:13;;;;:::i;:::-;4306:10;:26;;;;:::i;:::-;10872:27;;;;;;:::i;:::-;;;;;;;;10745:162::o:0;5852:95::-;5905:7;4263:1;4319:2;:13;;;;:::i;:::-;4306:10;:26;;;;:::i;:::-;5925:14;;5852:95;:::o;6577:313::-;6675:4;6692:36;6702:6;6710:9;6721:6;6692:9;:36::i;:::-;6739:121;6748:6;6756:12;:10;:12::i;:::-;6770:89;6808:6;6770:89;;;;;;;;;;;;;;;;;:11;:19;6782:6;6770:19;;;;;;;;;;;;;;;:33;6790:12;:10;:12::i;:::-;6770:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6739:8;:121::i;:::-;6878:4;6871:11;;6577:313;;;;;:::o;10952:196::-;11022:10;;;;;;;;;;;11006:26;;:12;:10;:12::i;:::-;:26;;;10998:35;;;;;;11044:14;11061:24;11079:4;11061:9;:24::i;:::-;11044:41;;11096:44;11114:4;11121:10;;;;;;;;;;;11133:6;11096:9;:44::i;:::-;10987:161;10952:196::o;5761:83::-;5802:5;4263:1;5820:16;;5761:83;:::o;10576:161::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10680:13:::1;10670:7;:23;;;;10715:14;10704:8;:25;;;;10576:161:::0;;:::o;5955:119::-;6021:7;6048:9;:18;6058:7;6048:18;;;;;;;;;;;;;;;;6041:25;;5955:119;;;:::o;2567:148::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2674:1:::1;2637:40;;2658:6;::::0;::::1;;;;;;;;2637:40;;;;;;;;;;;;2705:1;2688:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2567:148::o:0;4339:54::-;;;;:::o;2353:79::-;2391:7;2418:6;;;;;;;;;;;2411:13;;2353:79;:::o;4400:56::-;;;;:::o;5666:87::-;5705:13;5738:7;;;;;;;;;;;;;;;;;5731:14;;5666:87;:::o;6082:167::-;6160:4;6177:42;6187:12;:10;:12::i;:::-;6201:9;6212:6;6177:9;:42::i;:::-;6237:4;6230:11;;6082:167;;;;:::o;9921:430::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9979:11:::1;;;;;;;;;;;9978:12;9970:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10028:58;10045:4;10060:15;;;;;;;;;;;4263:1;4319:2;:13;;;;:::i;:::-;4306:10;:26;;;;:::i;:::-;10028:8;:58::i;:::-;10097:15;;;;;;;;;;;:31;;;10136:21;10167:4;10173:24;10191:4;10173:9;:24::i;:::-;10198:1;10200::::0;10202:42:::1;10245:15;10097:164;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10279:13;;;;;;;;;;;10272:29;;;10310:15;;;;;;;;;;;10328:14;10272:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9921:430::o:0;4463:57::-;;;;:::o;10359:110::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10428:4:::1;10414:11;;:18;;;;;;;;;;;;;;;;;;10457:4;10443:11;;:18;;;;;;;;;;;;;;;;;;10359:110::o:0;6257:143::-;6338:7;6365:11;:18;6377:5;6365:18;;;;;;;;;;;;;;;:27;6384:7;6365:27;;;;;;;;;;;;;;;;6358:34;;6257:143;;;;:::o;2723:160::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2838:8:::1;2809:38;;2830:6;::::0;::::1;;;;;;;;2809:38;;;;;;;;;;;;2867:8;2858:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2723:160:::0;:::o;108:98::-;161:7;188:10;181:17;;108:98;:::o;6898:335::-;7008:1;6991:19;;:5;:19;;;6983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7089:1;7070:21;;:7;:21;;;7062:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7171:6;7141:11;:18;7153:5;7141:18;;;;;;;;;;;;;;;:27;7160:7;7141:27;;;;;;;;;;;;;;;:36;;;;7209:7;7193:32;;7202:5;7193:32;;;7218:6;7193:32;;;;;;:::i;:::-;;;;;;;;6898:335;;;:::o;7241:2073::-;7345:1;7329:18;;:4;:18;;;7321:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7422:1;7408:16;;:2;:16;;;7400:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7492:1;7483:6;:10;7475:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7550:17;7592:7;:5;:7::i;:::-;7584:15;;:4;:15;;;;:32;;;;;7609:7;:5;:7::i;:::-;7603:13;;:2;:13;;;;7584:32;:54;;;;;7628:10;;;;;;;;;;;7620:18;;:4;:18;;;;7584:54;:74;;;;;7648:10;;;;;;;;;;;7642:16;;:2;:16;;;;7584:74;7580:1214;;;7680:11;;;;;;;;;;;7675:138;;7720:18;:24;7739:4;7720:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7748:18;:22;7767:2;7748:22;;;;;;;;;;;;;;;;;;;;;;;;;7720:50;7712:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7675:138;7841:28;7865:3;7841:19;7852:7;;7841:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7829:40;;7898:13;;;;;;;;;;;7890:21;;:4;:21;;;:55;;;;;7929:15;;;;;;;;;;;7915:30;;:2;:30;;;;7890:55;:83;;;;;7951:18;:22;7970:2;7951:22;;;;;;;;;;;;;;;;;;;;;;;;;7949:24;7890:83;7886:283;;;8013:12;;8003:6;:22;;7995:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8108:14;;8098:6;8082:13;8092:2;8082:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8074:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7886:283;8194:13;;;;;;;;;;;8188:19;;:2;:19;;;:43;;;;;8226:4;8211:20;;:4;:20;;;;8188:43;8185:124;;;8264:29;8289:3;8264:20;8275:8;;8264:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8252:41;;8185:124;8325:28;8356:24;8374:4;8356:9;:24::i;:::-;8325:55;;8400:6;;;;;;;;;;;8399:7;:32;;;;;8418:13;;;;;;;;;;;8410:21;;:2;:21;;;8399:32;:47;;;;;8435:11;;;;;;;;;;;8399:47;:89;;;;;8471:17;;8450:20;:38;8399:89;8395:388;;;8509:67;8526:49;8530:6;8537:37;8541:20;8562:11;;8537:3;:37::i;:::-;8526:3;:49::i;:::-;8509:16;:67::i;:::-;8595:26;8624:21;8595:50;;8688:1;8667:18;:22;8664:104;;;8714:34;8726:21;8714:11;:34::i;:::-;8664:104;8490:293;8395:388;7660:1134;7580:1214;8811:18;:24;8830:4;8811:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8839:18;:22;8858:2;8839:22;;;;;;;;;;;;;;;;;;;;;;;;;8811:50;8810:102;;;;8875:13;;;;;;;;;;;8867:21;;:4;:21;;;;:44;;;;;8898:13;;;;;;;;;;;8892:19;;:2;:19;;;;8867:44;8810:102;8806:148;;;8941:1;8929:13;;8806:148;8981:1;8969:9;:13;8966:163;;;9021:39;9050:9;9021;:24;9039:4;9021:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8996:9;:24;9014:4;8996:24;;;;;;;;;;;;;;;:64;;;;9101:4;9078:39;;9087:4;9078:39;;;9107:9;9078:39;;;;;;:::i;:::-;;;;;;;;8966:163;9157:27;9177:6;9157:9;:15;9167:4;9157:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9141:9;:15;9151:4;9141:15;;;;;;;;;;;;;;;:43;;;;9209:40;9227:21;9238:9;9227:6;:10;;:21;;;;:::i;:::-;9209:9;:13;9219:2;9209:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9195:9;:13;9205:2;9195:13;;;;;;;;;;;;;;;:54;;;;9280:2;9265:41;;9274:4;9265:41;;;9284:21;9295:9;9284:6;:10;;:21;;;;:::i;:::-;9265:41;;;;;;:::i;:::-;;;;;;;;7310:2004;7241:2073;;;:::o;1245:190::-;1331:7;1364:1;1359;:6;;1367:12;1351:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1391:9;1407:1;1403;:5;;;;:::i;:::-;1391:17;;1426:1;1419:8;;;1245:190;;;;;:::o;1443:246::-;1501:7;1530:1;1525;:6;1521:47;;1555:1;1548:8;;;;1521:47;1578:9;1594:1;1590;:5;;;;:::i;:::-;1578:17;;1623:1;1618;1614;:5;;;;:::i;:::-;:10;1606:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1;1673:8;;;1443:246;;;;;:::o;1697:132::-;1755:7;1782:39;1786:1;1789;1782:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1775:46;;1697:132;;;;:::o;9324:98::-;9381:7;9408:1;9406;:3;9405:9;;9413:1;9405:9;;;9411:1;9405:9;9398:16;;9324:98;;;;:::o;9430:483::-;4951:4;4942:6;;:13;;;;;;;;;;;;;;;;;;9508:21:::1;9546:1;9532:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9508:40;;9577:4;9559;9564:1;9559:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9603:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9593:4;9598:1;9593:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9636:62;9653:4;9668:15;;;;;;;;;;;9686:11;9636:8;:62::i;:::-;9709:15;;;;;;;;;;;:66;;;9790:11;9816:1;9832:4;9859;9879:15;9709:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9497:416;4987:5:::0;4978:6;;:14;;;;;;;;;;;;;;;;;;9430:483;:::o;10477:91::-;10533:10;;;;;;;;;;;:19;;:27;10553:6;10533:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10477:91;:::o;914:179::-;972:7;992:9;1008:1;1004;:5;;;;:::i;:::-;992:17;;1033:1;1028;:6;;1020:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1084:1;1077:8;;;914:179;;;;:::o;1101:136::-;1159:7;1186:43;1190:1;1193;1186:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1179:50;;1101:136;;;;:::o;1837:189::-;1923:7;1955:1;1951;:5;1958:12;1943:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1982:9;1998:1;1994;:5;;;;:::i;:::-;1982:17;;2017:1;2010:8;;;1837: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:182::-;6640:34;6636:1;6628:6;6624:14;6617:58;6500:182;:::o;6688:366::-;6830:3;6851:67;6915:2;6910:3;6851:67;:::i;:::-;6844:74;;6927:93;7016:3;6927:93;:::i;:::-;7045:2;7040:3;7036:12;7029:19;;6688:366;;;:::o;7060:419::-;7226:4;7264:2;7253:9;7249:18;7241:26;;7313:9;7307:4;7303:20;7299:1;7288:9;7284:17;7277:47;7341:131;7467:4;7341:131;:::i;:::-;7333:139;;7060:419;;;:::o;7485:180::-;7533:77;7530:1;7523:88;7630:4;7627:1;7620:15;7654:4;7651:1;7644:15;7671:102;7713:8;7760:5;7757:1;7753:13;7732:34;;7671:102;;;:::o;7779:848::-;7840:5;7847:4;7871:6;7862:15;;7895:5;7886:14;;7909:712;7930:1;7920:8;7917:15;7909:712;;;8025:4;8020:3;8016:14;8010:4;8007:24;8004:50;;;8034:18;;:::i;:::-;8004:50;8084:1;8074:8;8070:16;8067:451;;;8499:4;8492:5;8488:16;8479:25;;8067:451;8549:4;8543;8539:15;8531:23;;8579:32;8602:8;8579:32;:::i;:::-;8567:44;;7909:712;;;7779:848;;;;;;;:::o;8633:1073::-;8687:5;8878:8;8868:40;;8899:1;8890:10;;8901:5;;8868:40;8927:4;8917:36;;8944:1;8935:10;;8946:5;;8917:36;9013:4;9061:1;9056:27;;;;9097:1;9092:191;;;;9006:277;;9056:27;9074:1;9065:10;;9076:5;;;9092:191;9137:3;9127:8;9124:17;9121:43;;;9144:18;;:::i;:::-;9121:43;9193:8;9190:1;9186:16;9177:25;;9228:3;9221:5;9218:14;9215:40;;;9235:18;;:::i;:::-;9215:40;9268:5;;;9006:277;;9392:2;9382:8;9379:16;9373:3;9367:4;9364:13;9360:36;9342:2;9332:8;9329:16;9324:2;9318:4;9315:12;9311:35;9295:111;9292:246;;;9448:8;9442:4;9438:19;9429:28;;9483:3;9476:5;9473:14;9470:40;;;9490:18;;:::i;:::-;9470:40;9523:5;;9292:246;9563:42;9601:3;9591:8;9585:4;9582:1;9563:42;:::i;:::-;9548:57;;;;9637:4;9632:3;9628:14;9621:5;9618:25;9615:51;;;9646:18;;:::i;:::-;9615:51;9695:4;9688:5;9684:16;9675:25;;8633:1073;;;;;;:::o;9712:281::-;9770:5;9794:23;9812:4;9794:23;:::i;:::-;9786:31;;9838:25;9854:8;9838:25;:::i;:::-;9826:37;;9882:104;9919:66;9909:8;9903:4;9882:104;:::i;:::-;9873:113;;9712:281;;;;:::o;9999:410::-;10039:7;10062:20;10080:1;10062:20;:::i;:::-;10057:25;;10096:20;10114:1;10096:20;:::i;:::-;10091:25;;10151:1;10148;10144:9;10173:30;10191:11;10173:30;:::i;:::-;10162:41;;10352:1;10343:7;10339:15;10336:1;10333:22;10313:1;10306:9;10286:83;10263:139;;10382:18;;:::i;:::-;10263:139;10047:362;9999:410;;;;:::o;10415:173::-;10555:25;10551:1;10543:6;10539:14;10532:49;10415:173;:::o;10594:366::-;10736:3;10757:67;10821:2;10816:3;10757:67;:::i;:::-;10750:74;;10833:93;10922:3;10833:93;:::i;:::-;10951:2;10946:3;10942:12;10935:19;;10594:366;;;:::o;10966:419::-;11132:4;11170:2;11159:9;11155:18;11147:26;;11219:9;11213:4;11209:20;11205:1;11194:9;11190:17;11183:47;11247:131;11373:4;11247:131;:::i;:::-;11239:139;;10966:419;;;:::o;11391:85::-;11436:7;11465:5;11454:16;;11391:85;;;:::o;11482:60::-;11510:3;11531:5;11524:12;;11482:60;;;:::o;11548:158::-;11606:9;11639:61;11657:42;11666:32;11692:5;11666:32;:::i;:::-;11657:42;:::i;:::-;11639:61;:::i;:::-;11626:74;;11548:158;;;:::o;11712:147::-;11807:45;11846:5;11807:45;:::i;:::-;11802:3;11795:58;11712:147;;:::o;11865:807::-;12114:4;12152:3;12141:9;12137:19;12129:27;;12166:71;12234:1;12223:9;12219:17;12210:6;12166:71;:::i;:::-;12247:72;12315:2;12304:9;12300:18;12291:6;12247:72;:::i;:::-;12329:80;12405:2;12394:9;12390:18;12381:6;12329:80;:::i;:::-;12419;12495:2;12484:9;12480:18;12471:6;12419:80;:::i;:::-;12509:73;12577:3;12566:9;12562:19;12553:6;12509:73;:::i;:::-;12592;12660:3;12649:9;12645:19;12636:6;12592:73;:::i;:::-;11865:807;;;;;;;;;:::o;12678:143::-;12735:5;12766:6;12760:13;12751:22;;12782:33;12809:5;12782:33;:::i;:::-;12678:143;;;;:::o;12827:663::-;12915:6;12923;12931;12980:2;12968:9;12959:7;12955:23;12951:32;12948:119;;;12986:79;;:::i;:::-;12948:119;13106:1;13131:64;13187:7;13178:6;13167:9;13163:22;13131:64;:::i;:::-;13121:74;;13077:128;13244:2;13270:64;13326:7;13317:6;13306:9;13302:22;13270:64;:::i;:::-;13260:74;;13215:129;13383:2;13409:64;13465:7;13456:6;13445:9;13441:22;13409:64;:::i;:::-;13399:74;;13354:129;12827:663;;;;;:::o;13496:332::-;13617:4;13655:2;13644:9;13640:18;13632:26;;13668:71;13736:1;13725:9;13721:17;13712:6;13668:71;:::i;:::-;13749:72;13817:2;13806:9;13802:18;13793:6;13749:72;:::i;:::-;13496:332;;;;;:::o;13834:116::-;13904:21;13919:5;13904:21;:::i;:::-;13897:5;13894:32;13884:60;;13940:1;13937;13930:12;13884:60;13834:116;:::o;13956:137::-;14010:5;14041:6;14035:13;14026:22;;14057:30;14081:5;14057:30;:::i;:::-;13956:137;;;;:::o;14099:345::-;14166:6;14215:2;14203:9;14194:7;14190:23;14186:32;14183:119;;;14221:79;;:::i;:::-;14183:119;14341:1;14366:61;14419:7;14410:6;14399:9;14395:22;14366:61;:::i;:::-;14356:71;;14312:125;14099:345;;;;:::o;14450:223::-;14590:34;14586:1;14578:6;14574:14;14567:58;14659:6;14654:2;14646:6;14642:15;14635:31;14450:223;:::o;14679:366::-;14821:3;14842:67;14906:2;14901:3;14842:67;:::i;:::-;14835:74;;14918:93;15007:3;14918:93;:::i;:::-;15036:2;15031:3;15027:12;15020:19;;14679:366;;;:::o;15051:419::-;15217:4;15255:2;15244:9;15240:18;15232:26;;15304:9;15298:4;15294:20;15290:1;15279:9;15275:17;15268:47;15332:131;15458:4;15332:131;:::i;:::-;15324:139;;15051:419;;;:::o;15476:221::-;15616:34;15612:1;15604:6;15600:14;15593:58;15685:4;15680:2;15672:6;15668:15;15661:29;15476:221;:::o;15703:366::-;15845:3;15866:67;15930:2;15925:3;15866:67;:::i;:::-;15859:74;;15942:93;16031:3;15942:93;:::i;:::-;16060:2;16055:3;16051:12;16044:19;;15703:366;;;:::o;16075:419::-;16241:4;16279:2;16268:9;16264:18;16256:26;;16328:9;16322:4;16318:20;16314:1;16303:9;16299:17;16292:47;16356:131;16482:4;16356:131;:::i;:::-;16348:139;;16075:419;;;:::o;16500:224::-;16640:34;16636:1;16628:6;16624:14;16617:58;16709:7;16704:2;16696:6;16692:15;16685:32;16500:224;:::o;16730:366::-;16872:3;16893:67;16957:2;16952:3;16893:67;:::i;:::-;16886:74;;16969:93;17058:3;16969:93;:::i;:::-;17087:2;17082:3;17078:12;17071:19;;16730:366;;;:::o;17102:419::-;17268:4;17306:2;17295:9;17291:18;17283:26;;17355:9;17349:4;17345:20;17341:1;17330:9;17326:17;17319:47;17383:131;17509:4;17383:131;:::i;:::-;17375:139;;17102:419;;;:::o;17527:222::-;17667:34;17663:1;17655:6;17651:14;17644:58;17736:5;17731:2;17723:6;17719:15;17712:30;17527:222;:::o;17755:366::-;17897:3;17918:67;17982:2;17977:3;17918:67;:::i;:::-;17911:74;;17994:93;18083:3;17994:93;:::i;:::-;18112:2;18107:3;18103:12;18096:19;;17755:366;;;:::o;18127:419::-;18293:4;18331:2;18320:9;18316:18;18308:26;;18380:9;18374:4;18370:20;18366:1;18355:9;18351:17;18344:47;18408:131;18534:4;18408:131;:::i;:::-;18400:139;;18127:419;;;:::o;18552:228::-;18692:34;18688:1;18680:6;18676:14;18669:58;18761:11;18756:2;18748:6;18744:15;18737:36;18552:228;:::o;18786:366::-;18928:3;18949:67;19013:2;19008:3;18949:67;:::i;:::-;18942:74;;19025:93;19114:3;19025:93;:::i;:::-;19143:2;19138:3;19134:12;19127:19;;18786:366;;;:::o;19158:419::-;19324:4;19362:2;19351:9;19347:18;19339:26;;19411:9;19405:4;19401:20;19397:1;19386:9;19382:17;19375:47;19439:131;19565:4;19439:131;:::i;:::-;19431:139;;19158:419;;;:::o;19583:172::-;19723:24;19719:1;19711:6;19707:14;19700:48;19583:172;:::o;19761:366::-;19903:3;19924:67;19988:2;19983:3;19924:67;:::i;:::-;19917:74;;20000:93;20089:3;20000:93;:::i;:::-;20118:2;20113:3;20109:12;20102:19;;19761:366;;;:::o;20133:419::-;20299:4;20337:2;20326:9;20322:18;20314:26;;20386:9;20380:4;20376:20;20372:1;20361:9;20357:17;20350:47;20414:131;20540:4;20414:131;:::i;:::-;20406:139;;20133:419;;;:::o;20558:175::-;20698:27;20694:1;20686:6;20682:14;20675:51;20558:175;:::o;20739:366::-;20881:3;20902:67;20966:2;20961:3;20902:67;:::i;:::-;20895:74;;20978:93;21067:3;20978:93;:::i;:::-;21096:2;21091:3;21087:12;21080:19;;20739:366;;;:::o;21111:419::-;21277:4;21315:2;21304:9;21300:18;21292:26;;21364:9;21358:4;21354:20;21350:1;21339:9;21335:17;21328:47;21392:131;21518:4;21392:131;:::i;:::-;21384:139;;21111:419;;;:::o;21536:191::-;21576:3;21595:20;21613:1;21595:20;:::i;:::-;21590:25;;21629:20;21647:1;21629:20;:::i;:::-;21624:25;;21672:1;21669;21665:9;21658:16;;21693:3;21690:1;21687:10;21684:36;;;21700:18;;:::i;:::-;21684:36;21536:191;;;;:::o;21733:176::-;21873:28;21869:1;21861:6;21857:14;21850:52;21733:176;:::o;21915:366::-;22057:3;22078:67;22142:2;22137:3;22078:67;:::i;:::-;22071:74;;22154:93;22243:3;22154:93;:::i;:::-;22272:2;22267:3;22263:12;22256:19;;21915:366;;;:::o;22287:419::-;22453:4;22491:2;22480:9;22476:18;22468:26;;22540:9;22534:4;22530:20;22526:1;22515:9;22511:17;22504:47;22568:131;22694:4;22568:131;:::i;:::-;22560:139;;22287:419;;;:::o;22712:194::-;22752:4;22772:20;22790:1;22772:20;:::i;:::-;22767:25;;22806:20;22824:1;22806:20;:::i;:::-;22801:25;;22850:1;22847;22843:9;22835:17;;22874:1;22868:4;22865:11;22862:37;;;22879:18;;:::i;:::-;22862:37;22712:194;;;;:::o;22912:180::-;22960:77;22957:1;22950:88;23057:4;23054:1;23047:15;23081:4;23078:1;23071:15;23098:185;23138:1;23155:20;23173:1;23155:20;:::i;:::-;23150:25;;23189:20;23207:1;23189:20;:::i;:::-;23184:25;;23228:1;23218:35;;23233:18;;:::i;:::-;23218:35;23275:1;23272;23268:9;23263:14;;23098:185;;;;:::o;23289:220::-;23429:34;23425:1;23417:6;23413:14;23406:58;23498:3;23493:2;23485:6;23481:15;23474:28;23289:220;:::o;23515:366::-;23657:3;23678:67;23742:2;23737:3;23678:67;:::i;:::-;23671:74;;23754:93;23843:3;23754:93;:::i;:::-;23872:2;23867:3;23863:12;23856:19;;23515:366;;;:::o;23887:419::-;24053:4;24091:2;24080:9;24076:18;24068:26;;24140:9;24134:4;24130:20;24126:1;24115:9;24111:17;24104:47;24168:131;24294:4;24168:131;:::i;:::-;24160:139;;23887:419;;;:::o;24312:180::-;24360:77;24357:1;24350:88;24457:4;24454:1;24447:15;24481:4;24478:1;24471:15;24498:180;24546:77;24543:1;24536:88;24643:4;24640:1;24633:15;24667:4;24664:1;24657:15;24684:143;24741:5;24772:6;24766:13;24757:22;;24788:33;24815:5;24788:33;:::i;:::-;24684:143;;;;:::o;24833:351::-;24903:6;24952:2;24940:9;24931:7;24927:23;24923:32;24920:119;;;24958:79;;:::i;:::-;24920:119;25078:1;25103:64;25159:7;25150:6;25139:9;25135:22;25103:64;:::i;:::-;25093:74;;25049:128;24833:351;;;;:::o;25190:114::-;25257:6;25291:5;25285:12;25275:22;;25190:114;;;:::o;25310:184::-;25409:11;25443:6;25438:3;25431:19;25483:4;25478:3;25474:14;25459:29;;25310:184;;;;:::o;25500:132::-;25567:4;25590:3;25582:11;;25620:4;25615:3;25611:14;25603:22;;25500:132;;;:::o;25638:108::-;25715:24;25733:5;25715:24;:::i;:::-;25710:3;25703:37;25638:108;;:::o;25752:179::-;25821:10;25842:46;25884:3;25876:6;25842:46;:::i;:::-;25920:4;25915:3;25911:14;25897:28;;25752:179;;;;:::o;25937:113::-;26007:4;26039;26034:3;26030:14;26022:22;;25937:113;;;:::o;26086:732::-;26205:3;26234:54;26282:5;26234:54;:::i;:::-;26304:86;26383:6;26378:3;26304:86;:::i;:::-;26297:93;;26414:56;26464:5;26414:56;:::i;:::-;26493:7;26524:1;26509:284;26534:6;26531:1;26528:13;26509:284;;;26610:6;26604:13;26637:63;26696:3;26681:13;26637:63;:::i;:::-;26630:70;;26723:60;26776:6;26723:60;:::i;:::-;26713:70;;26569:224;26556:1;26553;26549:9;26544:14;;26509:284;;;26513:14;26809:3;26802:10;;26210:608;;;26086:732;;;;:::o;26824:831::-;27087:4;27125:3;27114:9;27110:19;27102:27;;27139:71;27207:1;27196:9;27192:17;27183:6;27139:71;:::i;:::-;27220:80;27296:2;27285:9;27281:18;27272:6;27220:80;:::i;:::-;27347:9;27341:4;27337:20;27332:2;27321:9;27317:18;27310:48;27375:108;27478:4;27469:6;27375:108;:::i;:::-;27367:116;;27493:72;27561:2;27550:9;27546:18;27537:6;27493:72;:::i;:::-;27575:73;27643:3;27632:9;27628:19;27619:6;27575:73;:::i;:::-;26824:831;;;;;;;;:::o;27661:177::-;27801:29;27797:1;27789:6;27785:14;27778:53;27661:177;:::o;27844:366::-;27986:3;28007:67;28071:2;28066:3;28007:67;:::i;:::-;28000:74;;28083:93;28172:3;28083:93;:::i;:::-;28201:2;28196:3;28192:12;28185:19;;27844:366;;;:::o;28216:419::-;28382:4;28420:2;28409:9;28405:18;28397:26;;28469:9;28463:4;28459:20;28455:1;28444:9;28440:17;28433:47;28497:131;28623:4;28497:131;:::i;:::-;28489:139;;28216:419;;;:::o

Swarm Source

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