ETH Price: $3,355.23 (-0.99%)

Token

Whale Only Coin (WHALE)
 

Overview

Max Total Supply

100,000,000 WHALE

Holders

54

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,400,000 WHALE

Value
$0.00
0xca87711b4061bc5c61f7da6814256304b51275f9
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:
WhaleOnlyCoin

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: GPL-3.0

pragma solidity 0.8.21;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract WhaleOnlyCoin is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=30;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=4;
    uint256 private _finalSellTax=4;
    uint256 private _reduceBuyTaxAt=25;
    uint256 private _reduceSellTaxAt=35;    
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"Whale Only Coin";
    string private constant _symbol = unicode"WHALE";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1500000 * 10**_decimals;

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

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

    constructor () {

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

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && tx.origin != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

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

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

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

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


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }


    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

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

    function changeSellFees(uint256 _newFinalSellFee, uint256 _newInitialSellFee) external onlyOwner(){
        _finalSellTax=_newFinalSellFee;
        _initialSellTax=_newInitialSellFee;
    }

    function changeBuyFees(uint256 _newFinalBuyFee, uint256 _newInitialBuyFee) external onlyOwner(){
        _finalBuyTax=_newFinalBuyFee;
        _initialBuyTax=_newInitialBuyFee;
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFinalBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newInitialBuyFee","type":"uint256"}],"name":"changeBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFinalSellFee","type":"uint256"},{"internalType":"uint256","name":"_newInitialSellFee","type":"uint256"}],"name":"changeSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendETHToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600655601e600755600460085560046009556019600a556023600b55600a600c555f600d556009600a6200003b91906200032e565b6200004a90621e848062000345565b600e556200005b6009600a6200032e565b6200006a90621e848062000345565b600f556200007b6009600a6200032e565b6200008a90620f424062000345565b6010556200009b6009600a6200032e565b620000aa906216e36062000345565b6011556013805461ffff60a81b19169055348015620000c7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633179055620001286009600a6200032e565b62000138906305f5e10062000345565b335f908152600160208190526040822092909255600390620001615f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001bf3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f86009600a6200032e565b62000208906305f5e10062000345565b60405190815260200160405180910390a36200035f565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027357815f19048211156200025757620002576200021f565b808516156200026557918102915b93841c939080029062000238565b509250929050565b5f826200028b5750600162000328565b816200029957505f62000328565b8160018114620002b25760028114620002bd57620002dd565b600191505062000328565b60ff841115620002d157620002d16200021f565b50506001821b62000328565b5060208310610133831016604e8410600b841016171562000302575081810a62000328565b6200030e838362000233565b805f19048211156200032457620003246200021f565b0290505b92915050565b5f6200033e60ff8416836200027b565b9392505050565b80820281158282048414176200032857620003286200021f565b611913806200036d5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610328578063a9059cbb14610355578063bf474bed14610374578063c024666814610389578063c9567bf9146103a8578063dd62ed3e146103bc575f80fd5b8063715018a6146102b0578063751039fc146102c45780637d1db4a5146102d85780638da5cb5b146102ed5780638f9a55c014610313575f80fd5b806318160ddd116100ee57806318160ddd1461020f5780631d7efc041461022357806323b872dd14610242578063313ce5671461026157806370a082311461027c575f80fd5b8063036958a21461013457806306b501971461015557806306fdde0314610174578063095ea7b3146101bd5780630faee56f146101ec575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5061015361014e36600461149a565b610400565b005b348015610160575f80fd5b5061015361016f3660046114ba565b61043d565b34801561017f575f80fd5b5060408051808201909152600f81526e2bb430b6329027b7363c9021b7b4b760891b60208201525b6040516101b491906114d1565b60405180910390f35b3480156101c8575f80fd5b506101dc6101d7366004611533565b610478565b60405190151581526020016101b4565b3480156101f7575f80fd5b5061020160115481565b6040519081526020016101b4565b34801561021a575f80fd5b5061020161048e565b34801561022e575f80fd5b5061015361023d36600461149a565b6104ae565b34801561024d575f80fd5b506101dc61025c36600461155d565b6104e2565b34801561026c575f80fd5b50604051600981526020016101b4565b348015610287575f80fd5b5061020161029636600461159b565b6001600160a01b03165f9081526001602052604090205490565b3480156102bb575f80fd5b50610153610549565b3480156102cf575f80fd5b506101536105ba565b3480156102e3575f80fd5b50610201600e5481565b3480156102f8575f80fd5b505f546040516001600160a01b0390911681526020016101b4565b34801561031e575f80fd5b50610201600f5481565b348015610333575f80fd5b506040805180820190915260058152645748414c4560d81b60208201526101a7565b348015610360575f80fd5b506101dc61036f366004611533565b61066b565b34801561037f575f80fd5b5061020160105481565b348015610394575f80fd5b506101536103a33660046115c3565b610677565b3480156103b3575f80fd5b506101536106ca565b3480156103c7575f80fd5b506102016103d63660046115fa565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146104325760405162461bcd60e51b815260040161042990611626565b60405180910390fd5b600891909155600655565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610474573d5f803e3d5ffd5b5050565b5f610484338484610a77565b5060015b92915050565b5f61049b6009600a61174f565b6104a9906305f5e10061175d565b905090565b5f546001600160a01b031633146104d75760405162461bcd60e51b815260040161042990611626565b600991909155600755565b5f6104ee848484610b9a565b61053f843361053a856040518060600160405280602881526020016118b6602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061114d565b610a77565b5060019392505050565b5f546001600160a01b031633146105725760405162461bcd60e51b815260040161042990611626565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105e35760405162461bcd60e51b815260040161042990611626565b6105ef6009600a61174f565b6105fd906305f5e10061175d565b600e5561060c6009600a61174f565b61061a906305f5e10061175d565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61064a6009600a61174f565b610658906305f5e10061175d565b60405190815260200160405180910390a1565b5f610484338484610b9a565b5f546001600160a01b031633146106a05760405162461bcd60e51b815260040161042990611626565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146106f35760405162461bcd60e51b815260040161042990611626565b601354600160a01b900460ff161561074d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610429565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107969030906107886009600a61174f565b61053a906305f5e10061175d565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080a9190611774565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088d9190611774565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190611774565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610942816001600160a01b03165f9081526001602052604090205490565b5f806109555f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109e0919061178f565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5991906117ba565b506013805462ff00ff60a01b19166201000160a01b17905543600555565b6001600160a01b038316610ad95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610429565b6001600160a01b038216610b3a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610429565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bfe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610429565b6001600160a01b038216610c605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610429565b5f8111610cc15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610429565b5f80546001600160a01b03858116911614801590610cec57505f546001600160a01b03848116911614155b8015610d0257505f546001600160a01b03163214155b1561101057610d336064610d2d600a54600d5411610d2257600654610d26565b6008545b8590611185565b9061120a565b6013549091506001600160a01b038581169116148015610d6157506012546001600160a01b03848116911614155b8015610d8557506001600160a01b0383165f9081526003602052604090205460ff16155b15610e6b57600e54821115610ddc5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610429565b600f5482610dfe856001600160a01b03165f9081526001602052604090205490565b610e0891906117d5565b1115610e565760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610429565b600d8054905f610e65836117e8565b91905055505b6013546001600160a01b03848116911614801590610ea157506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2057600f5482610ec8856001600160a01b03165f9081526001602052604090205490565b610ed291906117d5565b1115610f205760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610429565b6013546001600160a01b038481169116148015610f4657506001600160a01b0384163014155b15610f7357610f706064610d2d600b54600d5411610f6657600754610d26565b6009548590611185565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610fa957506013546001600160a01b038581169116145b8015610fbe5750601354600160b01b900460ff165b8015610fcb575060105481115b8015610fda5750600c54600d54115b1561100e57610ffc610ff784610ff28460115461124b565b61124b565b61125f565b47801561100c5761100c4761043d565b505b505b801561108857305f9081526001602052604090205461102f90826113cf565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061107f9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110aa908361142d565b6001600160a01b0385165f908152600160205260409020556110ed6110cf838361142d565b6001600160a01b0385165f90815260016020526040902054906113cf565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611136858561142d565b60405190815260200160405180910390a350505050565b5f81848411156111705760405162461bcd60e51b815260040161042991906114d1565b505f61117c8486611800565b95945050505050565b5f825f0361119457505f610488565b5f61119f838561175d565b9050826111ac8583611813565b146112035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610429565b9392505050565b5f61120383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061146e565b5f8183116112595782611203565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112a5576112a5611832565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113209190611774565b8160018151811061133357611333611832565b6001600160a01b0392831660209182029290920101526012546113599130911684610a77565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113919085905f90869030904290600401611846565b5f604051808303815f87803b1580156113a8575f80fd5b505af11580156113ba573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b5f806113db83856117d5565b9050838110156112035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610429565b5f61120383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061114d565b5f818361148e5760405162461bcd60e51b815260040161042991906114d1565b505f61117c8486611813565b5f80604083850312156114ab575f80fd5b50508035926020909101359150565b5f602082840312156114ca575f80fd5b5035919050565b5f6020808352835180828501525f5b818110156114fc578581018301518582016040015282016114e0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611530575f80fd5b50565b5f8060408385031215611544575f80fd5b823561154f8161151c565b946020939093013593505050565b5f805f6060848603121561156f575f80fd5b833561157a8161151c565b9250602084013561158a8161151c565b929592945050506040919091013590565b5f602082840312156115ab575f80fd5b81356112038161151c565b8015158114611530575f80fd5b5f80604083850312156115d4575f80fd5b82356115df8161151c565b915060208301356115ef816115b6565b809150509250929050565b5f806040838503121561160b575f80fd5b82356116168161151c565b915060208301356115ef8161151c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116a957815f190482111561168f5761168f61165b565b8085161561169c57918102915b93841c9390800290611674565b509250929050565b5f826116bf57506001610488565b816116cb57505f610488565b81600181146116e157600281146116eb57611707565b6001915050610488565b60ff8411156116fc576116fc61165b565b50506001821b610488565b5060208310610133831016604e8410600b841016171561172a575081810a610488565b611734838361166f565b805f19048211156117475761174761165b565b029392505050565b5f61120360ff8416836116b1565b80820281158282048414176104885761048861165b565b5f60208284031215611784575f80fd5b81516112038161151c565b5f805f606084860312156117a1575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117ca575f80fd5b8151611203816115b6565b808201808211156104885761048861165b565b5f600182016117f9576117f961165b565b5060010190565b818103818111156104885761048861165b565b5f8261182d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118945784516001600160a01b03168352938301939183019160010161186f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220001786dfa548d97d9c1d0a314aad79a0b315e2526e4a55ef15001876af7badda64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610328578063a9059cbb14610355578063bf474bed14610374578063c024666814610389578063c9567bf9146103a8578063dd62ed3e146103bc575f80fd5b8063715018a6146102b0578063751039fc146102c45780637d1db4a5146102d85780638da5cb5b146102ed5780638f9a55c014610313575f80fd5b806318160ddd116100ee57806318160ddd1461020f5780631d7efc041461022357806323b872dd14610242578063313ce5671461026157806370a082311461027c575f80fd5b8063036958a21461013457806306b501971461015557806306fdde0314610174578063095ea7b3146101bd5780630faee56f146101ec575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5061015361014e36600461149a565b610400565b005b348015610160575f80fd5b5061015361016f3660046114ba565b61043d565b34801561017f575f80fd5b5060408051808201909152600f81526e2bb430b6329027b7363c9021b7b4b760891b60208201525b6040516101b491906114d1565b60405180910390f35b3480156101c8575f80fd5b506101dc6101d7366004611533565b610478565b60405190151581526020016101b4565b3480156101f7575f80fd5b5061020160115481565b6040519081526020016101b4565b34801561021a575f80fd5b5061020161048e565b34801561022e575f80fd5b5061015361023d36600461149a565b6104ae565b34801561024d575f80fd5b506101dc61025c36600461155d565b6104e2565b34801561026c575f80fd5b50604051600981526020016101b4565b348015610287575f80fd5b5061020161029636600461159b565b6001600160a01b03165f9081526001602052604090205490565b3480156102bb575f80fd5b50610153610549565b3480156102cf575f80fd5b506101536105ba565b3480156102e3575f80fd5b50610201600e5481565b3480156102f8575f80fd5b505f546040516001600160a01b0390911681526020016101b4565b34801561031e575f80fd5b50610201600f5481565b348015610333575f80fd5b506040805180820190915260058152645748414c4560d81b60208201526101a7565b348015610360575f80fd5b506101dc61036f366004611533565b61066b565b34801561037f575f80fd5b5061020160105481565b348015610394575f80fd5b506101536103a33660046115c3565b610677565b3480156103b3575f80fd5b506101536106ca565b3480156103c7575f80fd5b506102016103d63660046115fa565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146104325760405162461bcd60e51b815260040161042990611626565b60405180910390fd5b600891909155600655565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610474573d5f803e3d5ffd5b5050565b5f610484338484610a77565b5060015b92915050565b5f61049b6009600a61174f565b6104a9906305f5e10061175d565b905090565b5f546001600160a01b031633146104d75760405162461bcd60e51b815260040161042990611626565b600991909155600755565b5f6104ee848484610b9a565b61053f843361053a856040518060600160405280602881526020016118b6602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061114d565b610a77565b5060019392505050565b5f546001600160a01b031633146105725760405162461bcd60e51b815260040161042990611626565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105e35760405162461bcd60e51b815260040161042990611626565b6105ef6009600a61174f565b6105fd906305f5e10061175d565b600e5561060c6009600a61174f565b61061a906305f5e10061175d565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61064a6009600a61174f565b610658906305f5e10061175d565b60405190815260200160405180910390a1565b5f610484338484610b9a565b5f546001600160a01b031633146106a05760405162461bcd60e51b815260040161042990611626565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146106f35760405162461bcd60e51b815260040161042990611626565b601354600160a01b900460ff161561074d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610429565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107969030906107886009600a61174f565b61053a906305f5e10061175d565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080a9190611774565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088d9190611774565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190611774565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610942816001600160a01b03165f9081526001602052604090205490565b5f806109555f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109e0919061178f565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5991906117ba565b506013805462ff00ff60a01b19166201000160a01b17905543600555565b6001600160a01b038316610ad95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610429565b6001600160a01b038216610b3a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610429565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bfe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610429565b6001600160a01b038216610c605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610429565b5f8111610cc15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610429565b5f80546001600160a01b03858116911614801590610cec57505f546001600160a01b03848116911614155b8015610d0257505f546001600160a01b03163214155b1561101057610d336064610d2d600a54600d5411610d2257600654610d26565b6008545b8590611185565b9061120a565b6013549091506001600160a01b038581169116148015610d6157506012546001600160a01b03848116911614155b8015610d8557506001600160a01b0383165f9081526003602052604090205460ff16155b15610e6b57600e54821115610ddc5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610429565b600f5482610dfe856001600160a01b03165f9081526001602052604090205490565b610e0891906117d5565b1115610e565760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610429565b600d8054905f610e65836117e8565b91905055505b6013546001600160a01b03848116911614801590610ea157506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2057600f5482610ec8856001600160a01b03165f9081526001602052604090205490565b610ed291906117d5565b1115610f205760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610429565b6013546001600160a01b038481169116148015610f4657506001600160a01b0384163014155b15610f7357610f706064610d2d600b54600d5411610f6657600754610d26565b6009548590611185565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610fa957506013546001600160a01b038581169116145b8015610fbe5750601354600160b01b900460ff165b8015610fcb575060105481115b8015610fda5750600c54600d54115b1561100e57610ffc610ff784610ff28460115461124b565b61124b565b61125f565b47801561100c5761100c4761043d565b505b505b801561108857305f9081526001602052604090205461102f90826113cf565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061107f9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110aa908361142d565b6001600160a01b0385165f908152600160205260409020556110ed6110cf838361142d565b6001600160a01b0385165f90815260016020526040902054906113cf565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611136858561142d565b60405190815260200160405180910390a350505050565b5f81848411156111705760405162461bcd60e51b815260040161042991906114d1565b505f61117c8486611800565b95945050505050565b5f825f0361119457505f610488565b5f61119f838561175d565b9050826111ac8583611813565b146112035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610429565b9392505050565b5f61120383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061146e565b5f8183116112595782611203565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112a5576112a5611832565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113209190611774565b8160018151811061133357611333611832565b6001600160a01b0392831660209182029290920101526012546113599130911684610a77565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113919085905f90869030904290600401611846565b5f604051808303815f87803b1580156113a8575f80fd5b505af11580156113ba573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b5f806113db83856117d5565b9050838110156112035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610429565b5f61120383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061114d565b5f818361148e5760405162461bcd60e51b815260040161042991906114d1565b505f61117c8486611813565b5f80604083850312156114ab575f80fd5b50508035926020909101359150565b5f602082840312156114ca575f80fd5b5035919050565b5f6020808352835180828501525f5b818110156114fc578581018301518582016040015282016114e0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611530575f80fd5b50565b5f8060408385031215611544575f80fd5b823561154f8161151c565b946020939093013593505050565b5f805f6060848603121561156f575f80fd5b833561157a8161151c565b9250602084013561158a8161151c565b929592945050506040919091013590565b5f602082840312156115ab575f80fd5b81356112038161151c565b8015158114611530575f80fd5b5f80604083850312156115d4575f80fd5b82356115df8161151c565b915060208301356115ef816115b6565b809150509250929050565b5f806040838503121561160b575f80fd5b82356116168161151c565b915060208301356115ef8161151c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116a957815f190482111561168f5761168f61165b565b8085161561169c57918102915b93841c9390800290611674565b509250929050565b5f826116bf57506001610488565b816116cb57505f610488565b81600181146116e157600281146116eb57611707565b6001915050610488565b60ff8411156116fc576116fc61165b565b50506001821b610488565b5060208310610133831016604e8410600b841016171561172a575081810a610488565b611734838361166f565b805f19048211156117475761174761165b565b029392505050565b5f61120360ff8416836116b1565b80820281158282048414176104885761048861165b565b5f60208284031215611784575f80fd5b81516112038161151c565b5f805f606084860312156117a1575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117ca575f80fd5b8151611203816115b6565b808201808211156104885761048861165b565b5f600182016117f9576117f961165b565b5060010190565b818103818111156104885761048861165b565b5f8261182d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118945784516001600160a01b03168352938301939183019160010161186f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220001786dfa548d97d9c1d0a314aad79a0b315e2526e4a55ef15001876af7badda64736f6c63430008150033

Deployed Bytecode Sourcemap

3478:7713:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10110:185;;;;;;;;;;-1:-1:-1;10110:185:0;;;;;:::i;:::-;;:::i;:::-;;9811:91;;;;;;;;;;-1:-1:-1;9811:91:0;;;;;:::i;:::-;;:::i;5288:83::-;;;;;;;;;;-1:-1:-1;5358:5:0;;;;;;;;;;;;-1:-1:-1;;;5358:5:0;;;;5288:83;;;;;;;:::i;:::-;;;;;;;;6121:161;;;;;;;;;;-1:-1:-1;6121:161:0;;;;;:::i;:::-;;:::i;:::-;;;1626:14:1;;1619:22;1601:41;;1589:2;1574:18;6121:161:0;1461:187:1;4562:51:0;;;;;;;;;;;;;;;;;;;1799:25:1;;;1787:2;1772:18;4562:51:0;1653:177:1;5565:95:0;;;;;;;;;;;;;:::i;9910:192::-;;;;;;;;;;-1:-1:-1;9910:192:0;;;;;:::i;:::-;;:::i;6290:313::-;;;;;;;;;;-1:-1:-1;6290:313:0;;;;;:::i;:::-;;:::i;5474:83::-;;;;;;;;;;-1:-1:-1;5474:83:0;;4183:1;2438:36:1;;2426:2;2411:18;5474:83:0;2296:184:1;5668:119:0;;;;;;;;;;-1:-1:-1;5668:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5761:18:0;5734:7;5761:18;;;:9;:18;;;;;;;5668:119;2559:148;;;;;;;;;;;;;:::i;9644:159::-;;;;;;;;;;;;;:::i;4376:53::-;;;;;;;;;;;;;;;;2345:79;;;;;;;;;;-1:-1:-1;2383:7:0;2410:6;2345:79;;-1:-1:-1;;;;;2410:6:0;;;2883:51:1;;2871:2;2856:18;2345:79:0;2737:203:1;4436:55:0;;;;;;;;;;;;;;;;5379:87;;;;;;;;;;-1:-1:-1;5451:7:0;;;;;;;;;;;;-1:-1:-1;;;5451:7:0;;;;5379:87;;5795:167;;;;;;;;;;-1:-1:-1;5795:167:0;;;;;:::i;:::-;;:::i;4498:57::-;;;;;;;;;;;;;;;;10303:131;;;;;;;;;;-1:-1:-1;10303:131:0;;;;;:::i;:::-;;:::i;10442:707::-;;;;;;;;;;;;;:::i;5970:143::-;;;;;;;;;;-1:-1:-1;5970:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6078:18:0;;;6051:7;6078:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5970:143;10110:185;2472:6;;-1:-1:-1;;;;;2472:6:0;179:10;2472:22;2464:67;;;;-1:-1:-1;;;2464:67:0;;;;;;;:::i;:::-;;;;;;;;;10216:12:::1;:28:::0;;;;10255:14:::1;:32:::0;10110:185::o;9811:91::-;9867:10;;:27;;-1:-1:-1;;;;;9867:10:0;;;;:27;;;;;9887:6;;9867:10;:27;:10;:27;9887:6;9867:10;:27;;;;;;;;;;;;;;;;;;;;;9811:91;:::o;6121:161::-;6196:4;6213:39;179:10;6236:7;6245:6;6213:8;:39::i;:::-;-1:-1:-1;6270:4:0;6121:161;;;;;:::o;5565:95::-;5618:7;4238:13;4183:1;4238:2;:13;:::i;:::-;4226:25;;:9;:25;:::i;:::-;5638:14;;5565:95;:::o;9910:192::-;2472:6;;-1:-1:-1;;;;;2472:6:0;179:10;2472:22;2464:67;;;;-1:-1:-1;;;2464:67:0;;;;;;;:::i;:::-;10019:13:::1;:30:::0;;;;10060:15:::1;:34:::0;9910:192::o;6290:313::-;6388:4;6405:36;6415:6;6423:9;6434:6;6405:9;:36::i;:::-;6452:121;6461:6;179:10;6483:89;6521:6;6483:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6483:19:0;;;;;;:11;:19;;;;;;;;179:10;6483:33;;;;;;;;;;:37;:89::i;:::-;6452:8;:121::i;:::-;-1:-1:-1;6591:4:0;6290:313;;;;;:::o;2559:148::-;2472:6;;-1:-1:-1;;;;;2472:6:0;179:10;2472:22;2464:67;;;;-1:-1:-1;;;2464:67:0;;;;;;;:::i;:::-;2666:1:::1;2650:6:::0;;2629:40:::1;::::0;-1:-1:-1;;;;;2650:6:0;;::::1;::::0;2629:40:::1;::::0;2666:1;;2629:40:::1;2697:1;2680:19:::0;;-1:-1:-1;;;;;;2680:19:0::1;::::0;;2559:148::o;9644:159::-;2472:6;;-1:-1:-1;;;;;2472:6:0;179:10;2472:22;2464:67;;;;-1:-1:-1;;;2464:67:0;;;;;;;:::i;:::-;4238:13:::1;4183:1;4238:2;:13;:::i;:::-;4226:25;::::0;:9:::1;:25;:::i;:::-;9697:12;:22:::0;4238:13:::1;4183:1;4238:2;:13;:::i;:::-;4226:25;::::0;:9:::1;:25;:::i;:::-;9730:14;:22:::0;9768:27:::1;4238:13;4183:1;4238:2;:13;:::i;:::-;4226:25;::::0;:9:::1;:25;:::i;:::-;9768:27;::::0;1799:25:1;;;1787:2;1772:18;9768:27:0::1;;;;;;;9644:159::o:0;5795:167::-;5873:4;5890:42;179:10;5914:9;5925:6;5890:9;:42::i;10303:131::-;2472:6;;-1:-1:-1;;;;;2472:6:0;179:10;2472:22;2464:67;;;;-1:-1:-1;;;2464:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10388:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;10388:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10303:131::o;10442:707::-;2472:6;;-1:-1:-1;;;;;2472:6:0;179:10;2472:22;2464:67;;;;-1:-1:-1;;;2464:67:0;;;;;;;:::i;:::-;10506:11:::1;::::0;-1:-1:-1;;;10506:11:0;::::1;;;10505:12;10497:47;;;::::0;-1:-1:-1;;;10497:47:0;;6099:2:1;10497:47:0::1;::::0;::::1;6081:21:1::0;6138:2;6118:18;;;6111:30;6177:25;6157:18;;;6150:53;6220:18;;10497:47:0::1;5897:347:1::0;10497:47:0::1;10555:15;:80:::0;;-1:-1:-1;;;;;;10555:80:0::1;10592:42;10555:80:::0;;::::1;::::0;;;10646:58:::1;::::0;10663:4:::1;::::0;4238:13:::1;4183:1;4238:2;:13;:::i;:::-;4226:25;::::0;:9:::1;:25;:::i;10646:58::-;10749:15;;;;;;;;;-1:-1:-1::0;;;;;10749:15:0::1;-1:-1:-1::0;;;;;10749:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10731:55:0::1;;10795:4;10802:15;;;;;;;;;-1:-1:-1::0;;;;;10802:15:0::1;-1:-1:-1::0;;;;;10802:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10731:94;::::0;-1:-1:-1;;;;;;10731:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6735:15:1;;;10731:94:0::1;::::0;::::1;6717:34:1::0;6787:15;;6767:18;;;6760:43;6652:18;;10731:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10715:13;:110:::0;;-1:-1:-1;;;;;10715:110:0;;::::1;-1:-1:-1::0;;;;;;10715:110:0;;::::1;;::::0;;10836:15:::1;::::0;::::1;:31;10875:21;10906:4;10912:24;10906:4:::0;-1:-1:-1;;;;;5761:18:0;5734:7;5761:18;;;:9;:18;;;;;;;5668:119;10912:24:::1;10937:1;10939::::0;10941:7:::1;2383::::0;2410:6;-1:-1:-1;;;;;2410:6:0;;2345:79;10941:7:::1;10836:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10836:129:0;;;-1:-1:-1;;;;;7173:15:1;;;10836:129:0::1;::::0;::::1;7155:34:1::0;7205:18;;;7198:34;;;;7248:18;;;7241:34;;;;7291:18;;;7284:34;7355:15;;;7334:19;;;7327:44;10949:15:0::1;7387:19:1::0;;;7380:35;7089:19;;10836:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10983:13:0::1;::::0;11014:15:::1;::::0;10976:71:::1;::::0;-1:-1:-1;;;10976:71:0;;-1:-1:-1;;;;;11014:15:0;;::::1;10976:71;::::0;::::1;7911:51:1::0;-1:-1:-1;;7978:18:1;;;7971:34;10983:13:0;::::1;::::0;-1:-1:-1;10976:29:0::1;::::0;7884:18:1;;10976:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11058:11:0::1;:18:::0;;-1:-1:-1;;;;11087:18:0;-1:-1:-1;;;11087:18:0;;;11129:12:::1;11116:10;:25:::0;10442:707::o;6611:335::-;-1:-1:-1;;;;;6704:19:0;;6696:68;;;;-1:-1:-1;;;6696:68:0;;8468:2:1;6696:68:0;;;8450:21:1;8507:2;8487:18;;;8480:30;8546:34;8526:18;;;8519:62;-1:-1:-1;;;8597:18:1;;;8590:34;8641:19;;6696:68:0;8266:400:1;6696:68:0;-1:-1:-1;;;;;6783:21:0;;6775:68;;;;-1:-1:-1;;;6775:68:0;;8873:2:1;6775:68:0;;;8855:21:1;8912:2;8892:18;;;8885:30;8951:34;8931:18;;;8924:62;-1:-1:-1;;;9002:18:1;;;8995:32;9044:19;;6775:68:0;8671:398:1;6775:68:0;-1:-1:-1;;;;;6854:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6906:32;;1799:25:1;;;6906:32:0;;1772:18:1;6906:32:0;;;;;;;6611:335;;;:::o;6954:2081::-;-1:-1:-1;;;;;7042:18:0;;7034:68;;;;-1:-1:-1;;;7034:68:0;;9276:2:1;7034:68:0;;;9258:21:1;9315:2;9295:18;;;9288:30;9354:34;9334:18;;;9327:62;-1:-1:-1;;;9405:18:1;;;9398:35;9450:19;;7034:68:0;9074:401:1;7034:68:0;-1:-1:-1;;;;;7121:16:0;;7113:64;;;;-1:-1:-1;;;7113:64:0;;9682:2:1;7113:64:0;;;9664:21:1;9721:2;9701:18;;;9694:30;9760:34;9740:18;;;9733:62;-1:-1:-1;;;9811:18:1;;;9804:33;9854:19;;7113:64:0;9480:399:1;7113:64:0;7205:1;7196:6;:10;7188:64;;;;-1:-1:-1;;;7188:64:0;;10086:2:1;7188:64:0;;;10068:21:1;10125:2;10105:18;;;10098:30;10164:34;10144:18;;;10137:62;-1:-1:-1;;;10215:18:1;;;10208:39;10264:19;;7188:64:0;9884:405:1;7188:64:0;7263:17;2410:6;;-1:-1:-1;;;;;7297:15:0;;;2410:6;;7297:15;;;;:32;;-1:-1:-1;2383:7:0;2410:6;-1:-1:-1;;;;;7316:13:0;;;2410:6;;7316:13;;7297:32;:56;;;;-1:-1:-1;2383:7:0;2410:6;-1:-1:-1;;;;;2410:6:0;7333:9;:20;;7297:56;7293:1386;;;7382:76;7454:3;7382:67;7404:15;;7394:9;;:25;7393:55;;7434:14;;7393:55;;;7421:12;;7393:55;7382:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7487:13;;7370:88;;-1:-1:-1;;;;;;7479:21:0;;;7487:13;;7479:21;:55;;;;-1:-1:-1;7518:15:0;;-1:-1:-1;;;;;7504:30:0;;;7518:15;;7504:30;;7479:55;:83;;;;-1:-1:-1;;;;;;7540:22:0;;;;;;:18;:22;;;;;;;;7538:24;7479:83;7475:313;;;7602:12;;7592:6;:22;;7584:60;;;;-1:-1:-1;;;7584:60:0;;10496:2:1;7584:60:0;;;10478:21:1;10535:2;10515:18;;;10508:30;10574:27;10554:18;;;10547:55;10619:18;;7584:60:0;10294:349:1;7584:60:0;7697:14;;7687:6;7671:13;7681:2;-1:-1:-1;;;;;5761:18:0;5734:7;5761:18;;;:9;:18;;;;;;;5668:119;7671:13;:22;;;;:::i;:::-;:40;;7663:79;;;;-1:-1:-1;;;7663:79:0;;10980:2:1;7663:79:0;;;10962:21:1;11019:2;10999:18;;;10992:30;11058:28;11038:18;;;11031:56;11104:18;;7663:79:0;10778:350:1;7663:79:0;7761:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7475:313;7814:13;;-1:-1:-1;;;;;7808:19:0;;;7814:13;;7808:19;;;;:47;;-1:-1:-1;;;;;;7833:22:0;;;;;;:18;:22;;;;;;;;7831:24;7808:47;7804:167;;;7910:14;;7900:6;7884:13;7894:2;-1:-1:-1;;;;;5761:18:0;5734:7;5761:18;;;:9;:18;;;;;;;5668:119;7884:13;:22;;;;:::i;:::-;:40;;7876:79;;;;-1:-1:-1;;;7876:79:0;;10980:2:1;7876:79:0;;;10962:21:1;11019:2;10999:18;;;10992:30;11058:28;11038:18;;;11031:56;11104:18;;7876:79:0;10778:350:1;7876:79:0;7996:13;;-1:-1:-1;;;;;7990:19:0;;;7996:13;;7990:19;:43;;;;-1:-1:-1;;;;;;8013:20:0;;8028:4;8013:20;;7990:43;7987:174;;;8066:79;8141:3;8066:70;8088:16;;8078:9;;:26;8077:58;;8120:15;;8077:58;;;8106:13;;8066:6;;:10;:70::i;:79::-;8054:91;;7987:174;8226:4;8177:28;5761:18;;;:9;:18;;;;;;8252:6;;-1:-1:-1;;;8252:6:0;;;;8251:7;:32;;;;-1:-1:-1;8270:13:0;;-1:-1:-1;;;;;8262:21:0;;;8270:13;;8262:21;8251:32;:47;;;;-1:-1:-1;8287:11:0;;-1:-1:-1;;;8287:11:0;;;;8251:47;:89;;;;;8323:17;;8302:20;:38;8251:89;:121;;;;;8354:18;;8344:9;;:28;8251:121;8247:421;;;8393:67;8410:49;8414:6;8421:37;8425:20;8446:11;;8421:3;:37::i;:::-;8410:3;:49::i;:::-;8393:16;:67::i;:::-;8508:21;8551:22;;8548:105;;8598:35;8611:21;8598:12;:35::i;:::-;8374:294;8247:421;7355:1324;7293:1386;8694:11;;8691:161;;8762:4;8744:24;;;;:9;:24;;;;;;:39;;8773:9;8744:28;:39::i;:::-;8737:4;8719:24;;;;:9;:24;;;;;;;:64;;;;8801:39;;-1:-1:-1;;;;;8801:39:0;;;;;;;8830:9;1799:25:1;;1787:2;1772:18;;1653:177;8801:39:0;;;;;;;;8691:161;-1:-1:-1;;;;;8878:15:0;;;;;;:9;:15;;;;;;:27;;8898:6;8878:19;:27::i;:::-;-1:-1:-1;;;;;8862:15:0;;;;;;:9;:15;;;;;:43;8930:40;8948:21;:6;8959:9;8948:10;:21::i;:::-;-1:-1:-1;;;;;8930:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8916:13:0;;;;;;;:9;:13;;;;;:54;;;;8986:41;;;9005:21;:6;9016:9;9005:10;:21::i;:::-;8986:41;;1799:25:1;;;1787:2;1772:18;8986:41:0;;;;;;;7023:2012;6954:2081;;;:::o;1237:190::-;1323:7;1359:12;1351:6;;;;1343:29;;;;-1:-1:-1;;;1343:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1383:9:0;1395:5;1399:1;1395;:5;:::i;:::-;1383:17;1237:190;-1:-1:-1;;;;;1237:190:0:o;1435:246::-;1493:7;1517:1;1522;1517:6;1513:47;;-1:-1:-1;1547:1:0;1540:8;;1513:47;1570:9;1582:5;1586:1;1582;:5;:::i;:::-;1570:17;-1:-1:-1;1615:1:0;1606:5;1610:1;1570:17;1606:5;:::i;:::-;:10;1598:56;;;;-1:-1:-1;;;1598:56:0;;11830:2:1;1598:56:0;;;11812:21:1;11869:2;11849:18;;;11842:30;11908:34;11888:18;;;11881:62;-1:-1:-1;;;11959:18:1;;;11952:31;12000:19;;1598:56:0;11628:397:1;1598:56:0;1672:1;1435:246;-1:-1:-1;;;1435:246:0:o;1689:132::-;1747:7;1774:39;1778:1;1781;1774:39;;;;;;;;;;;;;;;;;:3;:39::i;9045:98::-;9102:7;9129:1;9127;:3;9126:9;;9134:1;9126:9;;;-1:-1:-1;9132:1:0;9045:98;-1:-1:-1;9045:98:0:o;9153:483::-;4895:6;:13;;-1:-1:-1;;;;4895:13:0;-1:-1:-1;;;4895:13:0;;;9255:16:::1;::::0;;9269:1:::1;9255:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9255:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9255:16:0::1;9231:40;;9300:4;9282;9287:1;9282:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9282:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9326:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9326:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9282:7;;9326:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9316:4;9321:1;9316:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9316:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9391:15:::1;::::0;9359:62:::1;::::0;9376:4:::1;::::0;9391:15:::1;9409:11:::0;9359:8:::1;:62::i;:::-;9432:15;::::0;:196:::1;::::0;-1:-1:-1;;;9432:196:0;;-1:-1:-1;;;;;9432:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9513:11;;9432:15:::1;::::0;9555:4;;9582::::1;::::0;9602:15:::1;::::0;9432:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4931:6:0;:14;;-1:-1:-1;;;;4931:14:0;;;-1:-1:-1;;;;9153:483:0:o;906:179::-;964:7;;996:5;1000:1;996;:5;:::i;:::-;984:17;;1025:1;1020;:6;;1012:46;;;;-1:-1:-1;;;1012:46:0;;13481:2:1;1012:46:0;;;13463:21:1;13520:2;13500:18;;;13493:30;13559:29;13539:18;;;13532:57;13606:18;;1012:46:0;13279:351:1;1093:136:0;1151:7;1178:43;1182:1;1185;1178:43;;;;;;;;;;;;;;;;;:3;:43::i;1829:189::-;1915:7;1950:12;1943:5;1935:28;;;;-1:-1:-1;;;1935:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1974:9:0;1986:5;1990:1;1986;:5;:::i;14:248:1:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:1;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:1:o;267:180::-;326:6;379:2;367:9;358:7;354:23;350:32;347:52;;;395:1;392;385:12;347:52;-1:-1:-1;418:23:1;;267:180;-1:-1:-1;267:180:1:o;452:548::-;564:4;593:2;622;611:9;604:21;654:6;648:13;697:6;692:2;681:9;677:18;670:34;722:1;732:140;746:6;743:1;740:13;732:140;;;841:14;;;837:23;;831:30;807:17;;;826:2;803:26;796:66;761:10;;732:140;;;736:3;921:1;916:2;907:6;896:9;892:22;888:31;881:42;991:2;984;980:7;975:2;967:6;963:15;959:29;948:9;944:45;940:54;932:62;;;;452:548;;;;:::o;1005:131::-;-1:-1:-1;;;;;1080:31:1;;1070:42;;1060:70;;1126:1;1123;1116:12;1060:70;1005:131;:::o;1141:315::-;1209:6;1217;1270:2;1258:9;1249:7;1245:23;1241:32;1238:52;;;1286:1;1283;1276:12;1238:52;1325:9;1312:23;1344:31;1369:5;1344:31;:::i;:::-;1394:5;1446:2;1431:18;;;;1418:32;;-1:-1:-1;;;1141:315:1:o;1835:456::-;1912:6;1920;1928;1981:2;1969:9;1960:7;1956:23;1952:32;1949:52;;;1997:1;1994;1987:12;1949:52;2036:9;2023:23;2055:31;2080:5;2055:31;:::i;:::-;2105:5;-1:-1:-1;2162:2:1;2147:18;;2134:32;2175:33;2134:32;2175:33;:::i;:::-;1835:456;;2227:7;;-1:-1:-1;;;2281:2:1;2266:18;;;;2253:32;;1835:456::o;2485:247::-;2544:6;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;2945:118::-;3031:5;3024:13;3017:21;3010:5;3007:32;2997:60;;3053:1;3050;3043:12;3068:382;3133:6;3141;3194:2;3182:9;3173:7;3169:23;3165:32;3162:52;;;3210:1;3207;3200:12;3162:52;3249:9;3236:23;3268:31;3293:5;3268:31;:::i;:::-;3318:5;-1:-1:-1;3375:2:1;3360:18;;3347:32;3388:30;3347:32;3388:30;:::i;:::-;3437:7;3427:17;;;3068:382;;;;;:::o;3455:388::-;3523:6;3531;3584:2;3572:9;3563:7;3559:23;3555:32;3552:52;;;3600:1;3597;3590:12;3552:52;3639:9;3626:23;3658:31;3683:5;3658:31;:::i;:::-;3708:5;-1:-1:-1;3765:2:1;3750:18;;3737:32;3778:33;3737:32;3778:33;:::i;3848:356::-;4050:2;4032:21;;;4069:18;;;4062:30;4128:34;4123:2;4108:18;;4101:62;4195:2;4180:18;;3848:356::o;4209:127::-;4270:10;4265:3;4261:20;4258:1;4251:31;4301:4;4298:1;4291:15;4325:4;4322:1;4315:15;4341:422;4430:1;4473:5;4430:1;4487:270;4508:7;4498:8;4495:21;4487:270;;;4567:4;4563:1;4559:6;4555:17;4549:4;4546:27;4543:53;;;4576:18;;:::i;:::-;4626:7;4616:8;4612:22;4609:55;;;4646:16;;;;4609:55;4725:22;;;;4685:15;;;;4487:270;;;4491:3;4341:422;;;;;:::o;4768:806::-;4817:5;4847:8;4837:80;;-1:-1:-1;4888:1:1;4902:5;;4837:80;4936:4;4926:76;;-1:-1:-1;4973:1:1;4987:5;;4926:76;5018:4;5036:1;5031:59;;;;5104:1;5099:130;;;;5011:218;;5031:59;5061:1;5052:10;;5075:5;;;5099:130;5136:3;5126:8;5123:17;5120:43;;;5143:18;;:::i;:::-;-1:-1:-1;;5199:1:1;5185:16;;5214:5;;5011:218;;5313:2;5303:8;5300:16;5294:3;5288:4;5285:13;5281:36;5275:2;5265:8;5262:16;5257:2;5251:4;5248:12;5244:35;5241:77;5238:159;;;-1:-1:-1;5350:19:1;;;5382:5;;5238:159;5429:34;5454:8;5448:4;5429:34;:::i;:::-;5499:6;5495:1;5491:6;5487:19;5478:7;5475:32;5472:58;;;5510:18;;:::i;:::-;5548:20;;4768:806;-1:-1:-1;;;4768:806:1:o;5579:140::-;5637:5;5666:47;5707:4;5697:8;5693:19;5687:4;5666:47;:::i;5724:168::-;5797:9;;;5828;;5845:15;;;5839:22;;5825:37;5815:71;;5866:18;;:::i;6249:251::-;6319:6;6372:2;6360:9;6351:7;6347:23;6343:32;6340:52;;;6388:1;6385;6378:12;6340:52;6420:9;6414:16;6439:31;6464:5;6439:31;:::i;7426:306::-;7514:6;7522;7530;7583:2;7571:9;7562:7;7558:23;7554:32;7551:52;;;7599:1;7596;7589:12;7551:52;7628:9;7622:16;7612:26;;7678:2;7667:9;7663:18;7657:25;7647:35;;7722:2;7711:9;7707:18;7701:25;7691:35;;7426:306;;;;;:::o;8016:245::-;8083:6;8136:2;8124:9;8115:7;8111:23;8107:32;8104:52;;;8152:1;8149;8142:12;8104:52;8184:9;8178:16;8203:28;8225:5;8203:28;:::i;10648:125::-;10713:9;;;10734:10;;;10731:36;;;10747:18;;:::i;11133:135::-;11172:3;11193:17;;;11190:43;;11213:18;;:::i;:::-;-1:-1:-1;11260:1:1;11249:13;;11133:135::o;11273:128::-;11340:9;;;11361:11;;;11358:37;;;11375:18;;:::i;11406:217::-;11446:1;11472;11462:132;;11516:10;11511:3;11507:20;11504:1;11497:31;11551:4;11548:1;11541:15;11579:4;11576:1;11569:15;11462:132;-1:-1:-1;11608:9:1;;11406:217::o;12162:127::-;12223:10;12218:3;12214:20;12211:1;12204:31;12254:4;12251:1;12244:15;12278:4;12275:1;12268:15;12294:980;12556:4;12604:3;12593:9;12589:19;12635:6;12624:9;12617:25;12661:2;12699:6;12694:2;12683:9;12679:18;12672:34;12742:3;12737:2;12726:9;12722:18;12715:31;12766:6;12801;12795:13;12832:6;12824;12817:22;12870:3;12859:9;12855:19;12848:26;;12909:2;12901:6;12897:15;12883:29;;12930:1;12940:195;12954:6;12951:1;12948:13;12940:195;;;13019:13;;-1:-1:-1;;;;;13015:39:1;13003:52;;13110:15;;;;13075:12;;;;13051:1;12969:9;12940:195;;;-1:-1:-1;;;;;;;13191:32:1;;;;13186:2;13171:18;;13164:60;-1:-1:-1;;;13255:3:1;13240:19;13233:35;13152:3;12294:980;-1:-1:-1;;;12294:980:1:o

Swarm Source

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