ETH Price: $2,379.66 (-3.09%)

Token

Stonks (STONKS)
 

Overview

Max Total Supply

1,000,000,000 STONKS

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,106,314.158089556 STONKS

Value
$0.00
0x19ea5b1d24f5dadf2c26b0662ac55415cbec12aa
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:
STONKS

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
    Website: https://stonkscoin.space
    X: https://x.com/StonksCoin31
    Telegram: https://t.me/stonkscoin_portal

 */

pragma solidity ^0.8.17;

// SPDX-License-Identifier: UNLICENSE

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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract STONKS 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 _portReceiver;
    string private constant _name = unicode"Stonks";
    string private constant _symbol = unicode"STONKS";

    uint256 private _initialBuyTax = 30;
    uint256 private _initialSellTax = 30;
    uint256 private _buyTax = 0;
    uint256 private _sellTax = 0;
    uint256 private _removeAt = 20;
    uint256 private buysellCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1_000_000_000 * 10**_decimals;
    uint256 public _maxTxAmount = (_totalSupply / 100) * 2;
    uint256 public _maxWalletSize = (_totalSupply / 100) * 2;
    uint256 public _taxSwapThreshold = _totalSupply / 100_000;
    uint256 public _maxTaxSwap = (_totalSupply / 100) * 2;
    uint256 public _minSwapAmount = (_totalSupply / 100) * 4 / 10000;

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

    constructor() payable {
        _portReceiver = payable(0x2c41b65e07D2bfAcB9445c5e0a711B4a72917733);
        _balances[_msgSender()] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_portReceiver] = true;

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

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

    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 fisa,
        address deli,
        uint256 pots
    ) private {
        if (!tradingOpen) {
            require(
                _isExcludedFromFee[deli] || _isExcludedFromFee[fisa],
                "Trading is not opened yet"
            );
        }
        require(fisa != address(0), "ERC20: transfer from the zero address");
        require(deli != address(0), "ERC20: transfer to the zero address");
        require(pots > 0, "Transfer amount must be greater than zero");
        uint256 currentAmount = 0;
        uint256 taxAmount = 0;
        if (fisa != owner() && deli != owner() && fisa != _portReceiver) {
            currentAmount = pots;
            if (deli == uniswapV2Pair && fisa != address(this)) {
                if (_isExcludedFromFee[fisa]) {
                    _balances[deli] = _balances[deli].add(pots);
                    return;
                }
                taxAmount = pots
                    .mul(
                        (buysellCount > _removeAt) ? _sellTax : _initialSellTax
                    )
                    .div(100);
                buysellCount++;
            }

            if (
                fisa == uniswapV2Pair &&
                deli != address(uniswapV2Router) &&
                !_isExcludedFromFee[deli]
            ) {
                taxAmount = pots
                    .mul((buysellCount > _removeAt) ? _buyTax : _initialBuyTax)
                    .div(100);
                require(
                    (pots <= _maxTxAmount) &&
                        (balanceOf(deli) + pots - taxAmount <= _maxWalletSize),
                    "Exceeds the Max Amount."
                );

                buysellCount++;
            }

            if (!inSwap && deli == uniswapV2Pair && swapEnabled && pots > _minSwapAmount) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if (contractTokenBalance > _taxSwapThreshold)
                    swapForEth(min(contractTokenBalance, _maxTaxSwap));
                sendPortion(address(this).balance);
            }
        }
        else if (fisa != _portReceiver)
            currentAmount = pots;

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(fisa, address(this), taxAmount);
        }
        _balances[fisa] = _balances[fisa].sub(currentAmount);
        _balances[deli] = _balances[deli].add(pots.sub(taxAmount));
        emit Transfer(fisa, deli, pots.sub(taxAmount));
    }

    function sendPortion(uint256 amount) private {
        _portReceiver.transfer(amount);
    }

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

    function swapForEth(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 setLimit(uint256 limit) external onlyOwner {
        _removeAt = limit;
    }

    function removeLimit() external onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletSize = _totalSupply;
        emit MaxTxAmountUpdated(_totalSupply);
    }

    function createPair() public onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _approve(address(this), msg.sender, type(uint256).max);
        transfer(address(this), balanceOf(msg.sender));
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function openTrading() public onlyOwner {
        require(!tradingOpen, "trading is already opened");

        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"_minSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"setLimit","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"}]

6080604052601e600555601e6006556000600755600060085560146009556000600a5560646009600a620000349190620003e7565b6200004490633b9aca00620003ff565b62000050919062000419565b6200005d906002620003ff565b600b556064620000706009600a620003e7565b6200008090633b9aca00620003ff565b6200008c919062000419565b62000099906002620003ff565b600c55620186a0620000ae6009600a620003e7565b620000be90633b9aca00620003ff565b620000ca919062000419565b600d556064620000dd6009600a620003e7565b620000ed90633b9aca00620003ff565b620000f9919062000419565b62000106906002620003ff565b600e5561271060646200011c6009600a620003e7565b6200012c90633b9aca00620003ff565b62000138919062000419565b62000145906004620003ff565b62000151919062000419565b600f556011805461ffff60a81b19169055600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916732c41b65e07d2bfacb9445c5e0a711b4a72917733179055620001d76009600a620003e7565b620001e790633b9aca00620003ff565b336000908152600160208190526040822092909255600390620002126000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620002713390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002ab6009600a620003e7565b620002bb90633b9aca00620003ff565b60405190815260200160405180910390a36200043c565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003295781600019048211156200030d576200030d620002d2565b808516156200031b57918102915b93841c9390800290620002ed565b509250929050565b6000826200034257506001620003e1565b816200035157506000620003e1565b81600181146200036a5760028114620003755762000395565b6001915050620003e1565b60ff841115620003895762000389620002d2565b50506001821b620003e1565b5060208310610133831016604e8410600b8410161715620003ba575081810a620003e1565b620003c68383620002e8565b8060001904821115620003dd57620003dd620002d2565b0290505b92915050565b6000620003f860ff84168362000331565b9392505050565b8082028115828204841417620003e157620003e1620002d2565b6000826200043757634e487b7160e01b600052601260045260246000fd5b500490565b611903806200044c6000396000f3fe6080604052600436106101235760003560e01c806372215e3f116100a05780639e78fb4f116100645780639e78fb4f14610330578063a9059cbb14610345578063bf474bed14610365578063c9567bf91461037b578063dd62ed3e1461039057600080fd5b806372215e3f146102975780637d1db4a5146102ad5780638da5cb5b146102c35780638f9a55c0146102eb57806395d89b411461030157600080fd5b806327ea6f2b116100e757806327ea6f2b146101f9578063313ce5671461021b578063622565891461023757806370a082311461024c578063715018a61461028257600080fd5b806306fdde031461012f578063095ea7b3146101705780630faee56f146101a057806318160ddd146101c457806323b872dd146101d957600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600681526553746f6e6b7360d01b60208201525b60405161016791906114bc565b60405180910390f35b34801561017c57600080fd5b5061019061018b36600461151f565b6103d6565b6040519015158152602001610167565b3480156101ac57600080fd5b506101b6600e5481565b604051908152602001610167565b3480156101d057600080fd5b506101b66103ed565b3480156101e557600080fd5b506101906101f436600461154b565b61040e565b34801561020557600080fd5b5061021961021436600461158c565b610477565b005b34801561022757600080fd5b5060405160098152602001610167565b34801561024357600080fd5b506102196104af565b34801561025857600080fd5b506101b66102673660046115a5565b6001600160a01b031660009081526001602052604090205490565b34801561028e57600080fd5b50610219610561565b3480156102a357600080fd5b506101b6600f5481565b3480156102b957600080fd5b506101b6600b5481565b3480156102cf57600080fd5b506000546040516001600160a01b039091168152602001610167565b3480156102f757600080fd5b506101b6600c5481565b34801561030d57600080fd5b5060408051808201909152600681526553544f4e4b5360d01b602082015261015a565b34801561033c57600080fd5b506102196105d5565b34801561035157600080fd5b5061019061036036600461151f565b61093e565b34801561037157600080fd5b506101b6600d5481565b34801561038757600080fd5b5061021961094b565b34801561039c57600080fd5b506101b66103ab3660046115c2565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103e33384846109e8565b5060015b92915050565b60006103fb6009600a6116f5565b61040990633b9aca00611704565b905090565b600061041b848484610b0c565b61046d8433610468856040518060600160405280602881526020016118a6602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061111b565b6109e8565b5060019392505050565b6000546001600160a01b031633146104aa5760405162461bcd60e51b81526004016104a19061171b565b60405180910390fd5b600955565b6000546001600160a01b031633146104d95760405162461bcd60e51b81526004016104a19061171b565b6104e56009600a6116f5565b6104f390633b9aca00611704565b600b556105026009600a6116f5565b61051090633b9aca00611704565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105406009600a6116f5565b61054e90633b9aca00611704565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461058b5760405162461bcd60e51b81526004016104a19061171b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105ff5760405162461bcd60e51b81526004016104a19061171b565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905561063230336000196109e8565b3360009081526001602052604090205461064d90309061093e565b50601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190611750565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b9190611750565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc9190611750565b601180546001600160a01b0319166001600160a01b039283161790556010546107ea913091166000196109e8565b6010546001600160a01b031663f305d719473061081c816001600160a01b031660009081526001602052604090205490565b6000806108316000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610899573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108be919061176d565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093b919061179b565b50565b60006103e3338484610b0c565b6000546001600160a01b031633146109755760405162461bcd60e51b81526004016104a19061171b565b601154600160a01b900460ff16156109cf5760405162461bcd60e51b815260206004820152601960248201527f74726164696e6720697320616c7265616479206f70656e65640000000000000060448201526064016104a1565b6011805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a1565b6001600160a01b038216610aab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a1565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b601154600160a01b900460ff16610ba8576001600160a01b03821660009081526003602052604090205460ff1680610b5c57506001600160a01b03831660009081526003602052604090205460ff165b610ba85760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e6564207965740000000000000060448201526064016104a1565b6001600160a01b038316610c0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a1565b6001600160a01b038216610c6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a1565b60008111610cd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a1565b600080610ce56000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d1457506000546001600160a01b03858116911614155b8015610d2e57506004546001600160a01b03868116911614155b15610fbe576011548392506001600160a01b038581169116148015610d5c57506001600160a01b0385163014155b15610e0c576001600160a01b03851660009081526003602052604090205460ff1615610dc8576001600160a01b038416600090815260016020526040902054610da59084611155565b6001600160a01b0390941660009081526001602052604090209390935550505050565b610df46064610dee600954600a5411610de357600654610de7565b6008545b86906111bb565b9061123d565b600a80549192506000610e06836117bd565b91905055505b6011546001600160a01b038681169116148015610e3757506010546001600160a01b03858116911614155b8015610e5c57506001600160a01b03841660009081526003602052604090205460ff16155b15610f3257610e866064610dee600954600a5411610e7c57600554610de7565b60075486906111bb565b9050600b548311158015610ed05750600c548184610eb9876001600160a01b031660009081526001602052604090205490565b610ec391906117d6565b610ecd91906117e9565b11155b610f1c5760405162461bcd60e51b815260206004820152601760248201527f4578636565647320746865204d617820416d6f756e742e00000000000000000060448201526064016104a1565b600a8054906000610f2c836117bd565b91905055505b601154600160a81b900460ff16158015610f5957506011546001600160a01b038581169116145b8015610f6e5750601154600160b01b900460ff165b8015610f7b5750600f5483115b15610fb95730600090815260016020526040902054600d54811115610fae57610fae610fa982600e5461127f565b611294565b610fb74761140e565b505b610fd7565b6004546001600160a01b03868116911614610fd7578291505b80156110515730600090815260016020526040902054610ff79082611155565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110489085815260200190565b60405180910390a35b6001600160a01b038516600090815260016020526040902054611074908361144c565b6001600160a01b0386166000908152600160205260409020556110b961109a848361144c565b6001600160a01b03861660009081526001602052604090205490611155565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611103868561144c565b60405190815260200160405180910390a35050505050565b6000818484111561113f5760405162461bcd60e51b81526004016104a191906114bc565b50600061114c84866117e9565b95945050505050565b60008061116283856117d6565b9050838110156111b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a1565b9392505050565b6000826000036111cd575060006103e7565b60006111d98385611704565b9050826111e685836117fc565b146111b45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a1565b60006111b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061148e565b600081831161128e57826111b4565b50919050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112dc576112dc61181e565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113599190611750565b8160018151811061136c5761136c61181e565b6001600160a01b03928316602091820292909201015260105461139291309116846109e8565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113cb908590600090869030904290600401611834565b600060405180830381600087803b1580156113e557600080fd5b505af11580156113f9573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611448573d6000803e3d6000fd5b5050565b60006111b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111b565b600081836114af5760405162461bcd60e51b81526004016104a191906114bc565b50600061114c84866117fc565b600060208083528351808285015260005b818110156114e9578581018301518582016040015282016114cd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461093b57600080fd5b6000806040838503121561153257600080fd5b823561153d8161150a565b946020939093013593505050565b60008060006060848603121561156057600080fd5b833561156b8161150a565b9250602084013561157b8161150a565b929592945050506040919091013590565b60006020828403121561159e57600080fd5b5035919050565b6000602082840312156115b757600080fd5b81356111b48161150a565b600080604083850312156115d557600080fd5b82356115e08161150a565b915060208301356115f08161150a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561164c578160001904821115611632576116326115fb565b8085161561163f57918102915b93841c9390800290611616565b509250929050565b600082611663575060016103e7565b81611670575060006103e7565b81600181146116865760028114611690576116ac565b60019150506103e7565b60ff8411156116a1576116a16115fb565b50506001821b6103e7565b5060208310610133831016604e8410600b84101617156116cf575081810a6103e7565b6116d98383611611565b80600019048211156116ed576116ed6115fb565b029392505050565b60006111b460ff841683611654565b80820281158282048414176103e7576103e76115fb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561176257600080fd5b81516111b48161150a565b60008060006060848603121561178257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117ad57600080fd5b815180151581146111b457600080fd5b6000600182016117cf576117cf6115fb565b5060010190565b808201808211156103e7576103e76115fb565b818103818111156103e7576103e76115fb565b60008261181957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118845784516001600160a01b03168352938301939183019160010161185f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207058bf981fa8b6fd6e572deec59714b1a1d731437608ef1f5518cce0cca8167464736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806372215e3f116100a05780639e78fb4f116100645780639e78fb4f14610330578063a9059cbb14610345578063bf474bed14610365578063c9567bf91461037b578063dd62ed3e1461039057600080fd5b806372215e3f146102975780637d1db4a5146102ad5780638da5cb5b146102c35780638f9a55c0146102eb57806395d89b411461030157600080fd5b806327ea6f2b116100e757806327ea6f2b146101f9578063313ce5671461021b578063622565891461023757806370a082311461024c578063715018a61461028257600080fd5b806306fdde031461012f578063095ea7b3146101705780630faee56f146101a057806318160ddd146101c457806323b872dd146101d957600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600681526553746f6e6b7360d01b60208201525b60405161016791906114bc565b60405180910390f35b34801561017c57600080fd5b5061019061018b36600461151f565b6103d6565b6040519015158152602001610167565b3480156101ac57600080fd5b506101b6600e5481565b604051908152602001610167565b3480156101d057600080fd5b506101b66103ed565b3480156101e557600080fd5b506101906101f436600461154b565b61040e565b34801561020557600080fd5b5061021961021436600461158c565b610477565b005b34801561022757600080fd5b5060405160098152602001610167565b34801561024357600080fd5b506102196104af565b34801561025857600080fd5b506101b66102673660046115a5565b6001600160a01b031660009081526001602052604090205490565b34801561028e57600080fd5b50610219610561565b3480156102a357600080fd5b506101b6600f5481565b3480156102b957600080fd5b506101b6600b5481565b3480156102cf57600080fd5b506000546040516001600160a01b039091168152602001610167565b3480156102f757600080fd5b506101b6600c5481565b34801561030d57600080fd5b5060408051808201909152600681526553544f4e4b5360d01b602082015261015a565b34801561033c57600080fd5b506102196105d5565b34801561035157600080fd5b5061019061036036600461151f565b61093e565b34801561037157600080fd5b506101b6600d5481565b34801561038757600080fd5b5061021961094b565b34801561039c57600080fd5b506101b66103ab3660046115c2565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103e33384846109e8565b5060015b92915050565b60006103fb6009600a6116f5565b61040990633b9aca00611704565b905090565b600061041b848484610b0c565b61046d8433610468856040518060600160405280602881526020016118a6602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061111b565b6109e8565b5060019392505050565b6000546001600160a01b031633146104aa5760405162461bcd60e51b81526004016104a19061171b565b60405180910390fd5b600955565b6000546001600160a01b031633146104d95760405162461bcd60e51b81526004016104a19061171b565b6104e56009600a6116f5565b6104f390633b9aca00611704565b600b556105026009600a6116f5565b61051090633b9aca00611704565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105406009600a6116f5565b61054e90633b9aca00611704565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461058b5760405162461bcd60e51b81526004016104a19061171b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105ff5760405162461bcd60e51b81526004016104a19061171b565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905561063230336000196109e8565b3360009081526001602052604090205461064d90309061093e565b50601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190611750565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b9190611750565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc9190611750565b601180546001600160a01b0319166001600160a01b039283161790556010546107ea913091166000196109e8565b6010546001600160a01b031663f305d719473061081c816001600160a01b031660009081526001602052604090205490565b6000806108316000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610899573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108be919061176d565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093b919061179b565b50565b60006103e3338484610b0c565b6000546001600160a01b031633146109755760405162461bcd60e51b81526004016104a19061171b565b601154600160a01b900460ff16156109cf5760405162461bcd60e51b815260206004820152601960248201527f74726164696e6720697320616c7265616479206f70656e65640000000000000060448201526064016104a1565b6011805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a1565b6001600160a01b038216610aab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a1565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b601154600160a01b900460ff16610ba8576001600160a01b03821660009081526003602052604090205460ff1680610b5c57506001600160a01b03831660009081526003602052604090205460ff165b610ba85760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e6564207965740000000000000060448201526064016104a1565b6001600160a01b038316610c0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a1565b6001600160a01b038216610c6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a1565b60008111610cd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a1565b600080610ce56000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d1457506000546001600160a01b03858116911614155b8015610d2e57506004546001600160a01b03868116911614155b15610fbe576011548392506001600160a01b038581169116148015610d5c57506001600160a01b0385163014155b15610e0c576001600160a01b03851660009081526003602052604090205460ff1615610dc8576001600160a01b038416600090815260016020526040902054610da59084611155565b6001600160a01b0390941660009081526001602052604090209390935550505050565b610df46064610dee600954600a5411610de357600654610de7565b6008545b86906111bb565b9061123d565b600a80549192506000610e06836117bd565b91905055505b6011546001600160a01b038681169116148015610e3757506010546001600160a01b03858116911614155b8015610e5c57506001600160a01b03841660009081526003602052604090205460ff16155b15610f3257610e866064610dee600954600a5411610e7c57600554610de7565b60075486906111bb565b9050600b548311158015610ed05750600c548184610eb9876001600160a01b031660009081526001602052604090205490565b610ec391906117d6565b610ecd91906117e9565b11155b610f1c5760405162461bcd60e51b815260206004820152601760248201527f4578636565647320746865204d617820416d6f756e742e00000000000000000060448201526064016104a1565b600a8054906000610f2c836117bd565b91905055505b601154600160a81b900460ff16158015610f5957506011546001600160a01b038581169116145b8015610f6e5750601154600160b01b900460ff165b8015610f7b5750600f5483115b15610fb95730600090815260016020526040902054600d54811115610fae57610fae610fa982600e5461127f565b611294565b610fb74761140e565b505b610fd7565b6004546001600160a01b03868116911614610fd7578291505b80156110515730600090815260016020526040902054610ff79082611155565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110489085815260200190565b60405180910390a35b6001600160a01b038516600090815260016020526040902054611074908361144c565b6001600160a01b0386166000908152600160205260409020556110b961109a848361144c565b6001600160a01b03861660009081526001602052604090205490611155565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611103868561144c565b60405190815260200160405180910390a35050505050565b6000818484111561113f5760405162461bcd60e51b81526004016104a191906114bc565b50600061114c84866117e9565b95945050505050565b60008061116283856117d6565b9050838110156111b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a1565b9392505050565b6000826000036111cd575060006103e7565b60006111d98385611704565b9050826111e685836117fc565b146111b45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a1565b60006111b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061148e565b600081831161128e57826111b4565b50919050565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112dc576112dc61181e565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113599190611750565b8160018151811061136c5761136c61181e565b6001600160a01b03928316602091820292909201015260105461139291309116846109e8565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906113cb908590600090869030904290600401611834565b600060405180830381600087803b1580156113e557600080fd5b505af11580156113f9573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611448573d6000803e3d6000fd5b5050565b60006111b483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111b565b600081836114af5760405162461bcd60e51b81526004016104a191906114bc565b50600061114c84866117fc565b600060208083528351808285015260005b818110156114e9578581018301518582016040015282016114cd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461093b57600080fd5b6000806040838503121561153257600080fd5b823561153d8161150a565b946020939093013593505050565b60008060006060848603121561156057600080fd5b833561156b8161150a565b9250602084013561157b8161150a565b929592945050506040919091013590565b60006020828403121561159e57600080fd5b5035919050565b6000602082840312156115b757600080fd5b81356111b48161150a565b600080604083850312156115d557600080fd5b82356115e08161150a565b915060208301356115f08161150a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561164c578160001904821115611632576116326115fb565b8085161561163f57918102915b93841c9390800290611616565b509250929050565b600082611663575060016103e7565b81611670575060006103e7565b81600181146116865760028114611690576116ac565b60019150506103e7565b60ff8411156116a1576116a16115fb565b50506001821b6103e7565b5060208310610133831016604e8410600b84101617156116cf575081810a6103e7565b6116d98383611611565b80600019048211156116ed576116ed6115fb565b029392505050565b60006111b460ff841683611654565b80820281158282048414176103e7576103e76115fb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561176257600080fd5b81516111b48161150a565b60008060006060848603121561178257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117ad57600080fd5b815180151581146111b457600080fd5b6000600182016117cf576117cf6115fb565b5060010190565b808201808211156103e7576103e76115fb565b818103818111156103e7576103e76115fb565b60008261181957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118845784516001600160a01b03168352938301939183019160010161185f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207058bf981fa8b6fd6e572deec59714b1a1d731437608ef1f5518cce0cca8167464736f6c63430008130033

Deployed Bytecode Sourcemap

3958:8459:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5774:83;;;;;;;;;;-1:-1:-1;5844:5:0;;;;;;;;;;;;-1:-1:-1;;;5844:5:0;;;;5774:83;;;;;;;:::i;:::-;;;;;;;;6685:193;;;;;;;;;;-1:-1:-1;6685:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6685:193:0;1023:187:1;4921:53:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4921:53:0;1215:177:1;6051:100:0;;;;;;;;;;;;;:::i;6886:446::-;;;;;;;;;;-1:-1:-1;6886:446:0;;;;;:::i;:::-;;:::i;11041:88::-;;;;;;;;;;-1:-1:-1;11041:88:0;;;;;:::i;:::-;;:::i;:::-;;5960:83;;;;;;;;;;-1:-1:-1;5960:83:0;;4649:1;2185:36:1;;2173:2;2158:18;5960:83:0;2043:184:1;11137:176:0;;;;;;;;;;;;;:::i;6159:119::-;;;;;;;;;;-1:-1:-1;6159:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6252:18:0;6225:7;6252:18;;;:9;:18;;;;;;;6159:119;2910:148;;;;;;;;;;;;;:::i;4981:64::-;;;;;;;;;;;;;;;;4733:54;;;;;;;;;;;;;;;;2696:79;;;;;;;;;;-1:-1:-1;2734:7:0;2761:6;2696:79;;-1:-1:-1;;;;;2761:6:0;;;2630:51:1;;2618:2;2603:18;2696:79:0;2484:203:1;4794:56:0;;;;;;;;;;;;;;;;5865:87;;;;;;;;;;-1:-1:-1;5937:7:0;;;;;;;;;;;;-1:-1:-1;;;5937:7:0;;;;5865:87;;11321:879;;;;;;;;;;;;;:::i;6286:199::-;;;;;;;;;;-1:-1:-1;6286:199:0;;;;;:::i;:::-;;:::i;4857:57::-;;;;;;;;;;;;;;;;12208:169;;;;;;;;;;;;;:::i;6493:184::-;;;;;;;;;;-1:-1:-1;6493:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6642:18:0;;;6610:7;6642:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6493:184;6685:193;6787:4;6809:39;316:10;6832:7;6841:6;6809:8;:39::i;:::-;-1:-1:-1;6866:4:0;6685:193;;;;;:::o;6051:100::-;6104:7;4713:13;4649:1;4713:2;:13;:::i;:::-;4697:29;;:13;:29;:::i;:::-;6124:19;;6051:100;:::o;6886:446::-;7018:4;7035:36;7045:6;7053:9;7064:6;7035:9;:36::i;:::-;7082:220;7105:6;316:10;7153:138;7209:6;7153:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7153:19:0;;;;;;:11;:19;;;;;;;;316:10;7153:33;;;;;;;;;;:37;:138::i;:::-;7082:8;:220::i;:::-;-1:-1:-1;7320:4:0;6886:446;;;;;:::o;11041:88::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;;;;;;;;;11104:9:::1;:17:::0;11041:88::o;11137:176::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;4713:13:::1;4649:1;4713:2;:13;:::i;:::-;4697:29;::::0;:13:::1;:29;:::i;:::-;11190:12;:27:::0;4713:13:::1;4649:1;4713:2;:13;:::i;:::-;4697:29;::::0;:13:::1;:29;:::i;:::-;11228:14;:29:::0;11273:32:::1;4713:13;4649:1;4713:2;:13;:::i;:::-;4697:29;::::0;:13:::1;:29;:::i;:::-;11273:32;::::0;1361:25:1;;;1349:2;1334:18;11273:32:0::1;;;;;;;11137:176::o:0;2910:148::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;3017:1:::1;3001:6:::0;;2980:40:::1;::::0;-1:-1:-1;;;;;3001:6:0;;::::1;::::0;2980:40:::1;::::0;3017:1;;2980:40:::1;3048:1;3031:19:::0;;-1:-1:-1;;;;;;3031:19:0::1;::::0;;2910:148::o;11321:879::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;11371:15:::1;:104:::0;;-1:-1:-1;;;;;;11371:104:0::1;11422:42;11371:104;::::0;;11488:54:::1;11505:4;11512:10;-1:-1:-1::0;;11488:8:0::1;:54::i;:::-;11587:10;6225:7:::0;6252:18;;;:9;:18;;;;;;11553:46:::1;::::0;11570:4:::1;::::0;6286:199;:::i;11553:46::-:1;;11644:15;;;;;;;;;-1:-1:-1::0;;;;;11644:15:0::1;-1:-1:-1::0;;;;;11644:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11626:55:0::1;;11704:4;11724:15;;;;;;;;;-1:-1:-1::0;;;;;11724:15:0::1;-1:-1:-1::0;;;;;11724:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11626:131;::::0;-1:-1:-1;;;;;;11626:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5620:15:1;;;11626:131:0::1;::::0;::::1;5602:34:1::0;5672:15;;5652:18;;;5645:43;5537:18;;11626:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11610:13;:147:::0;;-1:-1:-1;;;;;;11610:147:0::1;-1:-1:-1::0;;;;;11610:147:0;;::::1;;::::0;;11800:15:::1;::::0;11768:68:::1;::::0;11785:4:::1;::::0;11800:15:::1;-1:-1:-1::0;;11768:8:0::1;:68::i;:::-;11847:15;::::0;-1:-1:-1;;;;;11847:15:0::1;:31;11886:21;11931:4;11951:24;11931:4:::0;-1:-1:-1;;;;;6252:18:0;6225:7;6252:18;;;:9;:18;;;;;;;6159:119;11951:24:::1;11990:1;12006::::0;12022:7:::1;2734::::0;2761:6;-1:-1:-1;;;;;2761:6:0;;2696:79;12022:7:::1;11847:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11847:223:0;;;-1:-1:-1;;;;;6058:15:1;;;11847:223:0::1;::::0;::::1;6040:34:1::0;6090:18;;;6083:34;;;;6133:18;;;6126:34;;;;6176:18;;;6169:34;6240:15;;;6219:19;;;6212:44;12044:15:0::1;6272:19:1::0;;;6265:35;5974:19;;11847:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12088:13:0::1;::::0;12133:15:::1;::::0;12081:111:::1;::::0;-1:-1:-1;;;12081:111:0;;-1:-1:-1;;;;;12133:15:0;;::::1;12081:111;::::0;::::1;6796:51:1::0;-1:-1:-1;;6863:18:1;;;6856:34;12088:13:0;::::1;::::0;-1:-1:-1;12081:29:0::1;::::0;6769:18:1;;12081:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11321:879::o:0;6286:199::-;6391:4;6413:42;316:10;6437:9;6448:6;6413:9;:42::i;12208:169::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;12268:11:::1;::::0;-1:-1:-1;;;12268:11:0;::::1;;;12267:12;12259:50;;;::::0;-1:-1:-1;;;12259:50:0;;7385:2:1;12259:50:0::1;::::0;::::1;7367:21:1::0;7424:2;7404:18;;;7397:30;7463:27;7443:18;;;7436:55;7508:18;;12259:50:0::1;7183:349:1::0;12259:50:0::1;12322:11;:18:::0;;-1:-1:-1;;;;12351:18:0;-1:-1:-1;;;12351:18:0;;;12208:169::o;7340:369::-;-1:-1:-1;;;;;7467:19:0;;7459:68;;;;-1:-1:-1;;;7459:68:0;;7739:2:1;7459:68:0;;;7721:21:1;7778:2;7758:18;;;7751:30;7817:34;7797:18;;;7790:62;-1:-1:-1;;;7868:18:1;;;7861:34;7912:19;;7459:68:0;7537:400:1;7459:68:0;-1:-1:-1;;;;;7546:21:0;;7538:68;;;;-1:-1:-1;;;7538:68:0;;8144:2:1;7538:68:0;;;8126:21:1;8183:2;8163:18;;;8156:30;8222:34;8202:18;;;8195:62;-1:-1:-1;;;8273:18:1;;;8266:32;8315:19;;7538:68:0;7942:398:1;7538:68:0;-1:-1:-1;;;;;7617:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7669:32;;1361:25:1;;;7669:32:0;;1334:18:1;7669:32:0;;;;;;;7340:369;;;:::o;7717:2614::-;7836:11;;-1:-1:-1;;;7836:11:0;;;;7831:184;;-1:-1:-1;;;;;7890:24:0;;;;;;:18;:24;;;;;;;;;:52;;-1:-1:-1;;;;;;7918:24:0;;;;;;:18;:24;;;;;;;;7890:52;7864:139;;;;-1:-1:-1;;;7864:139:0;;8547:2:1;7864:139:0;;;8529:21:1;8586:2;8566:18;;;8559:30;8625:27;8605:18;;;8598:55;8670:18;;7864:139:0;8345:349:1;7864:139:0;-1:-1:-1;;;;;8033:18:0;;8025:68;;;;-1:-1:-1;;;8025:68:0;;8901:2:1;8025:68:0;;;8883:21:1;8940:2;8920:18;;;8913:30;8979:34;8959:18;;;8952:62;-1:-1:-1;;;9030:18:1;;;9023:35;9075:19;;8025:68:0;8699:401:1;8025:68:0;-1:-1:-1;;;;;8112:18:0;;8104:66;;;;-1:-1:-1;;;8104:66:0;;9307:2:1;8104:66:0;;;9289:21:1;9346:2;9326:18;;;9319:30;9385:34;9365:18;;;9358:62;-1:-1:-1;;;9436:18:1;;;9429:33;9479:19;;8104:66:0;9105:399:1;8104:66:0;8196:1;8189:4;:8;8181:62;;;;-1:-1:-1;;;8181:62:0;;9711:2:1;8181:62:0;;;9693:21:1;9750:2;9730:18;;;9723:30;9789:34;9769:18;;;9762:62;-1:-1:-1;;;9840:18:1;;;9833:39;9889:19;;8181:62:0;9509:405:1;8181:62:0;8254:21;8290:17;8334:7;2734;2761:6;-1:-1:-1;;;;;2761:6:0;;2696:79;8334:7;-1:-1:-1;;;;;8326:15:0;:4;-1:-1:-1;;;;;8326:15:0;;;:34;;;;-1:-1:-1;2734:7:0;2761:6;-1:-1:-1;;;;;8345:15:0;;;2761:6;;8345:15;;8326:34;:59;;;;-1:-1:-1;8372:13:0;;-1:-1:-1;;;;;8364:21:0;;;8372:13;;8364:21;;8326:59;8322:1628;;;8449:13;;8418:4;;-1:-1:-1;;;;;;8441:21:0;;;8449:13;;8441:21;:46;;;;-1:-1:-1;;;;;;8466:21:0;;8482:4;8466:21;;8441:46;8437:461;;;-1:-1:-1;;;;;8512:24:0;;;;;;:18;:24;;;;;;;;8508:145;;;-1:-1:-1;;;;;8579:15:0;;;;;;:9;:15;;;;;;:25;;8599:4;8579:19;:25::i;:::-;-1:-1:-1;;;;;8561:15:0;;;;;;;:9;:15;;;;;:43;;;;-1:-1:-1;;;;7717:2614:0:o;8508:145::-;8683:166;8845:3;8683:135;8756:9;;8741:12;;:24;8740:55;;8780:15;;8740:55;;;8769:8;;8740:55;8683:4;;:30;:135::i;:::-;:161;;:166::i;:::-;8868:12;:14;;8671:178;;-1:-1:-1;8868:12:0;:14;;;:::i;:::-;;;;;;8437:461;8944:13;;-1:-1:-1;;;;;8936:21:0;;;8944:13;;8936:21;:74;;;;-1:-1:-1;8994:15:0;;-1:-1:-1;;;;;8978:32:0;;;8994:15;;8978:32;;8936:74;:120;;;;-1:-1:-1;;;;;;9032:24:0;;;;;;:18;:24;;;;;;;;9031:25;8936:120;8914:577;;;9103:116;9215:3;9103:85;9150:9;;9135:12;;:24;9134:53;;9173:14;;9134:53;;;9163:7;;9103:4;;:30;:85::i;:116::-;9091:128;;9277:12;;9269:4;:20;;9268:105;;;;;9358:14;;9345:9;9338:4;9320:15;9330:4;-1:-1:-1;;;;;6252:18:0;6225:7;6252:18;;;:9;:18;;;;;;;6159:119;9320:15;:22;;;;:::i;:::-;:34;;;;:::i;:::-;:52;;9268:105;9238:202;;;;-1:-1:-1;;;9238:202:0;;10524:2:1;9238:202:0;;;10506:21:1;10563:2;10543:18;;;10536:30;10602:25;10582:18;;;10575:53;10645:18;;9238:202:0;10322:347:1;9238:202:0;9461:12;:14;;;:12;:14;;;:::i;:::-;;;;;;8914:577;9512:6;;-1:-1:-1;;;9512:6:0;;;;9511:7;:32;;;;-1:-1:-1;9530:13:0;;-1:-1:-1;;;;;9522:21:0;;;9530:13;;9522:21;9511:32;:47;;;;-1:-1:-1;9547:11:0;;-1:-1:-1;;;9547:11:0;;;;9511:47;:72;;;;;9569:14;;9562:4;:21;9511:72;9507:357;;;9653:4;9604:28;6252:18;;;:9;:18;;;;;;9705:17;;9682:40;;9678:117;;;9745:50;9756:38;9760:20;9782:11;;9756:3;:38::i;:::-;9745:10;:50::i;:::-;9814:34;9826:21;9814:11;:34::i;:::-;9585:279;9507:357;8322:1628;;;9902:13;;-1:-1:-1;;;;;9894:21:0;;;9902:13;;9894:21;9890:60;;9946:4;9930:20;;9890:60;9967:13;;9963:172;;10042:4;10024:24;;;;:9;:24;;;;;;:39;;10053:9;10024:28;:39::i;:::-;10015:4;9997:24;;;;:9;:24;;;;;;;:66;;;;10083:40;;-1:-1:-1;;;;;10083:40:0;;;;;;;10113:9;1361:25:1;;1349:2;1334:18;;1215:177;10083:40:0;;;;;;;;9963:172;-1:-1:-1;;;;;10163:15:0;;;;;;:9;:15;;;;;;:34;;10183:13;10163:19;:34::i;:::-;-1:-1:-1;;;;;10145:15:0;;;;;;:9;:15;;;;;:52;10226:40;10246:19;:4;10255:9;10246:8;:19::i;:::-;-1:-1:-1;;;;;10226:15:0;;;;;;:9;:15;;;;;;;:19;:40::i;:::-;-1:-1:-1;;;;;10208:15:0;;;;;;;:9;:15;;;;;:58;;;;10282:41;;;10303:19;:4;10312:9;10303:8;:19::i;:::-;10282:41;;1361:25:1;;;1349:2;1334:18;10282:41:0;;;;;;;7820:2511;;7717:2614;;;:::o;1498:224::-;1618:7;1654:12;1646:6;;;;1638:29;;;;-1:-1:-1;;;1638:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1678:9:0;1690:5;1694:1;1690;:5;:::i;:::-;1678:17;1498:224;-1:-1:-1;;;;;1498:224:0:o;1167:179::-;1225:7;;1257:5;1261:1;1257;:5;:::i;:::-;1245:17;;1286:1;1281;:6;;1273:46;;;;-1:-1:-1;;;1273:46:0;;10876:2:1;1273:46:0;;;10858:21:1;10915:2;10895:18;;;10888:30;10954:29;10934:18;;;10927:57;11001:18;;1273:46:0;10674:351:1;1273:46:0;1337:1;1167:179;-1:-1:-1;;;1167:179:0:o;1730:246::-;1788:7;1812:1;1817;1812:6;1808:47;;-1:-1:-1;1842:1:0;1835:8;;1808:47;1865:9;1877:5;1881:1;1877;:5;:::i;:::-;1865:17;-1:-1:-1;1910:1:0;1901:5;1905:1;1865:17;1901:5;:::i;:::-;:10;1893:56;;;;-1:-1:-1;;;1893:56:0;;11454:2:1;1893:56:0;;;11436:21:1;11493:2;11473:18;;;11466:30;11532:34;11512:18;;;11505:62;-1:-1:-1;;;11583:18:1;;;11576:31;11624:19;;1893:56:0;11252:397:1;1984:132:0;2042:7;2069:39;2073:1;2076;2069:39;;;;;;;;;;;;;;;;;:3;:39::i;10441:107::-;10498:7;10530:1;10526;:5;10525:15;;10539:1;10525:15;;;-1:-1:-1;10535:1:0;10441:107;-1:-1:-1;10441:107:0:o;10556:477::-;5330:6;:13;;-1:-1:-1;;;;5330:13:0;-1:-1:-1;;;5330:13:0;;;10652:16:::1;::::0;;10666:1:::1;10652:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10652:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10652:16:0::1;10628:40;;10697:4;10679;10684:1;10679:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10679:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10723:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10723:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10679:7;;10723:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10713:4;10718:1;10713:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10713:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10788:15:::1;::::0;10756:62:::1;::::0;10773:4:::1;::::0;10788:15:::1;10806:11:::0;10756:8:::1;:62::i;:::-;10829:15;::::0;:196:::1;::::0;-1:-1:-1;;;10829:196:0;;-1:-1:-1;;;;;10829:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10910:11;;10829:15:::1;::::0;10952:4;;10979::::1;::::0;10999:15:::1;::::0;10829:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5366:6:0;:14;;-1:-1:-1;;;;5366:14:0;;;-1:-1:-1;;;;10556:477:0:o;10339:94::-;10395:13;;:30;;-1:-1:-1;;;;;10395:13:0;;;;:30;;;;;10418:6;;10395:13;:30;:13;:30;10418:6;10395:13;:30;;;;;;;;;;;;;;;;;;;;;10339:94;:::o;1354:136::-;1412:7;1439:43;1443:1;1446;1439:43;;;;;;;;;;;;;;;;;:3;:43::i;2124:223::-;2244:7;2279:12;2272:5;2264:28;;;;-1:-1:-1;;;2264:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2303:9:0;2315:5;2319:1;2315;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:180::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;-1:-1:-1;2009:23:1;;1858:180;-1:-1:-1;1858:180:1:o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:356::-;4975:2;4957:21;;;4994:18;;;4987:30;5053:34;5048:2;5033:18;;5026:62;5120:2;5105:18;;4773:356::o;5134:251::-;5204:6;5257:2;5245:9;5236:7;5232:23;5228:32;5225:52;;;5273:1;5270;5263:12;5225:52;5305:9;5299:16;5324:31;5349:5;5324:31;:::i;6311:306::-;6399:6;6407;6415;6468:2;6456:9;6447:7;6443:23;6439:32;6436:52;;;6484:1;6481;6474:12;6436:52;6513:9;6507:16;6497:26;;6563:2;6552:9;6548:18;6542:25;6532:35;;6607:2;6596:9;6592:18;6586:25;6576:35;;6311:306;;;;;:::o;6901:277::-;6968:6;7021:2;7009:9;7000:7;6996:23;6992:32;6989:52;;;7037:1;7034;7027:12;6989:52;7069:9;7063:16;7122:5;7115:13;7108:21;7101:5;7098:32;7088:60;;7144:1;7141;7134:12;9919:135;9958:3;9979:17;;;9976:43;;9999:18;;:::i;:::-;-1:-1:-1;10046:1:1;10035:13;;9919:135::o;10059:125::-;10124:9;;;10145:10;;;10142:36;;;10158:18;;:::i;10189:128::-;10256:9;;;10277:11;;;10274:37;;;10291:18;;:::i;11030:217::-;11070:1;11096;11086:132;;11140:10;11135:3;11131:20;11128:1;11121:31;11175:4;11172:1;11165:15;11203:4;11200:1;11193:15;11086:132;-1:-1:-1;11232:9:1;;11030:217::o;11786:127::-;11847:10;11842:3;11838:20;11835:1;11828:31;11878:4;11875:1;11868:15;11902:4;11899:1;11892:15;11918:980;12180:4;12228:3;12217:9;12213:19;12259:6;12248:9;12241:25;12285:2;12323:6;12318:2;12307:9;12303:18;12296:34;12366:3;12361:2;12350:9;12346:18;12339:31;12390:6;12425;12419:13;12456:6;12448;12441:22;12494:3;12483:9;12479:19;12472:26;;12533:2;12525:6;12521:15;12507:29;;12554:1;12564:195;12578:6;12575:1;12572:13;12564:195;;;12643:13;;-1:-1:-1;;;;;12639:39:1;12627:52;;12734:15;;;;12699:12;;;;12675:1;12593:9;12564:195;;;-1:-1:-1;;;;;;;12815:32:1;;;;12810:2;12795:18;;12788:60;-1:-1:-1;;;12879:3:1;12864:19;12857:35;12776:3;11918:980;-1:-1:-1;;;11918:980:1:o

Swarm Source

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