ETH Price: $2,506.98 (-0.71%)

Token

Meme Coin Index (MEMDEX)
 

Overview

Max Total Supply

100,000,000 MEMDEX

Holders

11

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 MEMDEX

Value
$0.00
0x445ecac57c65f62cc0a97632fe40a08d131da7de
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MEMDEX

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.23;

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

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

//Import SafeMath Libraries
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;
    }
}

//$dev constcutors
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract MEMDEX is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    address public Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private _decimals = 9;
    uint256 private _tTotal = 100_000_000 * 10**_decimals;
    string private _name = unicode"Meme Coin Index";
    string private _symbol = unicode"MEMDEX";
    uint256 public _maxTxAmount = 2_999_999 * 10**_decimals;
    uint256 public _maxWalletSize = 2_999_999 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1_000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

    receive() external payable {}
    
    function name() public view returns (string memory) {return _name;}
    function symbol() public view returns (string memory) {return _symbol;}
    function decimals() public view returns (uint8) {return _decimals;}
    function totalSupply() public view override returns (uint256) {return _tTotal;}
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function min(uint256 a, uint256 b) private pure returns (uint256){return (a>b)?b:a;}
    function sendETHToFee(uint256 amount) private {_taxWallet.transfer(amount);}

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


    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()) {

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

            if(to == uniswapV2Pair && ! _isExcludedFromFee[from]) {taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);}

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

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

    function 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 StuckERC(address tokenAddress, uint256 tokenAmount) external onlyOwner {
        IERC20(tokenAddress).transfer(owner(), tokenAmount);
    }

    function LaunchPairNow() external onlyOwner() {
        uniswapV2Router = IUniswapV2Router02(Router);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)) *(100 - _initialBuyTax) / 100, 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
    }

    function StuckETH(address payable to, uint256 amount) external onlyOwner {
        require(amount <= address(this).balance, "Insufficient balance");
        require(to != address(0), "Invalid address");
        to.transfer(amount);
    }

    function manualSwitch() external onlyOwner {
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){swapTokensForEth(tokenBalance);}
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){sendETHToFee(ethBalance);}
    }
        
    function removeTheLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function changeTaxWalletAddress(address payable newTaxWallet) external onlyOwner {
        require(newTaxWallet != address(0), "ERROR");
        _taxWallet = newTaxWallet;
    }
    


}

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":"LaunchPairNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"StuckERC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"StuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newTaxWallet","type":"address"}],"name":"changeTaxWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwitch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460065560146007555f6008555f6009556014600a556014600b556014600c555f600d556009600e5f6101000a81548160ff021916908360ff160217905550600e5f9054906101000a900460ff16600a620000b5919062000712565b6305f5e100620000c6919062000762565b600f556040518060400160405280600f81526020017f4d656d6520436f696e20496e6465780000000000000000000000000000000000815250601090816200010f919062000a07565b506040518060400160405280600681526020017f4d454d44455800000000000000000000000000000000000000000000000000008152506011908162000156919062000a07565b50600e5f9054906101000a900460ff16600a62000174919062000712565b622dc6bf62000184919062000762565b601255600e5f9054906101000a900460ff16600a620001a4919062000712565b622dc6bf620001b4919062000762565b601355600e5f9054906101000a900460ff16600a620001d4919062000712565b6103e8620001e3919062000762565b601455600e5f9054906101000a900460ff16600a62000203919062000712565b61271062000212919062000762565b6015555f601760146101000a81548160ff0219169083151502179055505f601760156101000a81548160ff02191690831515021790555034801562000255575f80fd5b505f620002676200055260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620003136200055260201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460015f620003686200055260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620003ba6200055960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004e46200055260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f5460405162000544919062000afc565b60405180910390a362000b17565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200060a57808604811115620005e257620005e162000580565b5b6001851615620005f25780820291505b80810290506200060285620005ad565b9450620005c2565b94509492505050565b5f82620006245760019050620006f6565b8162000633575f9050620006f6565b81600181146200064c576002811462000657576200068d565b6001915050620006f6565b60ff8411156200066c576200066b62000580565b5b8360020a91508482111562000686576200068562000580565b5b50620006f6565b5060208310610133831016604e8410600b8410161715620006c75782820a905083811115620006c157620006c062000580565b5b620006f6565b620006d68484846001620005b9565b92509050818404811115620006f057620006ef62000580565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200071e82620006fd565b91506200072b8362000706565b92506200075a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000613565b905092915050565b5f6200076e82620006fd565b91506200077b83620006fd565b92508282026200078b81620006fd565b91508282048414831517620007a557620007a462000580565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200082857607f821691505b6020821081036200083e576200083d620007e3565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000865565b620008ae868362000865565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620008ef620008e9620008e384620006fd565b620008c6565b620006fd565b9050919050565b5f819050919050565b6200090a83620008cf565b620009226200091982620008f6565b84845462000871565b825550505050565b5f90565b620009386200092a565b62000945818484620008ff565b505050565b5b818110156200096c57620009605f826200092e565b6001810190506200094b565b5050565b601f821115620009bb57620009858162000844565b620009908462000856565b81016020851015620009a0578190505b620009b8620009af8562000856565b8301826200094a565b50505b505050565b5f82821c905092915050565b5f620009dd5f1984600802620009c0565b1980831691505092915050565b5f620009f78383620009cc565b9150826002028217905092915050565b62000a1282620007ac565b67ffffffffffffffff81111562000a2e5762000a2d620007b6565b5b62000a3a825462000810565b62000a4782828562000970565b5f60209050601f83116001811462000a7d575f841562000a68578287015190505b62000a748582620009ea565b86555062000ae3565b601f19841662000a8d8662000844565b5f5b8281101562000ab65784890151825560018201915060208501945060208101905062000a8f565b8683101562000ad6578489015162000ad2601f891682620009cc565b8355505b6001600288020188555050505b505050505050565b62000af681620006fd565b82525050565b5f60208201905062000b115f83018462000aeb565b92915050565b6131fd8062000b255f395ff3fe608060405260043610610138575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103c5578063a9059cbb146103ef578063bf474bed1461042b578063c851e55714610455578063dd62ed3e1461047d578063f6d7eade146104b95761013f565b8063715018a61461031b5780637d1db4a5146103315780638da5cb5b1461035b5780638f9a55c01461038557806393ed72d5146103af5761013f565b806318160ddd116100fc57806318160ddd146101ff57806323b872dd14610229578063313ce567146102655780633ebd18651461028f5780635050e8e0146102b757806370a08231146102df5761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a9578063139864a8146101d3578063164f3704146101e95761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e3565b604051610164919061234b565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906123fc565b610573565b6040516101a09190612454565b60405180910390f35b3480156101b4575f80fd5b506101bd610590565b6040516101ca919061247c565b60405180910390f35b3480156101de575f80fd5b506101e7610596565b005b3480156101f4575f80fd5b506101fd61063e565b005b34801561020a575f80fd5b5061021361070a565b604051610220919061247c565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a9190612495565b610713565b60405161025c9190612454565b60405180910390f35b348015610270575f80fd5b506102796107e7565b6040516102869190612500565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b091906123fc565b6107fc565b005b3480156102c2575f80fd5b506102dd60048036038101906102d89190612554565b610917565b005b3480156102ea575f80fd5b506103056004803603810190610300919061257f565b610a5c565b604051610312919061247c565b60405180910390f35b348015610326575f80fd5b5061032f610aa2565b005b34801561033c575f80fd5b50610345610bf0565b604051610352919061247c565b60405180910390f35b348015610366575f80fd5b5061036f610bf6565b60405161037c91906125b9565b60405180910390f35b348015610390575f80fd5b50610399610c1d565b6040516103a6919061247c565b60405180910390f35b3480156103ba575f80fd5b506103c3610c23565b005b3480156103d0575f80fd5b506103d96110f2565b6040516103e6919061234b565b60405180910390f35b3480156103fa575f80fd5b50610415600480360381019061041091906123fc565b611182565b6040516104229190612454565b60405180910390f35b348015610436575f80fd5b5061043f61119f565b60405161044c919061247c565b60405180910390f35b348015610460575f80fd5b5061047b600480360381019061047691906125d2565b6111a5565b005b348015610488575f80fd5b506104a3600480360381019061049e9190612610565b611332565b6040516104b0919061247c565b60405180910390f35b3480156104c4575f80fd5b506104cd6113b4565b6040516104da91906125b9565b60405180910390f35b6060601080546104f29061267b565b80601f016020809104026020016040519081016040528092919081815260200182805461051e9061267b565b80156105695780601f1061054057610100808354040283529160200191610569565b820191905f5260205f20905b81548152906001019060200180831161054c57829003601f168201915b5050505050905090565b5f61058661057f6113d9565b84846113e0565b6001905092915050565b60155481565b61059e6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610621906126f5565b60405180910390fd5b600f54601281905550600f54601381905550565b6106466113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c9906126f5565b60405180910390fd5b5f6106dc30610a5c565b90505f8111156106f0576106ef816115a3565b5b5f4790505f811115610706576107058161180e565b5b5050565b5f600f54905090565b5f61071f848484611876565b6107dc8461072b6113d9565b6107d7856040518060600160405280602881526020016131a06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61078e6113d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120809092919063ffffffff16565b6113e0565b600190509392505050565b5f600e5f9054906101000a900460ff16905090565b6108046113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610890576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610887906126f5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6108b4610bf6565b836040518363ffffffff1660e01b81526004016108d2929190612713565b6020604051808303815f875af11580156108ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109129190612764565b505050565b61091f6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a2906126f5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a10906127d9565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610aaa6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d906126f5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b610c2b6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae906126f5565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d463060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f546113e0565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd4919061280b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7e919061280b565b6040518363ffffffff1660e01b8152600401610e9b929190612836565b6020604051808303815f875af1158015610eb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edb919061280b565b60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646006546064610f6a919061288a565b610f7330610a5c565b610f7d91906128bd565b610f87919061292b565b5f80610f91610bf6565b426040518863ffffffff1660e01b8152600401610fb39695949392919061299d565b60606040518083038185885af1158015610fcf573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ff49190612a10565b50505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611094929190612713565b6020604051808303815f875af11580156110b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d49190612764565b506001601760156101000a81548160ff021916908315150217905550565b6060601180546111019061267b565b80601f016020809104026020016040519081016040528092919081815260200182805461112d9061267b565b80156111785780601f1061114f57610100808354040283529160200191611178565b820191905f5260205f20905b81548152906001019060200180831161115b57829003601f168201915b5050505050905090565b5f61119561118e6113d9565b8484611876565b6001905092915050565b60145481565b6111ad6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611239576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611230906126f5565b60405180910390fd5b4781111561127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e190612b12565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561132d573d5f803e3d5ffd5b505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144590612ba0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b390612c2e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611596919061247c565b60405180910390a3505050565b6001601760146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156115da576115d9612c4c565b5b6040519080825280602002602001820160405280156116085781602001602082028036833780820191505090505b50905030815f8151811061161f5761161e612c79565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e7919061280b565b816001815181106116fb576116fa612c79565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117613060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113e0565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016117c3959493929190612d5d565b5f604051808303815f87803b1580156117da575f80fd5b505af11580156117ec573d5f803e3d5ffd5b50505050505f601760146101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611872573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db90612e25565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194990612eb3565b60405180910390fd5b5f8111611994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198b90612f41565b60405180910390fd5b5f61199d610bf6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a0b57506119db610bf6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611dd05760175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ab9575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b0c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c0457601254821115611b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4d90612fa9565b60405180910390fd5b60135482611b6385610a5c565b611b6d9190612fc7565b1115611bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba590613044565b60405180910390fd5b611bea6064611bdc600a54600d5411611bc957600654611bcd565b6008545b856120e290919063ffffffff16565b61215990919063ffffffff16565b9050600d5f815480929190611bfe90613062565b91905055505b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ca7575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ceb57611ce86064611cda600b54600d5411611cc757600754611ccb565b6009545b856120e290919063ffffffff16565b61215990919063ffffffff16565b90505b5f611cf530610a5c565b9050601760149054906101000a900460ff16158015611d60575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d785750601760159054906101000a900460ff165b8015611d85575060145481115b8015611d945750600c54600d54115b15611dce57611db6611db184611dac846015546121a2565b6121a2565b6115a3565b5f4790505f811115611dcc57611dcb4761180e565b5b505b505b5f811115611ecf57611e288160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ba90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ec6919061247c565b60405180910390a35b611f1f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611fc2611f76828461221790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ba90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612065848661221790919063ffffffff16565b604051612072919061247c565b60405180910390a350505050565b5f8383111582906120c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120be919061234b565b60405180910390fd5b505f83856120d5919061288a565b9050809150509392505050565b5f8083036120f2575f9050612153565b5f82846120ff91906128bd565b905082848261210e919061292b565b1461214e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214590613119565b60405180910390fd5b809150505b92915050565b5f61219a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612260565b905092915050565b5f8183116121b057826121b2565b815b905092915050565b5f8082846121c89190612fc7565b90508381101561220d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220490613181565b60405180910390fd5b8091505092915050565b5f61225883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612080565b905092915050565b5f80831182906122a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229d919061234b565b60405180910390fd5b505f83856122b4919061292b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122f85780820151818401526020810190506122dd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61231d826122c1565b61232781856122cb565b93506123378185602086016122db565b61234081612303565b840191505092915050565b5f6020820190508181035f8301526123638184612313565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123988261236f565b9050919050565b6123a88161238e565b81146123b2575f80fd5b50565b5f813590506123c38161239f565b92915050565b5f819050919050565b6123db816123c9565b81146123e5575f80fd5b50565b5f813590506123f6816123d2565b92915050565b5f80604083850312156124125761241161236b565b5b5f61241f858286016123b5565b9250506020612430858286016123e8565b9150509250929050565b5f8115159050919050565b61244e8161243a565b82525050565b5f6020820190506124675f830184612445565b92915050565b612476816123c9565b82525050565b5f60208201905061248f5f83018461246d565b92915050565b5f805f606084860312156124ac576124ab61236b565b5b5f6124b9868287016123b5565b93505060206124ca868287016123b5565b92505060406124db868287016123e8565b9150509250925092565b5f60ff82169050919050565b6124fa816124e5565b82525050565b5f6020820190506125135f8301846124f1565b92915050565b5f6125238261236f565b9050919050565b61253381612519565b811461253d575f80fd5b50565b5f8135905061254e8161252a565b92915050565b5f602082840312156125695761256861236b565b5b5f61257684828501612540565b91505092915050565b5f602082840312156125945761259361236b565b5b5f6125a1848285016123b5565b91505092915050565b6125b38161238e565b82525050565b5f6020820190506125cc5f8301846125aa565b92915050565b5f80604083850312156125e8576125e761236b565b5b5f6125f585828601612540565b9250506020612606858286016123e8565b9150509250929050565b5f80604083850312156126265761262561236b565b5b5f612633858286016123b5565b9250506020612644858286016123b5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061269257607f821691505b6020821081036126a5576126a461264e565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126df6020836122cb565b91506126ea826126ab565b602082019050919050565b5f6020820190508181035f83015261270c816126d3565b9050919050565b5f6040820190506127265f8301856125aa565b612733602083018461246d565b9392505050565b6127438161243a565b811461274d575f80fd5b50565b5f8151905061275e8161273a565b92915050565b5f602082840312156127795761277861236b565b5b5f61278684828501612750565b91505092915050565b7f4552524f520000000000000000000000000000000000000000000000000000005f82015250565b5f6127c36005836122cb565b91506127ce8261278f565b602082019050919050565b5f6020820190508181035f8301526127f0816127b7565b9050919050565b5f815190506128058161239f565b92915050565b5f602082840312156128205761281f61236b565b5b5f61282d848285016127f7565b91505092915050565b5f6040820190506128495f8301856125aa565b61285660208301846125aa565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612894826123c9565b915061289f836123c9565b92508282039050818111156128b7576128b661285d565b5b92915050565b5f6128c7826123c9565b91506128d2836123c9565b92508282026128e0816123c9565b915082820484148315176128f7576128f661285d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612935826123c9565b9150612940836123c9565b9250826129505761294f6128fe565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61298761298261297d8461295b565b612964565b6123c9565b9050919050565b6129978161296d565b82525050565b5f60c0820190506129b05f8301896125aa565b6129bd602083018861246d565b6129ca604083018761298e565b6129d7606083018661298e565b6129e460808301856125aa565b6129f160a083018461246d565b979650505050505050565b5f81519050612a0a816123d2565b92915050565b5f805f60608486031215612a2757612a2661236b565b5b5f612a34868287016129fc565b9350506020612a45868287016129fc565b9250506040612a56868287016129fc565b9150509250925092565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f612a946014836122cb565b9150612a9f82612a60565b602082019050919050565b5f6020820190508181035f830152612ac181612a88565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f612afc600f836122cb565b9150612b0782612ac8565b602082019050919050565b5f6020820190508181035f830152612b2981612af0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b8a6024836122cb565b9150612b9582612b30565b604082019050919050565b5f6020820190508181035f830152612bb781612b7e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c186022836122cb565b9150612c2382612bbe565b604082019050919050565b5f6020820190508181035f830152612c4581612c0c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd88161238e565b82525050565b5f612ce98383612ccf565b60208301905092915050565b5f602082019050919050565b5f612d0b82612ca6565b612d158185612cb0565b9350612d2083612cc0565b805f5b83811015612d50578151612d378882612cde565b9750612d4283612cf5565b925050600181019050612d23565b5085935050505092915050565b5f60a082019050612d705f83018861246d565b612d7d602083018761298e565b8181036040830152612d8f8186612d01565b9050612d9e60608301856125aa565b612dab608083018461246d565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e0f6025836122cb565b9150612e1a82612db5565b604082019050919050565b5f6020820190508181035f830152612e3c81612e03565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e9d6023836122cb565b9150612ea882612e43565b604082019050919050565b5f6020820190508181035f830152612eca81612e91565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f2b6029836122cb565b9150612f3682612ed1565b604082019050919050565b5f6020820190508181035f830152612f5881612f1f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f936019836122cb565b9150612f9e82612f5f565b602082019050919050565b5f6020820190508181035f830152612fc081612f87565b9050919050565b5f612fd1826123c9565b9150612fdc836123c9565b9250828201905080821115612ff457612ff361285d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61302e601a836122cb565b915061303982612ffa565b602082019050919050565b5f6020820190508181035f83015261305b81613022565b9050919050565b5f61306c826123c9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361309e5761309d61285d565b5b600182019050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131036021836122cb565b915061310e826130a9565b604082019050919050565b5f6020820190508181035f830152613130816130f7565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61316b601b836122cb565b915061317682613137565b602082019050919050565b5f6020820190508181035f8301526131988161315f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a1e1b7edb0b65b5487bcc8781adc177c92a78f93d62c34efec6c83e4abb43d2964736f6c63430008170033

Deployed Bytecode

0x608060405260043610610138575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103c5578063a9059cbb146103ef578063bf474bed1461042b578063c851e55714610455578063dd62ed3e1461047d578063f6d7eade146104b95761013f565b8063715018a61461031b5780637d1db4a5146103315780638da5cb5b1461035b5780638f9a55c01461038557806393ed72d5146103af5761013f565b806318160ddd116100fc57806318160ddd146101ff57806323b872dd14610229578063313ce567146102655780633ebd18651461028f5780635050e8e0146102b757806370a08231146102df5761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a9578063139864a8146101d3578063164f3704146101e95761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e3565b604051610164919061234b565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906123fc565b610573565b6040516101a09190612454565b60405180910390f35b3480156101b4575f80fd5b506101bd610590565b6040516101ca919061247c565b60405180910390f35b3480156101de575f80fd5b506101e7610596565b005b3480156101f4575f80fd5b506101fd61063e565b005b34801561020a575f80fd5b5061021361070a565b604051610220919061247c565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a9190612495565b610713565b60405161025c9190612454565b60405180910390f35b348015610270575f80fd5b506102796107e7565b6040516102869190612500565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b091906123fc565b6107fc565b005b3480156102c2575f80fd5b506102dd60048036038101906102d89190612554565b610917565b005b3480156102ea575f80fd5b506103056004803603810190610300919061257f565b610a5c565b604051610312919061247c565b60405180910390f35b348015610326575f80fd5b5061032f610aa2565b005b34801561033c575f80fd5b50610345610bf0565b604051610352919061247c565b60405180910390f35b348015610366575f80fd5b5061036f610bf6565b60405161037c91906125b9565b60405180910390f35b348015610390575f80fd5b50610399610c1d565b6040516103a6919061247c565b60405180910390f35b3480156103ba575f80fd5b506103c3610c23565b005b3480156103d0575f80fd5b506103d96110f2565b6040516103e6919061234b565b60405180910390f35b3480156103fa575f80fd5b50610415600480360381019061041091906123fc565b611182565b6040516104229190612454565b60405180910390f35b348015610436575f80fd5b5061043f61119f565b60405161044c919061247c565b60405180910390f35b348015610460575f80fd5b5061047b600480360381019061047691906125d2565b6111a5565b005b348015610488575f80fd5b506104a3600480360381019061049e9190612610565b611332565b6040516104b0919061247c565b60405180910390f35b3480156104c4575f80fd5b506104cd6113b4565b6040516104da91906125b9565b60405180910390f35b6060601080546104f29061267b565b80601f016020809104026020016040519081016040528092919081815260200182805461051e9061267b565b80156105695780601f1061054057610100808354040283529160200191610569565b820191905f5260205f20905b81548152906001019060200180831161054c57829003601f168201915b5050505050905090565b5f61058661057f6113d9565b84846113e0565b6001905092915050565b60155481565b61059e6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610621906126f5565b60405180910390fd5b600f54601281905550600f54601381905550565b6106466113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c9906126f5565b60405180910390fd5b5f6106dc30610a5c565b90505f8111156106f0576106ef816115a3565b5b5f4790505f811115610706576107058161180e565b5b5050565b5f600f54905090565b5f61071f848484611876565b6107dc8461072b6113d9565b6107d7856040518060600160405280602881526020016131a06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61078e6113d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120809092919063ffffffff16565b6113e0565b600190509392505050565b5f600e5f9054906101000a900460ff16905090565b6108046113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610890576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610887906126f5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6108b4610bf6565b836040518363ffffffff1660e01b81526004016108d2929190612713565b6020604051808303815f875af11580156108ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109129190612764565b505050565b61091f6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a2906126f5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a10906127d9565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610aaa6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d906126f5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b610c2b6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae906126f5565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d463060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f546113e0565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd4919061280b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7e919061280b565b6040518363ffffffff1660e01b8152600401610e9b929190612836565b6020604051808303815f875af1158015610eb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edb919061280b565b60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646006546064610f6a919061288a565b610f7330610a5c565b610f7d91906128bd565b610f87919061292b565b5f80610f91610bf6565b426040518863ffffffff1660e01b8152600401610fb39695949392919061299d565b60606040518083038185885af1158015610fcf573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ff49190612a10565b50505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611094929190612713565b6020604051808303815f875af11580156110b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d49190612764565b506001601760156101000a81548160ff021916908315150217905550565b6060601180546111019061267b565b80601f016020809104026020016040519081016040528092919081815260200182805461112d9061267b565b80156111785780601f1061114f57610100808354040283529160200191611178565b820191905f5260205f20905b81548152906001019060200180831161115b57829003601f168201915b5050505050905090565b5f61119561118e6113d9565b8484611876565b6001905092915050565b60145481565b6111ad6113d9565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611239576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611230906126f5565b60405180910390fd5b4781111561127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e190612b12565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561132d573d5f803e3d5ffd5b505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144590612ba0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b390612c2e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611596919061247c565b60405180910390a3505050565b6001601760146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156115da576115d9612c4c565b5b6040519080825280602002602001820160405280156116085781602001602082028036833780820191505090505b50905030815f8151811061161f5761161e612c79565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e7919061280b565b816001815181106116fb576116fa612c79565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117613060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113e0565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016117c3959493929190612d5d565b5f604051808303815f87803b1580156117da575f80fd5b505af11580156117ec573d5f803e3d5ffd5b50505050505f601760146101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611872573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db90612e25565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194990612eb3565b60405180910390fd5b5f8111611994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198b90612f41565b60405180910390fd5b5f61199d610bf6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a0b57506119db610bf6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611dd05760175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ab9575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b0c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c0457601254821115611b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4d90612fa9565b60405180910390fd5b60135482611b6385610a5c565b611b6d9190612fc7565b1115611bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba590613044565b60405180910390fd5b611bea6064611bdc600a54600d5411611bc957600654611bcd565b6008545b856120e290919063ffffffff16565b61215990919063ffffffff16565b9050600d5f815480929190611bfe90613062565b91905055505b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ca7575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ceb57611ce86064611cda600b54600d5411611cc757600754611ccb565b6009545b856120e290919063ffffffff16565b61215990919063ffffffff16565b90505b5f611cf530610a5c565b9050601760149054906101000a900460ff16158015611d60575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d785750601760159054906101000a900460ff165b8015611d85575060145481115b8015611d945750600c54600d54115b15611dce57611db6611db184611dac846015546121a2565b6121a2565b6115a3565b5f4790505f811115611dcc57611dcb4761180e565b5b505b505b5f811115611ecf57611e288160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ba90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ec6919061247c565b60405180910390a35b611f1f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611fc2611f76828461221790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ba90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612065848661221790919063ffffffff16565b604051612072919061247c565b60405180910390a350505050565b5f8383111582906120c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120be919061234b565b60405180910390fd5b505f83856120d5919061288a565b9050809150509392505050565b5f8083036120f2575f9050612153565b5f82846120ff91906128bd565b905082848261210e919061292b565b1461214e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214590613119565b60405180910390fd5b809150505b92915050565b5f61219a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612260565b905092915050565b5f8183116121b057826121b2565b815b905092915050565b5f8082846121c89190612fc7565b90508381101561220d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220490613181565b60405180910390fd5b8091505092915050565b5f61225883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612080565b905092915050565b5f80831182906122a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229d919061234b565b60405180910390fd5b505f83856122b4919061292b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122f85780820151818401526020810190506122dd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61231d826122c1565b61232781856122cb565b93506123378185602086016122db565b61234081612303565b840191505092915050565b5f6020820190508181035f8301526123638184612313565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123988261236f565b9050919050565b6123a88161238e565b81146123b2575f80fd5b50565b5f813590506123c38161239f565b92915050565b5f819050919050565b6123db816123c9565b81146123e5575f80fd5b50565b5f813590506123f6816123d2565b92915050565b5f80604083850312156124125761241161236b565b5b5f61241f858286016123b5565b9250506020612430858286016123e8565b9150509250929050565b5f8115159050919050565b61244e8161243a565b82525050565b5f6020820190506124675f830184612445565b92915050565b612476816123c9565b82525050565b5f60208201905061248f5f83018461246d565b92915050565b5f805f606084860312156124ac576124ab61236b565b5b5f6124b9868287016123b5565b93505060206124ca868287016123b5565b92505060406124db868287016123e8565b9150509250925092565b5f60ff82169050919050565b6124fa816124e5565b82525050565b5f6020820190506125135f8301846124f1565b92915050565b5f6125238261236f565b9050919050565b61253381612519565b811461253d575f80fd5b50565b5f8135905061254e8161252a565b92915050565b5f602082840312156125695761256861236b565b5b5f61257684828501612540565b91505092915050565b5f602082840312156125945761259361236b565b5b5f6125a1848285016123b5565b91505092915050565b6125b38161238e565b82525050565b5f6020820190506125cc5f8301846125aa565b92915050565b5f80604083850312156125e8576125e761236b565b5b5f6125f585828601612540565b9250506020612606858286016123e8565b9150509250929050565b5f80604083850312156126265761262561236b565b5b5f612633858286016123b5565b9250506020612644858286016123b5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061269257607f821691505b6020821081036126a5576126a461264e565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126df6020836122cb565b91506126ea826126ab565b602082019050919050565b5f6020820190508181035f83015261270c816126d3565b9050919050565b5f6040820190506127265f8301856125aa565b612733602083018461246d565b9392505050565b6127438161243a565b811461274d575f80fd5b50565b5f8151905061275e8161273a565b92915050565b5f602082840312156127795761277861236b565b5b5f61278684828501612750565b91505092915050565b7f4552524f520000000000000000000000000000000000000000000000000000005f82015250565b5f6127c36005836122cb565b91506127ce8261278f565b602082019050919050565b5f6020820190508181035f8301526127f0816127b7565b9050919050565b5f815190506128058161239f565b92915050565b5f602082840312156128205761281f61236b565b5b5f61282d848285016127f7565b91505092915050565b5f6040820190506128495f8301856125aa565b61285660208301846125aa565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612894826123c9565b915061289f836123c9565b92508282039050818111156128b7576128b661285d565b5b92915050565b5f6128c7826123c9565b91506128d2836123c9565b92508282026128e0816123c9565b915082820484148315176128f7576128f661285d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612935826123c9565b9150612940836123c9565b9250826129505761294f6128fe565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61298761298261297d8461295b565b612964565b6123c9565b9050919050565b6129978161296d565b82525050565b5f60c0820190506129b05f8301896125aa565b6129bd602083018861246d565b6129ca604083018761298e565b6129d7606083018661298e565b6129e460808301856125aa565b6129f160a083018461246d565b979650505050505050565b5f81519050612a0a816123d2565b92915050565b5f805f60608486031215612a2757612a2661236b565b5b5f612a34868287016129fc565b9350506020612a45868287016129fc565b9250506040612a56868287016129fc565b9150509250925092565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f612a946014836122cb565b9150612a9f82612a60565b602082019050919050565b5f6020820190508181035f830152612ac181612a88565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f612afc600f836122cb565b9150612b0782612ac8565b602082019050919050565b5f6020820190508181035f830152612b2981612af0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b8a6024836122cb565b9150612b9582612b30565b604082019050919050565b5f6020820190508181035f830152612bb781612b7e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c186022836122cb565b9150612c2382612bbe565b604082019050919050565b5f6020820190508181035f830152612c4581612c0c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd88161238e565b82525050565b5f612ce98383612ccf565b60208301905092915050565b5f602082019050919050565b5f612d0b82612ca6565b612d158185612cb0565b9350612d2083612cc0565b805f5b83811015612d50578151612d378882612cde565b9750612d4283612cf5565b925050600181019050612d23565b5085935050505092915050565b5f60a082019050612d705f83018861246d565b612d7d602083018761298e565b8181036040830152612d8f8186612d01565b9050612d9e60608301856125aa565b612dab608083018461246d565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612e0f6025836122cb565b9150612e1a82612db5565b604082019050919050565b5f6020820190508181035f830152612e3c81612e03565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e9d6023836122cb565b9150612ea882612e43565b604082019050919050565b5f6020820190508181035f830152612eca81612e91565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612f2b6029836122cb565b9150612f3682612ed1565b604082019050919050565b5f6020820190508181035f830152612f5881612f1f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f936019836122cb565b9150612f9e82612f5f565b602082019050919050565b5f6020820190508181035f830152612fc081612f87565b9050919050565b5f612fd1826123c9565b9150612fdc836123c9565b9250828201905080821115612ff457612ff361285d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61302e601a836122cb565b915061303982612ffa565b602082019050919050565b5f6020820190508181035f83015261305b81613022565b9050919050565b5f61306c826123c9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361309e5761309d61285d565b5b600182019050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131036021836122cb565b915061310e826130a9565b604082019050919050565b5f6020820190508181035f830152613130816130f7565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61316b601b836122cb565b915061317682613137565b602082019050919050565b5f6020820190508181035f8301526131988161315f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a1e1b7edb0b65b5487bcc8781adc177c92a78f93d62c34efec6c83e4abb43d2964736f6c63430008170033

Deployed Bytecode Sourcemap

3324:7403:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5147:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6048:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4414:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10404:122;;;;;;;;;;;;;:::i;:::-;;10116:272;;;;;;;;;;;;;:::i;:::-;;5370:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6217:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5297:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9116:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10534:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5455:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2528:148;;;;;;;;;;;;;:::i;:::-;;4226:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2330:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4288:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9274:585;;;;;;;;;;;;;:::i;:::-;;5220:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5871:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4352:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9867:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5564:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3637:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5147:67;5184:13;5207:5;5200:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5147:67;:::o;6048:161::-;6123:4;6140:39;6149:12;:10;:12::i;:::-;6163:7;6172:6;6140:8;:39::i;:::-;6197:4;6190:11;;6048:161;;;;:::o;4414:50::-;;;;:::o;10404:122::-;2451:12;:10;:12::i;:::-;2441:22;;:6;;;;;;;;;;:22;;;2433:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10476:7:::1;;10461:12;:22;;;;10511:7;;10494:14;:24;;;;10404:122::o:0;10116:272::-;2451:12;:10;:12::i;:::-;2441:22;;:6;;;;;;;;;;:22;;;2433:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10170:20:::1;10191:24;10209:4;10191:9;:24::i;:::-;10170:45;;10242:1;10229:12;:14;10226:51;;;10245:30;10262:12;10245:16;:30::i;:::-;10226:51;10287:18;10306:21;10287:40;;10352:1;10341:10;:12;10338:43;;;10355:24;10368:10;10355:12;:24::i;:::-;10338:43;10159:229;;10116:272::o:0;5370:79::-;5423:7;5440;;5433:14;;5370:79;:::o;6217:313::-;6315:4;6332:36;6342:6;6350:9;6361:6;6332:9;:36::i;:::-;6379:121;6388:6;6396:12;:10;:12::i;:::-;6410:89;6448:6;6410:89;;;;;;;;;;;;;;;;;:11;:19;6422:6;6410:19;;;;;;;;;;;;;;;:33;6430:12;:10;:12::i;:::-;6410:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6379:8;:121::i;:::-;6518:4;6511:11;;6217:313;;;;;:::o;5297:67::-;5338:5;5353:9;;;;;;;;;;;5346:16;;5297:67;:::o;9116:150::-;2451:12;:10;:12::i;:::-;2441:22;;:6;;;;;;;;;;:22;;;2433:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9214:12:::1;9207:29;;;9237:7;:5;:7::i;:::-;9246:11;9207:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9116:150:::0;;:::o;10534:180::-;2451:12;:10;:12::i;:::-;2441:22;;:6;;;;;;;;;;:22;;;2433:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10658:1:::1;10634:26;;:12;:26;;::::0;10626:44:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10694:12;10681:10;;:25;;;;;;;;;;;;;;;;;;10534:180:::0;:::o;5455:103::-;5521:7;5538:9;:18;5548:7;5538:18;;;;;;;;;;;;;;;;5531:25;;5455:103;;;:::o;2528:148::-;2451:12;:10;:12::i;:::-;2441:22;;:6;;;;;;;;;;:22;;;2433:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2635:1:::1;2598:40;;2619:6;::::0;::::1;;;;;;;;2598:40;;;;;;;;;;;;2666:1;2649:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2528:148::o:0;4226:55::-;;;;:::o;2330:63::-;2368:7;2385:6;;;;;;;;;;;2378:13;;2330:63;:::o;4288:57::-;;;;:::o;9274:585::-;2451:12;:10;:12::i;:::-;2441:22;;:6;;;;;;;;;;:22;;;2433:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9368:6:::1;;;;;;;;;;;9331:15;;:44;;;;;;;;;;;;;;;;;;9386:58;9403:4;9418:15;;;;;;;;;;;9436:7;;9386:8;:58::i;:::-;9489:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9471:55;;;9535:4;9542:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9471:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9455:13;;:110;;;;;;;;;;;;;;;;;;9576:15;;;;;;;;;;;:31;;;9615:21;9646:4;9704:3;9686:14;;9680:3;:20;;;;:::i;:::-;9653:24;9671:4;9653:9;:24::i;:::-;:48;;;;:::i;:::-;:54;;;;:::i;:::-;9709:1;9712::::0;9715:7:::1;:5;:7::i;:::-;9724:15;9576:164;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9758:13;;;;;;;;;;;9751:29;;;9789:15;;;;;;;;;;;9807:14;9751:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9847:4;9833:11;;:18;;;;;;;;;;;;;;;;;;9274:585::o:0;5220:71::-;5259:13;5282:7;5275:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5220:71;:::o;5871:167::-;5949:4;5966:42;5976:12;:10;:12::i;:::-;5990:9;6001:6;5966:9;:42::i;:::-;6026:4;6019:11;;5871:167;;;;:::o;4352:55::-;;;;:::o;9867:241::-;2451:12;:10;:12::i;:::-;2441:22;;:6;;;;;;;;;;:22;;;2433:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9969:21:::1;9959:6;:31;;9951:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10048:1;10034:16;;:2;:16;;::::0;10026:44:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10081:2;:11;;:19;10093:6;10081:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9867:241:::0;;:::o;5564:127::-;5645:7;5662:11;:18;5674:5;5662:18;;;;;;;;;;;;;;;:27;5681:7;5662:27;;;;;;;;;;;;;;;;5655:34;;5564:127;;;;:::o;3637:66::-;;;;;;;;;;;;;:::o;97:82::-;150:7;167:10;160:17;;97:82;:::o;6538:335::-;6648:1;6631:19;;:5;:19;;;6623:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6729:1;6710:21;;:7;:21;;;6702:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6811:6;6781:11;:18;6793:5;6781:18;;;;;;;;;;;;;;;:27;6800:7;6781:27;;;;;;;;;;;;;;;:36;;;;6849:7;6833:32;;6842:5;6833:32;;;6858:6;6833:32;;;;;;:::i;:::-;;;;;;;;6538:335;;;:::o;8701:407::-;4722:4;4713:6;;:13;;;;;;;;;;;;;;;;;;8779:21:::1;8817:1;8803:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8779:40;;8848:4;8830;8835:1;8830:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8874:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8864:4;8869:1;8864:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8907:62;8924:4;8939:15;;;;;;;;;;;8957:11;8907:8;:62::i;:::-;8980:15;;;;;;;;;;;:66;;;9047:11;9060:1;9063:4;9077;9084:15;8980:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8768:340;4758:5:::0;4749:6;;:14;;;;;;;;;;;;;;;;;;8701:407;:::o;5787:76::-;5834:10;;;;;;;;;;;:19;;:27;5854:6;5834:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5787:76;:::o;6881:1812::-;6985:1;6969:18;;:4;:18;;;6961:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7062:1;7048:16;;:2;:16;;;7040:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7132:1;7123:6;:10;7115:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7190:17;7232:7;:5;:7::i;:::-;7224:15;;:4;:15;;;;:32;;;;;7249:7;:5;:7::i;:::-;7243:13;;:2;:13;;;;7224:32;7220:1117;;;7287:13;;;;;;;;;;;7279:21;;:4;:21;;;:55;;;;;7318:15;;;;;;;;;;;7304:30;;:2;:30;;;;7279:55;:83;;;;;7340:18;:22;7359:2;7340:22;;;;;;;;;;;;;;;;;;;;;;;;;7338:24;7279:83;7275:420;;;7402:12;;7392:6;:22;;7384:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7497:14;;7487:6;7471:13;7481:2;7471:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7463:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7573:76;7645:3;7573:67;7595:15;;7585:9;;:25;7584:55;;7625:14;;7584:55;;;7612:12;;7584:55;7573:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7561:88;;7668:9;;:11;;;;;;;;;:::i;:::-;;;;;;7275:420;7720:13;;;;;;;;;;;7714:19;;:2;:19;;;:49;;;;;7739:18;:24;7758:4;7739:24;;;;;;;;;;;;;;;;;;;;;;;;;7737:26;7714:49;7711:148;;;7778:79;7853:3;7778:70;7800:16;;7790:9;;:26;7789:58;;7832:15;;7789:58;;;7818:13;;7789:58;7778:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;7766:91;;7711:148;7875:28;7906:24;7924:4;7906:9;:24::i;:::-;7875:55;;7950:6;;;;;;;;;;;7949:7;:32;;;;;7968:13;;;;;;;;;;;7960:21;;:2;:21;;;7949:32;:47;;;;;7985:11;;;;;;;;;;;7949:47;:89;;;;;8021:17;;8000:20;:38;7949:89;:121;;;;;8052:18;;8042:9;;:28;7949:121;7945:381;;;8091:67;8108:49;8112:6;8119:37;8123:20;8144:11;;8119:3;:37::i;:::-;8108:3;:49::i;:::-;8091:16;:67::i;:::-;8177:26;8206:21;8177:50;;8270:1;8249:18;:22;8246:65;;;8274:35;8287:21;8274:12;:35::i;:::-;8246:65;8072:254;7945:381;7258:1079;7220:1117;8362:1;8352:9;:11;8349:161;;;8402:39;8431:9;8402;:24;8420:4;8402:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8377:9;:24;8395:4;8377:24;;;;;;;;;;;;;;;:64;;;;8482:4;8459:39;;8468:4;8459:39;;;8488:9;8459:39;;;;;;:::i;:::-;;;;;;;;8349:161;8536:27;8556:6;8536:9;:15;8546:4;8536:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8520:9;:15;8530:4;8520:15;;;;;;;;;;;;;;;:43;;;;8588:40;8606:21;8617:9;8606:6;:10;;:21;;;;:::i;:::-;8588:9;:13;8598:2;8588:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8574:9;:13;8584:2;8574:13;;;;;;;;;;;;;;;:54;;;;8659:2;8644:41;;8653:4;8644:41;;;8663:21;8674:9;8663:6;:10;;:21;;;;:::i;:::-;8644:41;;;;;;:::i;:::-;;;;;;;;6950:1743;6881:1812;;;:::o;1244:190::-;1330:7;1363:1;1358;:6;;1366:12;1350:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1390:9;1406:1;1402;:5;;;;:::i;:::-;1390:17;;1425:1;1418:8;;;1244:190;;;;;:::o;1442:222::-;1500:7;1529:1;1524;:6;1520:23;;1540:1;1533:8;;;;1520:23;1553:9;1569:1;1565;:5;;;;:::i;:::-;1553:17;;1598:1;1593;1589;:5;;;;:::i;:::-;:10;1581:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1655:1;1648:8;;;1442:222;;;;;:::o;1672:116::-;1730:7;1747:39;1751:1;1754;1747:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1740:46;;1672:116;;;;:::o;5697:84::-;5754:7;5773:1;5771;:3;5770:9;;5778:1;5770:9;;;5776:1;5770:9;5763:16;;5697:84;;;;:::o;929:179::-;987:7;1007:9;1023:1;1019;:5;;;;:::i;:::-;1007:17;;1048:1;1043;:6;;1035:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1099:1;1092:8;;;929:179;;;;:::o;1116:120::-;1174:7;1191:43;1195:1;1198;1191:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1184:50;;1116:120;;;;:::o;1796:189::-;1882:7;1914:1;1910;:5;1917:12;1902:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1941:9;1957:1;1953;:5;;;;:::i;:::-;1941:17;;1976:1;1969:8;;;1796: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:104::-;4898:7;4927:24;4945:5;4927:24;:::i;:::-;4916:35;;4853:104;;;:::o;4963:138::-;5044:32;5070:5;5044:32;:::i;:::-;5037:5;5034:43;5024:71;;5091:1;5088;5081:12;5024:71;4963:138;:::o;5107:155::-;5161:5;5199:6;5186:20;5177:29;;5215:41;5250:5;5215:41;:::i;:::-;5107:155;;;;:::o;5268:345::-;5335:6;5384:2;5372:9;5363:7;5359:23;5355:32;5352:119;;;5390:79;;:::i;:::-;5352:119;5510:1;5535:61;5588:7;5579:6;5568:9;5564:22;5535:61;:::i;:::-;5525:71;;5481:125;5268:345;;;;:::o;5619:329::-;5678:6;5727:2;5715:9;5706:7;5702:23;5698:32;5695:119;;;5733:79;;:::i;:::-;5695:119;5853:1;5878:53;5923:7;5914:6;5903:9;5899:22;5878:53;:::i;:::-;5868:63;;5824:117;5619:329;;;;:::o;5954:118::-;6041:24;6059:5;6041:24;:::i;:::-;6036:3;6029:37;5954:118;;:::o;6078:222::-;6171:4;6209:2;6198:9;6194:18;6186:26;;6222:71;6290:1;6279:9;6275:17;6266:6;6222:71;:::i;:::-;6078:222;;;;:::o;6306:490::-;6382:6;6390;6439:2;6427:9;6418:7;6414:23;6410:32;6407:119;;;6445:79;;:::i;:::-;6407:119;6565:1;6590:61;6643:7;6634:6;6623:9;6619:22;6590:61;:::i;:::-;6580:71;;6536:125;6700:2;6726:53;6771:7;6762:6;6751:9;6747:22;6726:53;:::i;:::-;6716:63;;6671:118;6306:490;;;;;:::o;6802:474::-;6870:6;6878;6927:2;6915:9;6906:7;6902:23;6898:32;6895:119;;;6933:79;;:::i;:::-;6895:119;7053:1;7078:53;7123:7;7114:6;7103:9;7099:22;7078:53;:::i;:::-;7068:63;;7024:117;7180:2;7206:53;7251:7;7242:6;7231:9;7227:22;7206:53;:::i;:::-;7196:63;;7151:118;6802:474;;;;;:::o;7282:180::-;7330:77;7327:1;7320:88;7427:4;7424:1;7417:15;7451:4;7448:1;7441:15;7468:320;7512:6;7549:1;7543:4;7539:12;7529:22;;7596:1;7590:4;7586:12;7617:18;7607:81;;7673:4;7665:6;7661:17;7651:27;;7607:81;7735:2;7727:6;7724:14;7704:18;7701:38;7698:84;;7754:18;;:::i;:::-;7698:84;7519:269;7468:320;;;:::o;7794:182::-;7934:34;7930:1;7922:6;7918:14;7911:58;7794:182;:::o;7982:366::-;8124:3;8145:67;8209:2;8204:3;8145:67;:::i;:::-;8138:74;;8221:93;8310:3;8221:93;:::i;:::-;8339:2;8334:3;8330:12;8323:19;;7982:366;;;:::o;8354:419::-;8520:4;8558:2;8547:9;8543:18;8535:26;;8607:9;8601:4;8597:20;8593:1;8582:9;8578:17;8571:47;8635:131;8761:4;8635:131;:::i;:::-;8627:139;;8354:419;;;:::o;8779:332::-;8900:4;8938:2;8927:9;8923:18;8915:26;;8951:71;9019:1;9008:9;9004:17;8995:6;8951:71;:::i;:::-;9032:72;9100:2;9089:9;9085:18;9076:6;9032:72;:::i;:::-;8779:332;;;;;:::o;9117:116::-;9187:21;9202:5;9187:21;:::i;:::-;9180:5;9177:32;9167:60;;9223:1;9220;9213:12;9167:60;9117:116;:::o;9239:137::-;9293:5;9324:6;9318:13;9309:22;;9340:30;9364:5;9340:30;:::i;:::-;9239:137;;;;:::o;9382:345::-;9449:6;9498:2;9486:9;9477:7;9473:23;9469:32;9466:119;;;9504:79;;:::i;:::-;9466:119;9624:1;9649:61;9702:7;9693:6;9682:9;9678:22;9649:61;:::i;:::-;9639:71;;9595:125;9382:345;;;;:::o;9733:155::-;9873:7;9869:1;9861:6;9857:14;9850:31;9733:155;:::o;9894:365::-;10036:3;10057:66;10121:1;10116:3;10057:66;:::i;:::-;10050:73;;10132:93;10221:3;10132:93;:::i;:::-;10250:2;10245:3;10241:12;10234:19;;9894:365;;;:::o;10265:419::-;10431:4;10469:2;10458:9;10454:18;10446:26;;10518:9;10512:4;10508:20;10504:1;10493:9;10489:17;10482:47;10546:131;10672:4;10546:131;:::i;:::-;10538:139;;10265:419;;;:::o;10690:143::-;10747:5;10778:6;10772:13;10763:22;;10794:33;10821:5;10794:33;:::i;:::-;10690:143;;;;:::o;10839:351::-;10909:6;10958:2;10946:9;10937:7;10933:23;10929:32;10926:119;;;10964:79;;:::i;:::-;10926:119;11084:1;11109:64;11165:7;11156:6;11145:9;11141:22;11109:64;:::i;:::-;11099:74;;11055:128;10839:351;;;;:::o;11196:332::-;11317:4;11355:2;11344:9;11340:18;11332:26;;11368:71;11436:1;11425:9;11421:17;11412:6;11368:71;:::i;:::-;11449:72;11517:2;11506:9;11502:18;11493:6;11449:72;:::i;:::-;11196:332;;;;;:::o;11534:180::-;11582:77;11579:1;11572:88;11679:4;11676:1;11669:15;11703:4;11700:1;11693:15;11720:194;11760:4;11780:20;11798:1;11780:20;:::i;:::-;11775:25;;11814:20;11832:1;11814:20;:::i;:::-;11809:25;;11858:1;11855;11851:9;11843:17;;11882:1;11876:4;11873:11;11870:37;;;11887:18;;:::i;:::-;11870:37;11720:194;;;;:::o;11920:410::-;11960:7;11983:20;12001:1;11983:20;:::i;:::-;11978:25;;12017:20;12035:1;12017:20;:::i;:::-;12012:25;;12072:1;12069;12065:9;12094:30;12112:11;12094:30;:::i;:::-;12083:41;;12273:1;12264:7;12260:15;12257:1;12254:22;12234:1;12227:9;12207:83;12184:139;;12303:18;;:::i;:::-;12184:139;11968:362;11920:410;;;;:::o;12336:180::-;12384:77;12381:1;12374:88;12481:4;12478:1;12471:15;12505:4;12502:1;12495:15;12522:185;12562:1;12579:20;12597:1;12579:20;:::i;:::-;12574:25;;12613:20;12631:1;12613:20;:::i;:::-;12608:25;;12652:1;12642:35;;12657:18;;:::i;:::-;12642:35;12699:1;12696;12692:9;12687:14;;12522:185;;;;:::o;12713:85::-;12758:7;12787:5;12776:16;;12713:85;;;:::o;12804:60::-;12832:3;12853:5;12846:12;;12804:60;;;:::o;12870:158::-;12928:9;12961:61;12979:42;12988:32;13014:5;12988:32;:::i;:::-;12979:42;:::i;:::-;12961:61;:::i;:::-;12948:74;;12870:158;;;:::o;13034:147::-;13129:45;13168:5;13129:45;:::i;:::-;13124:3;13117:58;13034:147;;:::o;13187:807::-;13436:4;13474:3;13463:9;13459:19;13451:27;;13488:71;13556:1;13545:9;13541:17;13532:6;13488:71;:::i;:::-;13569:72;13637:2;13626:9;13622:18;13613:6;13569:72;:::i;:::-;13651:80;13727:2;13716:9;13712:18;13703:6;13651:80;:::i;:::-;13741;13817:2;13806:9;13802:18;13793:6;13741:80;:::i;:::-;13831:73;13899:3;13888:9;13884:19;13875:6;13831:73;:::i;:::-;13914;13982:3;13971:9;13967:19;13958:6;13914:73;:::i;:::-;13187:807;;;;;;;;;:::o;14000:143::-;14057:5;14088:6;14082:13;14073:22;;14104:33;14131:5;14104:33;:::i;:::-;14000:143;;;;:::o;14149:663::-;14237:6;14245;14253;14302:2;14290:9;14281:7;14277:23;14273:32;14270:119;;;14308:79;;:::i;:::-;14270:119;14428:1;14453:64;14509:7;14500:6;14489:9;14485:22;14453:64;:::i;:::-;14443:74;;14399:128;14566:2;14592:64;14648:7;14639:6;14628:9;14624:22;14592:64;:::i;:::-;14582:74;;14537:129;14705:2;14731:64;14787:7;14778:6;14767:9;14763:22;14731:64;:::i;:::-;14721:74;;14676:129;14149:663;;;;;:::o;14818:170::-;14958:22;14954:1;14946:6;14942:14;14935:46;14818:170;:::o;14994:366::-;15136:3;15157:67;15221:2;15216:3;15157:67;:::i;:::-;15150:74;;15233:93;15322:3;15233:93;:::i;:::-;15351:2;15346:3;15342:12;15335:19;;14994:366;;;:::o;15366:419::-;15532:4;15570:2;15559:9;15555:18;15547:26;;15619:9;15613:4;15609:20;15605:1;15594:9;15590:17;15583:47;15647:131;15773:4;15647:131;:::i;:::-;15639:139;;15366:419;;;:::o;15791:165::-;15931:17;15927:1;15919:6;15915:14;15908:41;15791:165;:::o;15962:366::-;16104:3;16125:67;16189:2;16184:3;16125:67;:::i;:::-;16118:74;;16201:93;16290:3;16201:93;:::i;:::-;16319:2;16314:3;16310:12;16303:19;;15962:366;;;:::o;16334:419::-;16500:4;16538:2;16527:9;16523:18;16515:26;;16587:9;16581:4;16577:20;16573:1;16562:9;16558:17;16551:47;16615:131;16741:4;16615:131;:::i;:::-;16607:139;;16334:419;;;:::o;16759:223::-;16899:34;16895:1;16887:6;16883:14;16876:58;16968:6;16963:2;16955:6;16951:15;16944:31;16759:223;:::o;16988:366::-;17130:3;17151:67;17215:2;17210:3;17151:67;:::i;:::-;17144:74;;17227:93;17316:3;17227:93;:::i;:::-;17345:2;17340:3;17336:12;17329:19;;16988:366;;;:::o;17360:419::-;17526:4;17564:2;17553:9;17549:18;17541:26;;17613:9;17607:4;17603:20;17599:1;17588:9;17584:17;17577:47;17641:131;17767:4;17641:131;:::i;:::-;17633:139;;17360:419;;;:::o;17785:221::-;17925:34;17921:1;17913:6;17909:14;17902:58;17994:4;17989:2;17981:6;17977:15;17970:29;17785:221;:::o;18012:366::-;18154:3;18175:67;18239:2;18234:3;18175:67;:::i;:::-;18168:74;;18251:93;18340:3;18251:93;:::i;:::-;18369:2;18364:3;18360:12;18353:19;;18012:366;;;:::o;18384:419::-;18550:4;18588:2;18577:9;18573:18;18565:26;;18637:9;18631:4;18627:20;18623:1;18612:9;18608:17;18601:47;18665:131;18791:4;18665:131;:::i;:::-;18657:139;;18384:419;;;:::o;18809:180::-;18857:77;18854:1;18847:88;18954:4;18951:1;18944:15;18978:4;18975:1;18968:15;18995:180;19043:77;19040:1;19033:88;19140:4;19137:1;19130:15;19164:4;19161:1;19154:15;19181:114;19248:6;19282:5;19276:12;19266:22;;19181:114;;;:::o;19301:184::-;19400:11;19434:6;19429:3;19422:19;19474:4;19469:3;19465:14;19450:29;;19301:184;;;;:::o;19491:132::-;19558:4;19581:3;19573:11;;19611:4;19606:3;19602:14;19594:22;;19491:132;;;:::o;19629:108::-;19706:24;19724:5;19706:24;:::i;:::-;19701:3;19694:37;19629:108;;:::o;19743:179::-;19812:10;19833:46;19875:3;19867:6;19833:46;:::i;:::-;19911:4;19906:3;19902:14;19888:28;;19743:179;;;;:::o;19928:113::-;19998:4;20030;20025:3;20021:14;20013:22;;19928:113;;;:::o;20077:732::-;20196:3;20225:54;20273:5;20225:54;:::i;:::-;20295:86;20374:6;20369:3;20295:86;:::i;:::-;20288:93;;20405:56;20455:5;20405:56;:::i;:::-;20484:7;20515:1;20500:284;20525:6;20522:1;20519:13;20500:284;;;20601:6;20595:13;20628:63;20687:3;20672:13;20628:63;:::i;:::-;20621:70;;20714:60;20767:6;20714:60;:::i;:::-;20704:70;;20560:224;20547:1;20544;20540:9;20535:14;;20500:284;;;20504:14;20800:3;20793:10;;20201:608;;;20077:732;;;;:::o;20815:831::-;21078:4;21116:3;21105:9;21101:19;21093:27;;21130:71;21198:1;21187:9;21183:17;21174:6;21130:71;:::i;:::-;21211:80;21287:2;21276:9;21272:18;21263:6;21211:80;:::i;:::-;21338:9;21332:4;21328:20;21323:2;21312:9;21308:18;21301:48;21366:108;21469:4;21460:6;21366:108;:::i;:::-;21358:116;;21484:72;21552:2;21541:9;21537:18;21528:6;21484:72;:::i;:::-;21566:73;21634:3;21623:9;21619:19;21610:6;21566:73;:::i;:::-;20815:831;;;;;;;;:::o;21652:224::-;21792:34;21788:1;21780:6;21776:14;21769:58;21861:7;21856:2;21848:6;21844:15;21837:32;21652:224;:::o;21882:366::-;22024:3;22045:67;22109:2;22104:3;22045:67;:::i;:::-;22038:74;;22121:93;22210:3;22121:93;:::i;:::-;22239:2;22234:3;22230:12;22223:19;;21882:366;;;:::o;22254:419::-;22420:4;22458:2;22447:9;22443:18;22435:26;;22507:9;22501:4;22497:20;22493:1;22482:9;22478:17;22471:47;22535:131;22661:4;22535:131;:::i;:::-;22527:139;;22254:419;;;:::o;22679:222::-;22819:34;22815:1;22807:6;22803:14;22796:58;22888:5;22883:2;22875:6;22871:15;22864:30;22679:222;:::o;22907:366::-;23049:3;23070:67;23134:2;23129:3;23070:67;:::i;:::-;23063:74;;23146:93;23235:3;23146:93;:::i;:::-;23264:2;23259:3;23255:12;23248:19;;22907:366;;;:::o;23279:419::-;23445:4;23483:2;23472:9;23468:18;23460:26;;23532:9;23526:4;23522:20;23518:1;23507:9;23503:17;23496:47;23560:131;23686:4;23560:131;:::i;:::-;23552:139;;23279:419;;;:::o;23704:228::-;23844:34;23840:1;23832:6;23828:14;23821:58;23913:11;23908:2;23900:6;23896:15;23889:36;23704:228;:::o;23938:366::-;24080:3;24101:67;24165:2;24160:3;24101:67;:::i;:::-;24094:74;;24177:93;24266:3;24177:93;:::i;:::-;24295:2;24290:3;24286:12;24279:19;;23938:366;;;:::o;24310:419::-;24476:4;24514:2;24503:9;24499:18;24491:26;;24563:9;24557:4;24553:20;24549:1;24538:9;24534:17;24527:47;24591:131;24717:4;24591:131;:::i;:::-;24583:139;;24310:419;;;:::o;24735:175::-;24875:27;24871:1;24863:6;24859:14;24852:51;24735:175;:::o;24916:366::-;25058:3;25079:67;25143:2;25138:3;25079:67;:::i;:::-;25072:74;;25155:93;25244:3;25155:93;:::i;:::-;25273:2;25268:3;25264:12;25257:19;;24916:366;;;:::o;25288:419::-;25454:4;25492:2;25481:9;25477:18;25469:26;;25541:9;25535:4;25531:20;25527:1;25516:9;25512:17;25505:47;25569:131;25695:4;25569:131;:::i;:::-;25561:139;;25288:419;;;:::o;25713:191::-;25753:3;25772:20;25790:1;25772:20;:::i;:::-;25767:25;;25806:20;25824:1;25806:20;:::i;:::-;25801:25;;25849:1;25846;25842:9;25835:16;;25870:3;25867:1;25864:10;25861:36;;;25877:18;;:::i;:::-;25861:36;25713:191;;;;:::o;25910:176::-;26050:28;26046:1;26038:6;26034:14;26027:52;25910:176;:::o;26092:366::-;26234:3;26255:67;26319:2;26314:3;26255:67;:::i;:::-;26248:74;;26331:93;26420:3;26331:93;:::i;:::-;26449:2;26444:3;26440:12;26433:19;;26092:366;;;:::o;26464:419::-;26630:4;26668:2;26657:9;26653:18;26645:26;;26717:9;26711:4;26707:20;26703:1;26692:9;26688:17;26681:47;26745:131;26871:4;26745:131;:::i;:::-;26737:139;;26464:419;;;:::o;26889:233::-;26928:3;26951:24;26969:5;26951:24;:::i;:::-;26942:33;;26997:66;26990:5;26987:77;26984:103;;27067:18;;:::i;:::-;26984:103;27114:1;27107:5;27103:13;27096:20;;26889:233;;;:::o;27128:220::-;27268:34;27264:1;27256:6;27252:14;27245:58;27337:3;27332:2;27324:6;27320:15;27313:28;27128:220;:::o;27354:366::-;27496:3;27517:67;27581:2;27576:3;27517:67;:::i;:::-;27510:74;;27593:93;27682:3;27593:93;:::i;:::-;27711:2;27706:3;27702:12;27695:19;;27354:366;;;:::o;27726:419::-;27892:4;27930:2;27919:9;27915:18;27907:26;;27979:9;27973:4;27969:20;27965:1;27954:9;27950:17;27943:47;28007:131;28133:4;28007:131;:::i;:::-;27999:139;;27726:419;;;:::o;28151:177::-;28291:29;28287:1;28279:6;28275:14;28268:53;28151:177;:::o;28334:366::-;28476:3;28497:67;28561:2;28556:3;28497:67;:::i;:::-;28490:74;;28573:93;28662:3;28573:93;:::i;:::-;28691:2;28686:3;28682:12;28675:19;;28334:366;;;:::o;28706:419::-;28872:4;28910:2;28899:9;28895:18;28887:26;;28959:9;28953:4;28949:20;28945:1;28934:9;28930:17;28923:47;28987:131;29113:4;28987:131;:::i;:::-;28979:139;;28706:419;;;:::o

Swarm Source

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