ETH Price: $3,329.05 (-1.31%)

Token

Maya Script (🗿)
 

Overview

Max Total Supply

2,000,000 🗿

Holders

25

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
Mayascript

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-07
*/

// SPDX-License-Identifier: NOLICENSE

/**

Telegram: https://t.me/mayascriptERC20 
Translator: http://www.paleoaliens.com/event/mayan_glyphs/index.html

The dev of Maya Script was born in Mayan Civilization and only communicate with tranlator for 2022 generations.

TOKEN NAME: Maya Script
TICKER: \xF0\x9F\x97\xBF
SUPPLY 2M
MAX WALLET 2% AT LAUNCH
2% AUTO LIQUIDITY Round Trip
Lock & Renounced after



*/

pragma solidity ^0.8.4;

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB)  external view 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 Mayascript is Context, IERC20, Ownable {

    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "Maya Script";
    string private constant _symbol = "\xF0\x9F\x97\xBF";
    uint8 private constant _decimals = 9;

    uint256 public buyAutoLiquidityFee = 100;
    uint256 public buyAutoBurnFee = 0;
    uint256 public buyMarketingFee = 400;
    uint256 public totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee;

    uint256 public sellAutoLiquidityFee = 100;
    uint256 public sellAutoBurnFee = 0;
    uint256 public sellMarketingFee = 400;
    uint256 public totalSellFees =  sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee;

    uint256 public tokensForAutoLiquidity;
    uint256 public tokensForAutoBurn;  
    uint256 public tokensForMarketing;
    uint16 public masterTaxDivisor = 10000;

    address public constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address public pairAddress;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private _tTotal = 2000000 * 10**9;
    uint256 private maxWalletAmount = 40001 * 10**9;
    uint256 private maxTxAmount = 40001 * 10**9;
    address payable private feeAddrWallet;

    event MaxWalletAmountUpdated(uint maxWalletAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
  
    constructor () {
        require(!tradingOpen,"trading is already open");
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
        
        feeAddrWallet = payable(0x91193C8737451750951B066e4F310bfAAeF17f43); 
        
        _tOwned[owner()] = _tTotal;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeAddrWallet] = true;
        
        uint256 _buyAutoLiquidityFee = 100;
        uint256 _buyAutoBurnFee = 0;
        uint256 _buyMarketingFee = 400;
        uint256 _sellAutoLiquidityFee = 100;
        uint256 _sellAutoBurnFee = 0;
        uint256 _sellMarketingFee = 400;
        
        buyAutoLiquidityFee = _buyAutoLiquidityFee;
        buyAutoBurnFee = _buyAutoBurnFee;
        buyMarketingFee = _buyMarketingFee;
        totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee;
        
        sellAutoLiquidityFee = _sellAutoLiquidityFee;
        sellAutoBurnFee = _sellAutoBurnFee;
        sellMarketingFee = _sellMarketingFee;
        totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee;
        
        swapEnabled = true;
        
        maxTxAmount = 40001 * 10**9;
        maxWalletAmount = 40001 * 10**9;
        
        tradingOpen = true;
        
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        emit Transfer(address(0), owner(), _tTotal);
    }

    function name() public pure returns (string memory) { return _name; }
    function symbol() public pure returns (string memory) { return _symbol; }
    function decimals() public pure returns (uint8) { return _decimals; }
    function totalSupply() public view override returns (uint256) { return _tTotal; }
    function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; }
    function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; }
    function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; }
    function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        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");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");    
        require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet");

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

        uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

        _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]));
    }

    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 _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        _tOwned[sender] -= amount;
        uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount;
        _tOwned[recipient] += amountReceived;
        emit Transfer(sender, recipient, amountReceived);
    }

    function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) {
        if(from == uniswapV2Pair && totalBuyFees > 0 ) { 
            tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor;
            tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor;         
            tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor;    
        } else if (to == uniswapV2Pair  && totalSellFees > 0 ) { 
            tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor;
            tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor;
            tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor;        
        }
        _tOwned[pairAddress] += tokensForAutoLiquidity;
        emit Transfer(from, pairAddress, tokensForAutoLiquidity);
        
        _tOwned[DEAD] += tokensForAutoBurn;
        _tTotal = _tTotal - tokensForAutoBurn;
        _tTotal = totalSupply();
        emit Transfer(from, DEAD, tokensForAutoBurn);
                
        _tOwned[address(this)] += tokensForMarketing;
        emit Transfer(from, address(this), tokensForMarketing);

        uint256 feeAmount = tokensForAutoLiquidity + tokensForAutoBurn + tokensForMarketing;
        return amount - feeAmount;
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function SetWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{
        maxTxAmount = _maxTxAmount * 10 **_decimals;
        maxWalletAmount = _maxWalletSize * 10 **_decimals;
    }
    
    function sendETHToFee(uint256 amount) private {
        feeAddrWallet.transfer(amount);
    } 

    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"SetWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064600455600060055561019060065560065460055460045462000029919062000c22565b62000035919062000c22565b60075560646008556000600955610190600a55600a546009546008546200005d919062000c22565b62000069919062000c22565b600b55612710600f60006101000a81548161ffff021916908361ffff1602179055506000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff02191690831515021790555066071afd498d000060125565246175654a0060135565246175654a00601455348015620000ed57600080fd5b506200010e62000102620009a860201b60201c565b620009b060201b60201c565b601160149054906101000a900460ff161562000161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001589062000bd2565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020257600080fd5b505afa15801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d919062000acb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000acb565b6040518363ffffffff1660e01b8152600401620002fa92919062000b78565b602060405180830381600087803b1580156200031557600080fd5b505af11580156200032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000350919062000acb565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d757600080fd5b505afa158015620003ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000412919062000acb565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200047557600080fd5b505afa1580156200048a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b0919062000acb565b6040518363ffffffff1660e01b8152600401620004cf92919062000b78565b60206040518083038186803b158015620004e857600080fd5b505afa158015620004fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000523919062000acb565b600f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507391193c8737451750951b066e4f310bfaaef17f43601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125460016000620005cf62000a7460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200062362000a7460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060649050600080610190905060006064905060008061019090508560048190555084600581905550836006819055506006546005546004546200078c919062000c22565b62000798919062000c22565b600781905550826008819055508160098190555080600a81905550600a54600954600854620007c8919062000c22565b620007d4919062000c22565b600b819055506001601160166101000a81548160ff02191690831515021790555065246175654a0060148190555065246175654a006013819055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401620008cb92919062000ba5565b602060405180830381600087803b158015620008e657600080fd5b505af1158015620008fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000921919062000afd565b506200093262000a7460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60125460405162000993919062000bf4565b60405180910390a35050505050505062000d5a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008151905062000aae8162000d26565b92915050565b60008151905062000ac58162000d40565b92915050565b60006020828403121562000ae45762000ae362000cf8565b5b600062000af48482850162000a9d565b91505092915050565b60006020828403121562000b165762000b1562000cf8565b5b600062000b268482850162000ab4565b91505092915050565b62000b3a8162000c7f565b82525050565b600062000b4f60178362000c11565b915062000b5c8262000cfd565b602082019050919050565b62000b728162000cbf565b82525050565b600060408201905062000b8f600083018562000b2f565b62000b9e602083018462000b2f565b9392505050565b600060408201905062000bbc600083018562000b2f565b62000bcb602083018462000b67565b9392505050565b6000602082019050818103600083015262000bed8162000b40565b9050919050565b600060208201905062000c0b600083018462000b67565b92915050565b600082825260208201905092915050565b600062000c2f8262000cbf565b915062000c3c8362000cbf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c745762000c7362000cc9565b5b828201905092915050565b600062000c8c8262000c9f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b62000d318162000c7f565b811462000d3d57600080fd5b50565b62000d4b8162000c93565b811462000d5757600080fd5b50565b612e0e8062000d6a6000396000f3fe6080604052600436106101c65760003560e01c80638da5cb5b116100f7578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b3714610649578063ebece9c914610672578063f239eab81461069b578063f2fde38b146106c6576101cd565b8063c99f2fed1461058b578063cc70acee146105b6578063d0a39814146105e1578063dd62ed3e1461060c576101cd565b80639740a946116100d15780639740a946146104cd578063a8b08982146104f8578063a9059cbb14610523578063b9e9370014610560576101cd565b80638da5cb5b1461044c578063921369131461047757806395d89b41146104a2576101cd565b8063313ce567116101645780636cce46fc1161013e5780636cce46fc146103a257806370a08231146103cd578063715018a61461040a5780637bce5a0414610421576101cd565b8063313ce56714610323578063437823ec1461034e57806347afcbfe14610377576101cd565b806318160ddd116101a057806318160ddd146102655780631d6167ac146102905780631f3fed8f146102bb57806323b872dd146102e6576101cd565b806303fd2a45146101d257806306fdde03146101fd578063095ea7b314610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ef565b6040516101f491906123a9565b60405180910390f35b34801561020957600080fd5b506102126106f5565b60405161021f91906123df565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a919061206d565b610732565b60405161025c91906123c4565b60405180910390f35b34801561027157600080fd5b5061027a610750565b604051610287919061259c565b60405180910390f35b34801561029c57600080fd5b506102a561075a565b6040516102b29190612581565b60405180910390f35b3480156102c757600080fd5b506102d061076e565b6040516102dd919061259c565b60405180910390f35b3480156102f257600080fd5b5061030d6004803603810190610308919061201a565b610774565b60405161031a91906123c4565b60405180910390f35b34801561032f57600080fd5b50610338610875565b6040516103459190612611565b60405180910390f35b34801561035a57600080fd5b5061037560048036038101906103709190611f80565b61087e565b005b34801561038357600080fd5b5061038c610955565b604051610399919061259c565b60405180910390f35b3480156103ae57600080fd5b506103b761095b565b6040516103c4919061259c565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190611f80565b610961565b604051610401919061259c565b60405180910390f35b34801561041657600080fd5b5061041f6109aa565b005b34801561042d57600080fd5b50610436610a32565b604051610443919061259c565b60405180910390f35b34801561045857600080fd5b50610461610a38565b60405161046e91906123a9565b60405180910390f35b34801561048357600080fd5b5061048c610a61565b604051610499919061259c565b60405180910390f35b3480156104ae57600080fd5b506104b7610a67565b6040516104c491906123df565b60405180910390f35b3480156104d957600080fd5b506104e2610aa4565b6040516104ef919061259c565b60405180910390f35b34801561050457600080fd5b5061050d610aaa565b60405161051a91906123a9565b60405180910390f35b34801561052f57600080fd5b5061054a6004803603810190610545919061206d565b610ad0565b60405161055791906123c4565b60405180910390f35b34801561056c57600080fd5b50610575610aee565b604051610582919061259c565b60405180910390f35b34801561059757600080fd5b506105a0610af4565b6040516105ad919061259c565b60405180910390f35b3480156105c257600080fd5b506105cb610afa565b6040516105d8919061259c565b60405180910390f35b3480156105ed57600080fd5b506105f6610b00565b604051610603919061259c565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e9190611fda565b610b06565b604051610640919061259c565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190611f80565b610b8d565b005b34801561067e57600080fd5b50610699600480360381019061069491906120ad565b610c64565b005b3480156106a757600080fd5b506106b0610d22565b6040516106bd919061259c565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190611f80565b610d28565b005b61dead81565b60606040518060400160405280600b81526020017f4d61796120536372697074000000000000000000000000000000000000000000815250905090565b600061074661073f610e20565b8484610e28565b6001905092915050565b6000601254905090565b600f60009054906101000a900461ffff1681565b600e5481565b6000610781848484610ff3565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107cc610e20565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561084c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610843906124a1565b60405180910390fd5b61086985610858610e20565b858461086491906128d3565b610e28565b60019150509392505050565b60006009905090565b610886610e20565b73ffffffffffffffffffffffffffffffffffffffff166108a4610a38565b73ffffffffffffffffffffffffffffffffffffffff16146108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f1906124c1565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b2610e20565b73ffffffffffffffffffffffffffffffffffffffff166109d0610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d906124c1565b60405180910390fd5b610a306000611573565b565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017ff09f97bf00000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ae4610add610e20565b8484610ff3565b6001905092915050565b60075481565b60055481565b600d5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b95610e20565b73ffffffffffffffffffffffffffffffffffffffff16610bb3610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c00906124c1565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c6c610e20565b73ffffffffffffffffffffffffffffffffffffffff16610c8a610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd7906124c1565b60405180910390fd5b6009600a610cee919061275b565b82610cf99190612879565b6014819055506009600a610d0d919061275b565b81610d189190612879565b6013819055505050565b60045481565b610d30610e20565b73ffffffffffffffffffffffffffffffffffffffff16610d4e610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b906124c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b90612461565b60405180910390fd5b610e1d81611573565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f90612541565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90612481565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe6919061259c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a90612501565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca90612401565b60405180910390fd5b60008111611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d906124e1565b60405180910390fd5b61111f83610961565b811115611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115890612441565b60405180910390fd5b601160149054906101000a900460ff16806111c55750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806112195750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f90612561565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113035750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113595750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113fc576014548111156113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a90612421565b60405180910390fd5b601354816113b084610961565b6113ba9190612681565b11156113fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f290612521565b60405180910390fd5b5b600061140730610961565b9050601160159054906101000a900460ff161580156114745750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561148c5750601160169054906101000a900460ff165b80156114985750600081115b156114c0576114a681611637565b600047905060008111156114be576114bd476118bf565b5b505b61156d848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115675750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561192b565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561166f5761166e612a3c565b5b60405190808252806020026020018201604052801561169d5781602001602082028036833780820191505090505b50905030816000815181106116b5576116b4612a0d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561175757600080fd5b505afa15801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178f9190611fad565b816001815181106117a3576117a2612a0d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061180a30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e28565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161186e9594939291906125b7565b600060405180830381600087803b15801561188857600080fd5b505af115801561189c573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611927573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461197a91906128d3565b9250508190555060008161198e578261199a565b611999858585611a5e565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119eb9190612681565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a4f919061259c565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611abf57506000600754115b15611b6257600f60009054906101000a900461ffff1661ffff1660045483611ae79190612879565b611af191906126d7565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611b1a9190612879565b611b2491906126d7565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611b4d9190612879565b611b5791906126d7565b600e81905550611c61565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611bc157506000600b54115b15611c6057600f60009054906101000a900461ffff1661ffff1660085483611be99190612879565b611bf391906126d7565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611c1c9190612879565b611c2691906126d7565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611c4f9190612879565b611c5991906126d7565b600e819055505b5b600c5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cd49190612681565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611d5c919061259c565b60405180910390a3600d546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611db79190612681565b92505081905550600d54601254611dce91906128d3565b601281905550611ddc610750565b60128190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051611e43919061259c565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e9c9190612681565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e54604051611f02919061259c565b60405180910390a36000600e54600d54600c54611f1f9190612681565b611f299190612681565b90508083611f3791906128d3565b9150509392505050565b600081359050611f5081612daa565b92915050565b600081519050611f6581612daa565b92915050565b600081359050611f7a81612dc1565b92915050565b600060208284031215611f9657611f95612a6b565b5b6000611fa484828501611f41565b91505092915050565b600060208284031215611fc357611fc2612a6b565b5b6000611fd184828501611f56565b91505092915050565b60008060408385031215611ff157611ff0612a6b565b5b6000611fff85828601611f41565b925050602061201085828601611f41565b9150509250929050565b60008060006060848603121561203357612032612a6b565b5b600061204186828701611f41565b935050602061205286828701611f41565b925050604061206386828701611f6b565b9150509250925092565b6000806040838503121561208457612083612a6b565b5b600061209285828601611f41565b92505060206120a385828601611f6b565b9150509250929050565b600080604083850312156120c4576120c3612a6b565b5b60006120d285828601611f6b565b92505060206120e385828601611f6b565b9150509250929050565b60006120f98383612105565b60208301905092915050565b61210e81612907565b82525050565b61211d81612907565b82525050565b600061212e8261263c565b612138818561265f565b93506121438361262c565b8060005b8381101561217457815161215b88826120ed565b975061216683612652565b925050600181019050612147565b5085935050505092915050565b61218a81612919565b82525050565b6121998161296a565b82525050565b60006121aa82612647565b6121b48185612670565b93506121c481856020860161297c565b6121cd81612a70565b840191505092915050565b60006121e5602383612670565b91506121f082612a8e565b604082019050919050565b6000612208601983612670565b915061221382612add565b602082019050919050565b600061222b603183612670565b915061223682612b06565b604082019050919050565b600061224e602683612670565b915061225982612b55565b604082019050919050565b6000612271602283612670565b915061227c82612ba4565b604082019050919050565b6000612294602883612670565b915061229f82612bf3565b604082019050919050565b60006122b7602083612670565b91506122c282612c42565b602082019050919050565b60006122da602983612670565b91506122e582612c6b565b604082019050919050565b60006122fd602583612670565b915061230882612cba565b604082019050919050565b6000612320601a83612670565b915061232b82612d09565b602082019050919050565b6000612343602483612670565b915061234e82612d32565b604082019050919050565b6000612366601783612670565b915061237182612d81565b602082019050919050565b61238581612925565b82525050565b61239481612953565b82525050565b6123a38161295d565b82525050565b60006020820190506123be6000830184612114565b92915050565b60006020820190506123d96000830184612181565b92915050565b600060208201905081810360008301526123f9818461219f565b905092915050565b6000602082019050818103600083015261241a816121d8565b9050919050565b6000602082019050818103600083015261243a816121fb565b9050919050565b6000602082019050818103600083015261245a8161221e565b9050919050565b6000602082019050818103600083015261247a81612241565b9050919050565b6000602082019050818103600083015261249a81612264565b9050919050565b600060208201905081810360008301526124ba81612287565b9050919050565b600060208201905081810360008301526124da816122aa565b9050919050565b600060208201905081810360008301526124fa816122cd565b9050919050565b6000602082019050818103600083015261251a816122f0565b9050919050565b6000602082019050818103600083015261253a81612313565b9050919050565b6000602082019050818103600083015261255a81612336565b9050919050565b6000602082019050818103600083015261257a81612359565b9050919050565b6000602082019050612596600083018461237c565b92915050565b60006020820190506125b1600083018461238b565b92915050565b600060a0820190506125cc600083018861238b565b6125d96020830187612190565b81810360408301526125eb8186612123565b90506125fa6060830185612114565b612607608083018461238b565b9695505050505050565b6000602082019050612626600083018461239a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061268c82612953565b915061269783612953565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126cc576126cb6129af565b5b828201905092915050565b60006126e282612953565b91506126ed83612953565b9250826126fd576126fc6129de565b5b828204905092915050565b6000808291508390505b60018511156127525780860481111561272e5761272d6129af565b5b600185161561273d5780820291505b808102905061274b85612a81565b9450612712565b94509492505050565b600061276682612953565b91506127718361295d565b925061279e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127a6565b905092915050565b6000826127b65760019050612872565b816127c45760009050612872565b81600181146127da57600281146127e457612813565b6001915050612872565b60ff8411156127f6576127f56129af565b5b8360020a91508482111561280d5761280c6129af565b5b50612872565b5060208310610133831016604e8410600b84101617156128485782820a905083811115612843576128426129af565b5b612872565b6128558484846001612708565b9250905081840481111561286c5761286b6129af565b5b81810290505b9392505050565b600061288482612953565b915061288f83612953565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128c8576128c76129af565b5b828202905092915050565b60006128de82612953565b91506128e983612953565b9250828210156128fc576128fb6129af565b5b828203905092915050565b600061291282612933565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061297582612953565b9050919050565b60005b8381101561299a57808201518184015260208101905061297f565b838111156129a9576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b612db381612907565b8114612dbe57600080fd5b50565b612dca81612953565b8114612dd557600080fd5b5056fea2646970667358221220a5a9d778ff0236286ab3307aac6ed0eac43007cf23f40e8aee346e8adc40595f64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80638da5cb5b116100f7578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b3714610649578063ebece9c914610672578063f239eab81461069b578063f2fde38b146106c6576101cd565b8063c99f2fed1461058b578063cc70acee146105b6578063d0a39814146105e1578063dd62ed3e1461060c576101cd565b80639740a946116100d15780639740a946146104cd578063a8b08982146104f8578063a9059cbb14610523578063b9e9370014610560576101cd565b80638da5cb5b1461044c578063921369131461047757806395d89b41146104a2576101cd565b8063313ce567116101645780636cce46fc1161013e5780636cce46fc146103a257806370a08231146103cd578063715018a61461040a5780637bce5a0414610421576101cd565b8063313ce56714610323578063437823ec1461034e57806347afcbfe14610377576101cd565b806318160ddd116101a057806318160ddd146102655780631d6167ac146102905780631f3fed8f146102bb57806323b872dd146102e6576101cd565b806303fd2a45146101d257806306fdde03146101fd578063095ea7b314610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ef565b6040516101f491906123a9565b60405180910390f35b34801561020957600080fd5b506102126106f5565b60405161021f91906123df565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a919061206d565b610732565b60405161025c91906123c4565b60405180910390f35b34801561027157600080fd5b5061027a610750565b604051610287919061259c565b60405180910390f35b34801561029c57600080fd5b506102a561075a565b6040516102b29190612581565b60405180910390f35b3480156102c757600080fd5b506102d061076e565b6040516102dd919061259c565b60405180910390f35b3480156102f257600080fd5b5061030d6004803603810190610308919061201a565b610774565b60405161031a91906123c4565b60405180910390f35b34801561032f57600080fd5b50610338610875565b6040516103459190612611565b60405180910390f35b34801561035a57600080fd5b5061037560048036038101906103709190611f80565b61087e565b005b34801561038357600080fd5b5061038c610955565b604051610399919061259c565b60405180910390f35b3480156103ae57600080fd5b506103b761095b565b6040516103c4919061259c565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190611f80565b610961565b604051610401919061259c565b60405180910390f35b34801561041657600080fd5b5061041f6109aa565b005b34801561042d57600080fd5b50610436610a32565b604051610443919061259c565b60405180910390f35b34801561045857600080fd5b50610461610a38565b60405161046e91906123a9565b60405180910390f35b34801561048357600080fd5b5061048c610a61565b604051610499919061259c565b60405180910390f35b3480156104ae57600080fd5b506104b7610a67565b6040516104c491906123df565b60405180910390f35b3480156104d957600080fd5b506104e2610aa4565b6040516104ef919061259c565b60405180910390f35b34801561050457600080fd5b5061050d610aaa565b60405161051a91906123a9565b60405180910390f35b34801561052f57600080fd5b5061054a6004803603810190610545919061206d565b610ad0565b60405161055791906123c4565b60405180910390f35b34801561056c57600080fd5b50610575610aee565b604051610582919061259c565b60405180910390f35b34801561059757600080fd5b506105a0610af4565b6040516105ad919061259c565b60405180910390f35b3480156105c257600080fd5b506105cb610afa565b6040516105d8919061259c565b60405180910390f35b3480156105ed57600080fd5b506105f6610b00565b604051610603919061259c565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e9190611fda565b610b06565b604051610640919061259c565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190611f80565b610b8d565b005b34801561067e57600080fd5b50610699600480360381019061069491906120ad565b610c64565b005b3480156106a757600080fd5b506106b0610d22565b6040516106bd919061259c565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190611f80565b610d28565b005b61dead81565b60606040518060400160405280600b81526020017f4d61796120536372697074000000000000000000000000000000000000000000815250905090565b600061074661073f610e20565b8484610e28565b6001905092915050565b6000601254905090565b600f60009054906101000a900461ffff1681565b600e5481565b6000610781848484610ff3565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107cc610e20565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561084c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610843906124a1565b60405180910390fd5b61086985610858610e20565b858461086491906128d3565b610e28565b60019150509392505050565b60006009905090565b610886610e20565b73ffffffffffffffffffffffffffffffffffffffff166108a4610a38565b73ffffffffffffffffffffffffffffffffffffffff16146108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f1906124c1565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b2610e20565b73ffffffffffffffffffffffffffffffffffffffff166109d0610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d906124c1565b60405180910390fd5b610a306000611573565b565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017ff09f97bf00000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ae4610add610e20565b8484610ff3565b6001905092915050565b60075481565b60055481565b600d5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b95610e20565b73ffffffffffffffffffffffffffffffffffffffff16610bb3610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c00906124c1565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c6c610e20565b73ffffffffffffffffffffffffffffffffffffffff16610c8a610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd7906124c1565b60405180910390fd5b6009600a610cee919061275b565b82610cf99190612879565b6014819055506009600a610d0d919061275b565b81610d189190612879565b6013819055505050565b60045481565b610d30610e20565b73ffffffffffffffffffffffffffffffffffffffff16610d4e610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b906124c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b90612461565b60405180910390fd5b610e1d81611573565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f90612541565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90612481565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe6919061259c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a90612501565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca90612401565b60405180910390fd5b60008111611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d906124e1565b60405180910390fd5b61111f83610961565b811115611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115890612441565b60405180910390fd5b601160149054906101000a900460ff16806111c55750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806112195750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f90612561565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113035750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113595750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113fc576014548111156113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a90612421565b60405180910390fd5b601354816113b084610961565b6113ba9190612681565b11156113fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f290612521565b60405180910390fd5b5b600061140730610961565b9050601160159054906101000a900460ff161580156114745750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561148c5750601160169054906101000a900460ff165b80156114985750600081115b156114c0576114a681611637565b600047905060008111156114be576114bd476118bf565b5b505b61156d848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115675750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561192b565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561166f5761166e612a3c565b5b60405190808252806020026020018201604052801561169d5781602001602082028036833780820191505090505b50905030816000815181106116b5576116b4612a0d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561175757600080fd5b505afa15801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178f9190611fad565b816001815181106117a3576117a2612a0d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061180a30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e28565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161186e9594939291906125b7565b600060405180830381600087803b15801561188857600080fd5b505af115801561189c573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611927573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461197a91906128d3565b9250508190555060008161198e578261199a565b611999858585611a5e565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119eb9190612681565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a4f919061259c565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611abf57506000600754115b15611b6257600f60009054906101000a900461ffff1661ffff1660045483611ae79190612879565b611af191906126d7565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611b1a9190612879565b611b2491906126d7565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611b4d9190612879565b611b5791906126d7565b600e81905550611c61565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611bc157506000600b54115b15611c6057600f60009054906101000a900461ffff1661ffff1660085483611be99190612879565b611bf391906126d7565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611c1c9190612879565b611c2691906126d7565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611c4f9190612879565b611c5991906126d7565b600e819055505b5b600c5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cd49190612681565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611d5c919061259c565b60405180910390a3600d546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611db79190612681565b92505081905550600d54601254611dce91906128d3565b601281905550611ddc610750565b60128190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051611e43919061259c565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e9c9190612681565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e54604051611f02919061259c565b60405180910390a36000600e54600d54600c54611f1f9190612681565b611f299190612681565b90508083611f3791906128d3565b9150509392505050565b600081359050611f5081612daa565b92915050565b600081519050611f6581612daa565b92915050565b600081359050611f7a81612dc1565b92915050565b600060208284031215611f9657611f95612a6b565b5b6000611fa484828501611f41565b91505092915050565b600060208284031215611fc357611fc2612a6b565b5b6000611fd184828501611f56565b91505092915050565b60008060408385031215611ff157611ff0612a6b565b5b6000611fff85828601611f41565b925050602061201085828601611f41565b9150509250929050565b60008060006060848603121561203357612032612a6b565b5b600061204186828701611f41565b935050602061205286828701611f41565b925050604061206386828701611f6b565b9150509250925092565b6000806040838503121561208457612083612a6b565b5b600061209285828601611f41565b92505060206120a385828601611f6b565b9150509250929050565b600080604083850312156120c4576120c3612a6b565b5b60006120d285828601611f6b565b92505060206120e385828601611f6b565b9150509250929050565b60006120f98383612105565b60208301905092915050565b61210e81612907565b82525050565b61211d81612907565b82525050565b600061212e8261263c565b612138818561265f565b93506121438361262c565b8060005b8381101561217457815161215b88826120ed565b975061216683612652565b925050600181019050612147565b5085935050505092915050565b61218a81612919565b82525050565b6121998161296a565b82525050565b60006121aa82612647565b6121b48185612670565b93506121c481856020860161297c565b6121cd81612a70565b840191505092915050565b60006121e5602383612670565b91506121f082612a8e565b604082019050919050565b6000612208601983612670565b915061221382612add565b602082019050919050565b600061222b603183612670565b915061223682612b06565b604082019050919050565b600061224e602683612670565b915061225982612b55565b604082019050919050565b6000612271602283612670565b915061227c82612ba4565b604082019050919050565b6000612294602883612670565b915061229f82612bf3565b604082019050919050565b60006122b7602083612670565b91506122c282612c42565b602082019050919050565b60006122da602983612670565b91506122e582612c6b565b604082019050919050565b60006122fd602583612670565b915061230882612cba565b604082019050919050565b6000612320601a83612670565b915061232b82612d09565b602082019050919050565b6000612343602483612670565b915061234e82612d32565b604082019050919050565b6000612366601783612670565b915061237182612d81565b602082019050919050565b61238581612925565b82525050565b61239481612953565b82525050565b6123a38161295d565b82525050565b60006020820190506123be6000830184612114565b92915050565b60006020820190506123d96000830184612181565b92915050565b600060208201905081810360008301526123f9818461219f565b905092915050565b6000602082019050818103600083015261241a816121d8565b9050919050565b6000602082019050818103600083015261243a816121fb565b9050919050565b6000602082019050818103600083015261245a8161221e565b9050919050565b6000602082019050818103600083015261247a81612241565b9050919050565b6000602082019050818103600083015261249a81612264565b9050919050565b600060208201905081810360008301526124ba81612287565b9050919050565b600060208201905081810360008301526124da816122aa565b9050919050565b600060208201905081810360008301526124fa816122cd565b9050919050565b6000602082019050818103600083015261251a816122f0565b9050919050565b6000602082019050818103600083015261253a81612313565b9050919050565b6000602082019050818103600083015261255a81612336565b9050919050565b6000602082019050818103600083015261257a81612359565b9050919050565b6000602082019050612596600083018461237c565b92915050565b60006020820190506125b1600083018461238b565b92915050565b600060a0820190506125cc600083018861238b565b6125d96020830187612190565b81810360408301526125eb8186612123565b90506125fa6060830185612114565b612607608083018461238b565b9695505050505050565b6000602082019050612626600083018461239a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061268c82612953565b915061269783612953565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126cc576126cb6129af565b5b828201905092915050565b60006126e282612953565b91506126ed83612953565b9250826126fd576126fc6129de565b5b828204905092915050565b6000808291508390505b60018511156127525780860481111561272e5761272d6129af565b5b600185161561273d5780820291505b808102905061274b85612a81565b9450612712565b94509492505050565b600061276682612953565b91506127718361295d565b925061279e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127a6565b905092915050565b6000826127b65760019050612872565b816127c45760009050612872565b81600181146127da57600281146127e457612813565b6001915050612872565b60ff8411156127f6576127f56129af565b5b8360020a91508482111561280d5761280c6129af565b5b50612872565b5060208310610133831016604e8410600b84101617156128485782820a905083811115612843576128426129af565b5b612872565b6128558484846001612708565b9250905081840481111561286c5761286b6129af565b5b81810290505b9392505050565b600061288482612953565b915061288f83612953565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128c8576128c76129af565b5b828202905092915050565b60006128de82612953565b91506128e983612953565b9250828210156128fc576128fb6129af565b5b828203905092915050565b600061291282612933565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061297582612953565b9050919050565b60005b8381101561299a57808201518184015260208101905061297f565b838111156129a9576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b612db381612907565b8114612dbe57600080fd5b50565b612dca81612953565b8114612dd557600080fd5b5056fea2646970667358221220a5a9d778ff0236286ab3307aac6ed0eac43007cf23f40e8aee346e8adc40595f64736f6c63430008070033

Deployed Bytecode Sourcemap

4450:9314:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8011:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8721:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8240:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5463:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5423:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8867:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8165:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13157:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5155:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5107:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8327:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3113:94;;;;;;;;;;;;;:::i;:::-;;4971:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2890:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5196:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8086:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5338:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5590:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8436:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5014:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4931:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5382:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5240:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8586:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13276:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13394:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4884:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3215:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5510:73;5541:42;5510:73;:::o;8011:69::-;8048:13;8072:5;;;;;;;;;;;;;;;;;8065:12;;8011:69;:::o;8721:138::-;8796:4;8804:39;8813:12;:10;:12::i;:::-;8827:7;8836:6;8804:8;:39::i;:::-;8852:4;8845:11;;8721:138;;;;:::o;8240:81::-;8293:7;8311;;8304:14;;8240:81;:::o;5463:38::-;;;;;;;;;;;;;:::o;5423:33::-;;;;:::o;8867:420::-;8973:4;8990:36;9000:6;9008:9;9019:6;8990:9;:36::i;:::-;9039:24;9066:11;:19;9078:6;9066:19;;;;;;;;;;;;;;;:33;9086:12;:10;:12::i;:::-;9066:33;;;;;;;;;;;;;;;;9039:60;;9138:6;9118:16;:26;;9110:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9200:57;9209:6;9217:12;:10;:12::i;:::-;9250:6;9231:16;:25;;;;:::i;:::-;9200:8;:57::i;:::-;9275:4;9268:11;;;8867:420;;;;;:::o;8165:69::-;8206:5;4874:1;8215:16;;8165:69;:::o;13157:111::-;3036:12;:10;:12::i;:::-;3025:23;;:7;:5;:7::i;:::-;:23;;;3017:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13256:4:::1;13226:18;:27;13245:7;13226:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;13157:111:::0;:::o;5155:34::-;;;;:::o;5107:41::-;;;;:::o;8327:103::-;8393:7;8411;:16;8419:7;8411:16;;;;;;;;;;;;;;;;8404:23;;8327:103;;;:::o;3113:94::-;3036:12;:10;:12::i;:::-;3025:23;;:7;:5;:7::i;:::-;:23;;;3017:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3178:21:::1;3196:1;3178:9;:21::i;:::-;3113:94::o:0;4971:36::-;;;;:::o;2890:87::-;2936:7;2963:6;;;;;;;;;;;2956:13;;2890:87;:::o;5196:37::-;;;;:::o;8086:73::-;8125:13;8149:7;;;;;;;;;;;;;;;;;8142:14;;8086:73;:::o;5338:37::-;;;;:::o;5590:26::-;;;;;;;;;;;;;:::o;8436:144::-;8514:4;8522:42;8532:12;:10;:12::i;:::-;8546:9;8557:6;8522:9;:42::i;:::-;8573:4;8566:11;;8436:144;;;;:::o;5014:84::-;;;;:::o;4931:33::-;;;;:::o;5382:32::-;;;;:::o;5240:89::-;;;;:::o;8586:129::-;8667:7;8685:11;:18;8697:5;8685:18;;;;;;;;;;;;;;;:27;8704:7;8685:27;;;;;;;;;;;;;;;;8678:34;;8586:129;;;;:::o;13276:110::-;3036:12;:10;:12::i;:::-;3025:23;;:7;:5;:7::i;:::-;:23;;;3017:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13373:5:::1;13343:18;:27;13362:7;13343:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13276:110:::0;:::o;13394:217::-;3036:12;:10;:12::i;:::-;3025:23;;:7;:5;:7::i;:::-;:23;;;3017:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4874:1:::1;13529:2;:14;;;;:::i;:::-;13514:12;:29;;;;:::i;:::-;13500:11;:43;;;;4874:1;13589:2;:14;;;;:::i;:::-;13572;:31;;;;:::i;:::-;13554:15;:49;;;;13394:217:::0;;:::o;4884:40::-;;;;:::o;3215:192::-;3036:12;:10;:12::i;:::-;3025:23;;:7;:5;:7::i;:::-;:23;;;3017:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3324:1:::1;3304:22;;:8;:22;;;;3296:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3380:19;3390:8;3380:9;:19::i;:::-;3215:192:::0;:::o;2311:98::-;2364:7;2391:10;2384:17;;2311:98;:::o;9295:335::-;9405:1;9388:19;;:5;:19;;;;9380:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9486:1;9467:21;;:7;:21;;;;9459:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9568:6;9538:11;:18;9550:5;9538:18;;;;;;;;;;;;;;;:27;9557:7;9538:27;;;;;;;;;;;;;;;:36;;;;9606:7;9590:32;;9599:5;9590:32;;;9615:6;9590:32;;;;;;:::i;:::-;;;;;;;;9295:335;;;:::o;9638:1335::-;9742:1;9726:18;;:4;:18;;;;9718:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9819:1;9805:16;;:2;:16;;;;9797:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9889:1;9880:6;:10;9872:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9965:15;9975:4;9965:9;:15::i;:::-;9955:6;:25;;9947:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;10056:11;;;;;;;;;;;:39;;;;10071:18;:24;10090:4;10071:24;;;;;;;;;;;;;;;;;;;;;;;;;10056:39;:65;;;;10099:18;:22;10118:2;10099:22;;;;;;;;;;;;;;;;;;;;;;;;;10056:65;10048:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;10174:13;;;;;;;;;;;10166:21;;:4;:21;;;:55;;;;;10205:15;;;;;;;;;;;10191:30;;:2;:30;;;;10166:55;:83;;;;;10227:18;:22;10246:2;10227:22;;;;;;;;;;;;;;;;;;;;;;;;;10225:24;10166:83;10162:278;;;10288:11;;10278:6;:21;;10270:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10382:15;;10372:6;10356:13;10366:2;10356:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;10348:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;10162:278;10452:28;10483:24;10501:4;10483:9;:24::i;:::-;10452:55;;10527:6;;;;;;;;;;;10526:7;:32;;;;;10545:13;;;;;;;;;;;10537:21;;:4;:21;;;;10526:32;:47;;;;;10562:11;;;;;;;;;;;10526:47;:73;;;;;10598:1;10577:20;:22;10526:73;10522:344;;;10620:38;10637:20;10620:16;:38::i;:::-;10677:26;10706:21;10677:50;;10770:1;10749:18;:22;10746:105;;;10796:35;10809:21;10796:12;:35::i;:::-;10746:105;10601:265;10522:344;10878:87;10893:4;10899:2;10903:6;10913:18;:24;10932:4;10913:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10941:18;:22;10960:2;10941:22;;;;;;;;;;;;;;;;;;;;;;;;;10913:50;10911:53;10878:14;:87::i;:::-;9707:1266;9638:1335;;;:::o;3415:173::-;3471:16;3490:6;;;;;;;;;;;3471:25;;3516:8;3507:6;;:17;;;;;;;;;;;;;;;;;;3571:8;3540:40;;3561:8;3540:40;;;;;;;;;;;;3460:128;3415:173;:::o;10981:483::-;6116:4;6107:6;;:13;;;;;;;;;;;;;;;;;;11059:21:::1;11097:1;11083:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11059:40;;11128:4;11110;11115:1;11110:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11154:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11144:4;11149:1;11144:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11187:62;11204:4;11219:15;;;;;;;;;;;11237:11;11187:8;:62::i;:::-;11260:15;;;;;;;;;;;:66;;;11341:11;11367:1;11383:4;11410;11430:15;11260:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11048:416;6152:5:::0;6143:6;;:14;;;;;;;;;;;;;;;;;;10981:483;:::o;13623:95::-;13680:13;;;;;;;;;;;:22;;:30;13703:6;13680:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13623:95;:::o;11472:340::-;11599:6;11580:7;:15;11588:6;11580:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;11616:22;11642:7;11641:57;;11692:6;11641:57;;;11653:36;11663:6;11671:9;11682:6;11653:9;:36::i;:::-;11641:57;11616:82;;11731:14;11709:7;:18;11717:9;11709:18;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;11778:9;11761:43;;11770:6;11761:43;;;11789:14;11761:43;;;;;;:::i;:::-;;;;;;;;11569:243;11472:340;;;;:::o;11820:1329::-;11899:7;11930:13;;;;;;;;;;;11922:21;;:4;:21;;;:41;;;;;11962:1;11947:12;;:16;11922:41;11919:637;;;12038:16;;;;;;;;;;;12007:47;;12016:19;;12007:6;:28;;;;:::i;:::-;:47;;;;:::i;:::-;11982:22;:72;;;;12115:16;;;;;;;;;;;12089:42;;12098:14;;12089:6;:23;;;;:::i;:::-;:42;;;;:::i;:::-;12069:17;:62;;;;12203:16;;;;;;;;;;;12176:43;;12185:15;;12176:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;12155:18;:64;;;;11919:637;;;12251:13;;;;;;;;;;;12245:19;;:2;:19;;;:41;;;;;12285:1;12269:13;;:17;12245:41;12241:315;;;12362:16;;;;;;;;;;;12330:48;;12339:20;;12330:6;:29;;;;:::i;:::-;:48;;;;:::i;:::-;12305:22;:73;;;;12440:16;;;;;;;;;;;12413:43;;12422:15;;12413:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;12393:17;:63;;;;12520:16;;;;;;;;;;;12492:44;;12501:16;;12492:6;:25;;;;:::i;:::-;:44;;;;:::i;:::-;12471:18;:65;;;;12241:315;11919:637;12590:22;;12566:7;:20;12574:11;;;;;;;;;;;12566:20;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;12643:11;;;;;;;;;;;12628:51;;12637:4;12628:51;;;12656:22;;12628:51;;;;;;:::i;:::-;;;;;;;;12717:17;;12700:7;:13;5541:42;12700:13;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;12765:17;;12755:7;;:27;;;;:::i;:::-;12745:7;:37;;;;12803:13;:11;:13::i;:::-;12793:7;:23;;;;5541:42;12832:39;;12841:4;12832:39;;;12853:17;;12832:39;;;;;;:::i;:::-;;;;;;;;12926:18;;12900:7;:22;12916:4;12900:22;;;;;;;;;;;;;;;;:44;;;;;;;:::i;:::-;;;;;;;;12983:4;12960:49;;12969:4;12960:49;;;12990:18;;12960:49;;;;;;:::i;:::-;;;;;;;;13022:17;13087:18;;13067:17;;13042:22;;:42;;;;:::i;:::-;:63;;;;:::i;:::-;13022:83;;13132:9;13123:6;:18;;;;:::i;:::-;13116:25;;;11820:1329;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:329::-;505:6;554:2;542:9;533:7;529:23;525:32;522:119;;;560:79;;:::i;:::-;522:119;680:1;705:53;750:7;741:6;730:9;726:22;705:53;:::i;:::-;695:63;;651:117;446:329;;;;:::o;781:351::-;851:6;900:2;888:9;879:7;875:23;871:32;868:119;;;906:79;;:::i;:::-;868:119;1026:1;1051:64;1107:7;1098:6;1087:9;1083:22;1051:64;:::i;:::-;1041:74;;997:128;781:351;;;;:::o;1138:474::-;1206:6;1214;1263:2;1251:9;1242:7;1238:23;1234:32;1231:119;;;1269:79;;:::i;:::-;1231:119;1389:1;1414:53;1459:7;1450:6;1439:9;1435:22;1414:53;:::i;:::-;1404:63;;1360:117;1516:2;1542:53;1587:7;1578:6;1567:9;1563:22;1542:53;:::i;:::-;1532:63;;1487:118;1138:474;;;;;:::o;1618:619::-;1695:6;1703;1711;1760:2;1748:9;1739:7;1735:23;1731:32;1728:119;;;1766:79;;:::i;:::-;1728:119;1886:1;1911:53;1956:7;1947:6;1936:9;1932:22;1911:53;:::i;:::-;1901:63;;1857:117;2013:2;2039:53;2084:7;2075:6;2064:9;2060:22;2039:53;:::i;:::-;2029:63;;1984:118;2141:2;2167:53;2212:7;2203:6;2192:9;2188:22;2167:53;:::i;:::-;2157:63;;2112:118;1618:619;;;;;:::o;2243:474::-;2311:6;2319;2368:2;2356:9;2347:7;2343:23;2339:32;2336:119;;;2374:79;;:::i;:::-;2336:119;2494:1;2519:53;2564:7;2555:6;2544:9;2540:22;2519:53;:::i;:::-;2509:63;;2465:117;2621:2;2647:53;2692:7;2683:6;2672:9;2668:22;2647:53;:::i;:::-;2637:63;;2592:118;2243:474;;;;;:::o;2723:::-;2791:6;2799;2848:2;2836:9;2827:7;2823:23;2819:32;2816:119;;;2854:79;;:::i;:::-;2816:119;2974:1;2999:53;3044:7;3035:6;3024:9;3020:22;2999:53;:::i;:::-;2989:63;;2945:117;3101:2;3127:53;3172:7;3163:6;3152:9;3148:22;3127:53;:::i;:::-;3117:63;;3072:118;2723:474;;;;;:::o;3203:179::-;3272:10;3293:46;3335:3;3327:6;3293:46;:::i;:::-;3371:4;3366:3;3362:14;3348:28;;3203:179;;;;:::o;3388:108::-;3465:24;3483:5;3465:24;:::i;:::-;3460:3;3453:37;3388:108;;:::o;3502:118::-;3589:24;3607:5;3589:24;:::i;:::-;3584:3;3577:37;3502:118;;:::o;3656:732::-;3775:3;3804:54;3852:5;3804:54;:::i;:::-;3874:86;3953:6;3948:3;3874:86;:::i;:::-;3867:93;;3984:56;4034:5;3984:56;:::i;:::-;4063:7;4094:1;4079:284;4104:6;4101:1;4098:13;4079:284;;;4180:6;4174:13;4207:63;4266:3;4251:13;4207:63;:::i;:::-;4200:70;;4293:60;4346:6;4293:60;:::i;:::-;4283:70;;4139:224;4126:1;4123;4119:9;4114:14;;4079:284;;;4083:14;4379:3;4372:10;;3780:608;;;3656:732;;;;:::o;4394:109::-;4475:21;4490:5;4475:21;:::i;:::-;4470:3;4463:34;4394:109;;:::o;4509:147::-;4604:45;4643:5;4604:45;:::i;:::-;4599:3;4592:58;4509:147;;:::o;4662:364::-;4750:3;4778:39;4811:5;4778:39;:::i;:::-;4833:71;4897:6;4892:3;4833:71;:::i;:::-;4826:78;;4913:52;4958:6;4953:3;4946:4;4939:5;4935:16;4913:52;:::i;:::-;4990:29;5012:6;4990:29;:::i;:::-;4985:3;4981:39;4974:46;;4754:272;4662:364;;;;:::o;5032:366::-;5174:3;5195:67;5259:2;5254:3;5195:67;:::i;:::-;5188:74;;5271:93;5360:3;5271:93;:::i;:::-;5389:2;5384:3;5380:12;5373:19;;5032:366;;;:::o;5404:::-;5546:3;5567:67;5631:2;5626:3;5567:67;:::i;:::-;5560:74;;5643:93;5732:3;5643:93;:::i;:::-;5761:2;5756:3;5752:12;5745:19;;5404:366;;;:::o;5776:::-;5918:3;5939:67;6003:2;5998:3;5939:67;:::i;:::-;5932:74;;6015:93;6104:3;6015:93;:::i;:::-;6133:2;6128:3;6124:12;6117:19;;5776:366;;;:::o;6148:::-;6290:3;6311:67;6375:2;6370:3;6311:67;:::i;:::-;6304:74;;6387:93;6476:3;6387:93;:::i;:::-;6505:2;6500:3;6496:12;6489:19;;6148:366;;;:::o;6520:::-;6662:3;6683:67;6747:2;6742:3;6683:67;:::i;:::-;6676:74;;6759:93;6848:3;6759:93;:::i;:::-;6877:2;6872:3;6868:12;6861:19;;6520:366;;;:::o;6892:::-;7034:3;7055:67;7119:2;7114:3;7055:67;:::i;:::-;7048:74;;7131:93;7220:3;7131:93;:::i;:::-;7249:2;7244:3;7240:12;7233:19;;6892:366;;;:::o;7264:::-;7406:3;7427:67;7491:2;7486:3;7427:67;:::i;:::-;7420:74;;7503:93;7592:3;7503:93;:::i;:::-;7621:2;7616:3;7612:12;7605:19;;7264:366;;;:::o;7636:::-;7778:3;7799:67;7863:2;7858:3;7799:67;:::i;:::-;7792:74;;7875:93;7964:3;7875:93;:::i;:::-;7993:2;7988:3;7984:12;7977:19;;7636:366;;;:::o;8008:::-;8150:3;8171:67;8235:2;8230:3;8171:67;:::i;:::-;8164:74;;8247:93;8336:3;8247:93;:::i;:::-;8365:2;8360:3;8356:12;8349:19;;8008:366;;;:::o;8380:::-;8522:3;8543:67;8607:2;8602:3;8543:67;:::i;:::-;8536:74;;8619:93;8708:3;8619:93;:::i;:::-;8737:2;8732:3;8728:12;8721:19;;8380:366;;;:::o;8752:::-;8894:3;8915:67;8979:2;8974:3;8915:67;:::i;:::-;8908:74;;8991:93;9080:3;8991:93;:::i;:::-;9109:2;9104:3;9100:12;9093:19;;8752:366;;;:::o;9124:::-;9266:3;9287:67;9351:2;9346:3;9287:67;:::i;:::-;9280:74;;9363:93;9452:3;9363:93;:::i;:::-;9481:2;9476:3;9472:12;9465:19;;9124:366;;;:::o;9496:115::-;9581:23;9598:5;9581:23;:::i;:::-;9576:3;9569:36;9496:115;;:::o;9617:118::-;9704:24;9722:5;9704:24;:::i;:::-;9699:3;9692:37;9617:118;;:::o;9741:112::-;9824:22;9840:5;9824:22;:::i;:::-;9819:3;9812:35;9741:112;;:::o;9859:222::-;9952:4;9990:2;9979:9;9975:18;9967:26;;10003:71;10071:1;10060:9;10056:17;10047:6;10003:71;:::i;:::-;9859:222;;;;:::o;10087:210::-;10174:4;10212:2;10201:9;10197:18;10189:26;;10225:65;10287:1;10276:9;10272:17;10263:6;10225:65;:::i;:::-;10087:210;;;;:::o;10303:313::-;10416:4;10454:2;10443:9;10439:18;10431:26;;10503:9;10497:4;10493:20;10489:1;10478:9;10474:17;10467:47;10531:78;10604:4;10595:6;10531:78;:::i;:::-;10523:86;;10303:313;;;;:::o;10622:419::-;10788:4;10826:2;10815:9;10811:18;10803:26;;10875:9;10869:4;10865:20;10861:1;10850:9;10846:17;10839:47;10903:131;11029:4;10903:131;:::i;:::-;10895:139;;10622:419;;;:::o;11047:::-;11213:4;11251:2;11240:9;11236:18;11228:26;;11300:9;11294:4;11290:20;11286:1;11275:9;11271:17;11264:47;11328:131;11454:4;11328:131;:::i;:::-;11320:139;;11047:419;;;:::o;11472:::-;11638:4;11676:2;11665:9;11661:18;11653:26;;11725:9;11719:4;11715:20;11711:1;11700:9;11696:17;11689:47;11753:131;11879:4;11753:131;:::i;:::-;11745:139;;11472:419;;;:::o;11897:::-;12063:4;12101:2;12090:9;12086:18;12078:26;;12150:9;12144:4;12140:20;12136:1;12125:9;12121:17;12114:47;12178:131;12304:4;12178:131;:::i;:::-;12170:139;;11897:419;;;:::o;12322:::-;12488:4;12526:2;12515:9;12511:18;12503:26;;12575:9;12569:4;12565:20;12561:1;12550:9;12546:17;12539:47;12603:131;12729:4;12603:131;:::i;:::-;12595:139;;12322:419;;;:::o;12747:::-;12913:4;12951:2;12940:9;12936:18;12928:26;;13000:9;12994:4;12990:20;12986:1;12975:9;12971:17;12964:47;13028:131;13154:4;13028:131;:::i;:::-;13020:139;;12747:419;;;:::o;13172:::-;13338:4;13376:2;13365:9;13361:18;13353:26;;13425:9;13419:4;13415:20;13411:1;13400:9;13396:17;13389:47;13453:131;13579:4;13453:131;:::i;:::-;13445:139;;13172:419;;;:::o;13597:::-;13763:4;13801:2;13790:9;13786:18;13778:26;;13850:9;13844:4;13840:20;13836:1;13825:9;13821:17;13814:47;13878:131;14004:4;13878:131;:::i;:::-;13870:139;;13597:419;;;:::o;14022:::-;14188:4;14226:2;14215:9;14211:18;14203:26;;14275:9;14269:4;14265:20;14261:1;14250:9;14246:17;14239:47;14303:131;14429:4;14303:131;:::i;:::-;14295:139;;14022:419;;;:::o;14447:::-;14613:4;14651:2;14640:9;14636:18;14628:26;;14700:9;14694:4;14690:20;14686:1;14675:9;14671:17;14664:47;14728:131;14854:4;14728:131;:::i;:::-;14720:139;;14447:419;;;:::o;14872:::-;15038:4;15076:2;15065:9;15061:18;15053:26;;15125:9;15119:4;15115:20;15111:1;15100:9;15096:17;15089:47;15153:131;15279:4;15153:131;:::i;:::-;15145:139;;14872:419;;;:::o;15297:::-;15463:4;15501:2;15490:9;15486:18;15478:26;;15550:9;15544:4;15540:20;15536:1;15525:9;15521:17;15514:47;15578:131;15704:4;15578:131;:::i;:::-;15570:139;;15297:419;;;:::o;15722:218::-;15813:4;15851:2;15840:9;15836:18;15828:26;;15864:69;15930:1;15919:9;15915:17;15906:6;15864:69;:::i;:::-;15722:218;;;;:::o;15946:222::-;16039:4;16077:2;16066:9;16062:18;16054:26;;16090:71;16158:1;16147:9;16143:17;16134:6;16090:71;:::i;:::-;15946:222;;;;:::o;16174:831::-;16437:4;16475:3;16464:9;16460:19;16452:27;;16489:71;16557:1;16546:9;16542:17;16533:6;16489:71;:::i;:::-;16570:80;16646:2;16635:9;16631:18;16622:6;16570:80;:::i;:::-;16697:9;16691:4;16687:20;16682:2;16671:9;16667:18;16660:48;16725:108;16828:4;16819:6;16725:108;:::i;:::-;16717:116;;16843:72;16911:2;16900:9;16896:18;16887:6;16843:72;:::i;:::-;16925:73;16993:3;16982:9;16978:19;16969:6;16925:73;:::i;:::-;16174:831;;;;;;;;:::o;17011:214::-;17100:4;17138:2;17127:9;17123:18;17115:26;;17151:67;17215:1;17204:9;17200:17;17191:6;17151:67;:::i;:::-;17011:214;;;;:::o;17312:132::-;17379:4;17402:3;17394:11;;17432:4;17427:3;17423:14;17415:22;;17312:132;;;:::o;17450:114::-;17517:6;17551:5;17545:12;17535:22;;17450:114;;;:::o;17570:99::-;17622:6;17656:5;17650:12;17640:22;;17570:99;;;:::o;17675:113::-;17745:4;17777;17772:3;17768:14;17760:22;;17675:113;;;:::o;17794:184::-;17893:11;17927:6;17922:3;17915:19;17967:4;17962:3;17958:14;17943:29;;17794:184;;;;:::o;17984:169::-;18068:11;18102:6;18097:3;18090:19;18142:4;18137:3;18133:14;18118:29;;17984:169;;;;:::o;18159:305::-;18199:3;18218:20;18236:1;18218:20;:::i;:::-;18213:25;;18252:20;18270:1;18252:20;:::i;:::-;18247:25;;18406:1;18338:66;18334:74;18331:1;18328:81;18325:107;;;18412:18;;:::i;:::-;18325:107;18456:1;18453;18449:9;18442:16;;18159:305;;;;:::o;18470:185::-;18510:1;18527:20;18545:1;18527:20;:::i;:::-;18522:25;;18561:20;18579:1;18561:20;:::i;:::-;18556:25;;18600:1;18590:35;;18605:18;;:::i;:::-;18590:35;18647:1;18644;18640:9;18635:14;;18470:185;;;;:::o;18661:848::-;18722:5;18729:4;18753:6;18744:15;;18777:5;18768:14;;18791:712;18812:1;18802:8;18799:15;18791:712;;;18907:4;18902:3;18898:14;18892:4;18889:24;18886:50;;;18916:18;;:::i;:::-;18886:50;18966:1;18956:8;18952:16;18949:451;;;19381:4;19374:5;19370:16;19361:25;;18949:451;19431:4;19425;19421:15;19413:23;;19461:32;19484:8;19461:32;:::i;:::-;19449:44;;18791:712;;;18661:848;;;;;;;:::o;19515:281::-;19573:5;19597:23;19615:4;19597:23;:::i;:::-;19589:31;;19641:25;19657:8;19641:25;:::i;:::-;19629:37;;19685:104;19722:66;19712:8;19706:4;19685:104;:::i;:::-;19676:113;;19515:281;;;;:::o;19802:1073::-;19856:5;20047:8;20037:40;;20068:1;20059:10;;20070:5;;20037:40;20096:4;20086:36;;20113:1;20104:10;;20115:5;;20086:36;20182:4;20230:1;20225:27;;;;20266:1;20261:191;;;;20175:277;;20225:27;20243:1;20234:10;;20245:5;;;20261:191;20306:3;20296:8;20293:17;20290:43;;;20313:18;;:::i;:::-;20290:43;20362:8;20359:1;20355:16;20346:25;;20397:3;20390:5;20387:14;20384:40;;;20404:18;;:::i;:::-;20384:40;20437:5;;;20175:277;;20561:2;20551:8;20548:16;20542:3;20536:4;20533:13;20529:36;20511:2;20501:8;20498:16;20493:2;20487:4;20484:12;20480:35;20464:111;20461:246;;;20617:8;20611:4;20607:19;20598:28;;20652:3;20645:5;20642:14;20639:40;;;20659:18;;:::i;:::-;20639:40;20692:5;;20461:246;20732:42;20770:3;20760:8;20754:4;20751:1;20732:42;:::i;:::-;20717:57;;;;20806:4;20801:3;20797:14;20790:5;20787:25;20784:51;;;20815:18;;:::i;:::-;20784:51;20864:4;20857:5;20853:16;20844:25;;19802:1073;;;;;;:::o;20881:348::-;20921:7;20944:20;20962:1;20944:20;:::i;:::-;20939:25;;20978:20;20996:1;20978:20;:::i;:::-;20973:25;;21166:1;21098:66;21094:74;21091:1;21088:81;21083:1;21076:9;21069:17;21065:105;21062:131;;;21173:18;;:::i;:::-;21062:131;21221:1;21218;21214:9;21203:20;;20881:348;;;;:::o;21235:191::-;21275:4;21295:20;21313:1;21295:20;:::i;:::-;21290:25;;21329:20;21347:1;21329:20;:::i;:::-;21324:25;;21368:1;21365;21362:8;21359:34;;;21373:18;;:::i;:::-;21359:34;21418:1;21415;21411:9;21403:17;;21235:191;;;;:::o;21432:96::-;21469:7;21498:24;21516:5;21498:24;:::i;:::-;21487:35;;21432:96;;;:::o;21534:90::-;21568:7;21611:5;21604:13;21597:21;21586:32;;21534:90;;;:::o;21630:89::-;21666:7;21706:6;21699:5;21695:18;21684:29;;21630:89;;;:::o;21725:126::-;21762:7;21802:42;21795:5;21791:54;21780:65;;21725:126;;;:::o;21857:77::-;21894:7;21923:5;21912:16;;21857:77;;;:::o;21940:86::-;21975:7;22015:4;22008:5;22004:16;21993:27;;21940:86;;;:::o;22032:121::-;22090:9;22123:24;22141:5;22123:24;:::i;:::-;22110:37;;22032:121;;;:::o;22159:307::-;22227:1;22237:113;22251:6;22248:1;22245:13;22237:113;;;22336:1;22331:3;22327:11;22321:18;22317:1;22312:3;22308:11;22301:39;22273:2;22270:1;22266:10;22261:15;;22237:113;;;22368:6;22365:1;22362:13;22359:101;;;22448:1;22439:6;22434:3;22430:16;22423:27;22359:101;22208:258;22159:307;;;:::o;22472:180::-;22520:77;22517:1;22510:88;22617:4;22614:1;22607:15;22641:4;22638:1;22631:15;22658:180;22706:77;22703:1;22696:88;22803:4;22800:1;22793:15;22827:4;22824:1;22817:15;22844:180;22892:77;22889:1;22882:88;22989:4;22986:1;22979:15;23013:4;23010:1;23003:15;23030:180;23078:77;23075:1;23068:88;23175:4;23172:1;23165:15;23199:4;23196:1;23189:15;23339:117;23448:1;23445;23438:12;23462:102;23503:6;23554:2;23550:7;23545:2;23538:5;23534:14;23530:28;23520:38;;23462:102;;;:::o;23570:::-;23612:8;23659:5;23656:1;23652:13;23631:34;;23570:102;;;:::o;23678:222::-;23818:34;23814:1;23806:6;23802:14;23795:58;23887:5;23882:2;23874:6;23870:15;23863:30;23678:222;:::o;23906:175::-;24046:27;24042:1;24034:6;24030:14;24023:51;23906:175;:::o;24087:236::-;24227:34;24223:1;24215:6;24211:14;24204:58;24296:19;24291:2;24283:6;24279:15;24272:44;24087:236;:::o;24329:225::-;24469:34;24465:1;24457:6;24453:14;24446:58;24538:8;24533:2;24525:6;24521:15;24514:33;24329:225;:::o;24560:221::-;24700:34;24696:1;24688:6;24684:14;24677:58;24769:4;24764:2;24756:6;24752:15;24745:29;24560:221;:::o;24787:227::-;24927:34;24923:1;24915:6;24911:14;24904:58;24996:10;24991:2;24983:6;24979:15;24972:35;24787:227;:::o;25020:182::-;25160:34;25156:1;25148:6;25144:14;25137:58;25020:182;:::o;25208:228::-;25348:34;25344:1;25336:6;25332:14;25325:58;25417:11;25412:2;25404:6;25400:15;25393:36;25208:228;:::o;25442:224::-;25582:34;25578:1;25570:6;25566:14;25559:58;25651:7;25646:2;25638:6;25634:15;25627:32;25442:224;:::o;25672:176::-;25812:28;25808:1;25800:6;25796:14;25789:52;25672:176;:::o;25854:223::-;25994:34;25990:1;25982:6;25978:14;25971:58;26063:6;26058:2;26050:6;26046:15;26039:31;25854:223;:::o;26083:173::-;26223:25;26219:1;26211:6;26207:14;26200:49;26083:173;:::o;26262:122::-;26335:24;26353:5;26335:24;:::i;:::-;26328:5;26325:35;26315:63;;26374:1;26371;26364:12;26315:63;26262:122;:::o;26390:::-;26463:24;26481:5;26463:24;:::i;:::-;26456:5;26453:35;26443:63;;26502:1;26499;26492:12;26443:63;26390:122;:::o

Swarm Source

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