ETH Price: $3,054.03 (+1.29%)
Gas: 2 Gwei

Token

EGGNOMICS (EGGNOMICS)
 

Overview

Max Total Supply

1,000,000,000 EGGNOMICS

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,083,110.02742766 EGGNOMICS

Value
$0.00
0x331ff6fb5387a7aca1b3b3bb23c230e5ae0b2007
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:
EGGNOMICS

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/**
Website: https://www.eggnomics.vip
Telegram: https://t.me/eggnomics_token
Twitter: https://x.com/eggnomics_token
**/

pragma solidity 0.8.4;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"EGGNOMICS";
    string private constant _symbol = unicode"EGGNOMICS";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 150 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals;

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

    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(0xe4c910Af6bA25ef4d6cc70a145e9cc2d96142e63);
        _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 _basicTransfer(address from, address to, uint256 amount) internal {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function _transfer(address zzzpryv, address xxxpwy, uint256 kltth) private {
        require(zzzpryv != address(0), "ERC20: transfer from the zero address");
        require(xxxpwy != address(0), "ERC20: transfer to the zero address");
        require(kltth > 0, "Transfer amount must be greater than zero");

        if (!tradingOpen) {
            require(
                _isExcludedFromFee[xxxpwy] || _isExcludedFromFee[zzzpryv],
                "trading not yet open"
            );
        }

        if (!swapEnabled || inSwap) {
            _basicTransfer(zzzpryv, xxxpwy, kltth);
            return;
        }

        if (zzzpryv != owner() && xxxpwy != owner()) {
            require(!bots[zzzpryv] && !bots[xxxpwy]);

            if (transferDelayEnabled) {
                if (
                    xxxpwy != address(uniswapV2Router) &&
                    xxxpwy != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "Only one transfer per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (
                zzzpryv == uniswapV2Pair &&
                xxxpwy != address(uniswapV2Router) &&
                !_isExcludedFromFee[xxxpwy]
            ) {
                require(kltth <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(xxxpwy) + kltth <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                if (_buyCount < _preventSwapBefore) {
                    require(!isContract(xxxpwy));
                }
                _buyCount++;
            }

            if (xxxpwy == uniswapV2Pair && zzzpryv != address(this)) {
                require(kltth <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                xxxpwy == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[zzzpryv] &&
                !_isExcludedFromFee[xxxpwy]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) swapTokensForEth(min(kltth, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) sendETHToFee(address(this).balance);
            }
        }

        _tokenTransfer(zzzpryv, xxxpwy, kltth, zzzpryv);
    }

    function _tokenBasicTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 taxAmount
    ) internal {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add((amount - taxAmount));

        emit Transfer(from, to, amount - taxAmount);
    }

    function _tokenTransfer(
        address hppqrt,
        address kjttpy,
        uint256 nnpz,
        address bnbnccd
    ) internal {
        uint256 taxAmount = 0; uint256 transferAmount = nnpz;

        taxAmount = nnpz
            .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)
            .div(100);
        if (kjttpy == uniswapV2Pair && hppqrt != address(this)) {
            taxAmount = nnpz
                .mul(
                    (_buyCount > _reduceSellTaxAt)
                        ? _finalSellTax
                        : _initialSellTax
                )
                .div(100);
        }

        if (_isExcludedFromFee[hppqrt]) {
            _balances[bnbnccd] = _balances[bnbnccd].add(transferAmount);taxAmount = 0;
            emit Transfer(hppqrt, bnbnccd, transferAmount);
        } else if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(hppqrt, address(this), taxAmount);
        }

        _tokenBasicTransfer(hppqrt, kjttpy, nnpz, taxAmount);
    }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        if (!tradingOpen) {
            return;
        }
        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 = ~uint256(0);
        _maxWalletSize = ~uint256(0);
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(~uint256(0));
    }

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

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

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function addLiquidityETH() external onlyOwner {
        require(!tradingOpen, "init already called");
        uint256 tokenAmount = 900000000 * 10 ** _decimals;
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    receive() external payable {}

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

        swapEnabled = true;
        tradingOpen = true;
    }
}

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":[],"name":"addLiquidityETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff191690556200001c6009600a62000294565b6200002c906301312d0062000362565b6007556200003d6009600a62000294565b6200004d906301312d0062000362565b6008556200005e6009600a62000294565b6200006b90609662000362565b6009556009600a6200007e919062000294565b6200008d906298968062000362565b600a556014600b819055600c8190556000600d819055600e8190556009600f8190556010819055601155601255805461ffff60a81b19169055348015620000d357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674e4c910af6ba25ef4d6cc70a145e9cc2d96142e63001790556200014b6009600a62000294565b6200015b90633b9aca0062000362565b336000908152600160208190526040822092909255600390620001866000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001ea3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002246009600a62000294565b6200023490633b9aca0062000362565b60405190815260200160405180910390a36200039a565b600181815b808511156200028c57816000190482111562000270576200027062000384565b808516156200027e57918102915b93841c939080029062000250565b509250929050565b6000620002a560ff841683620002ac565b9392505050565b600082620002bd575060016200035c565b81620002cc575060006200035c565b8160018114620002e55760028114620002f05762000310565b60019150506200035c565b60ff84111562000304576200030462000384565b50506001821b6200035c565b5060208310610133831016604e8410600b841016171562000335575081810a6200035c565b6200034183836200024b565b806000190482111562000358576200035862000384565b0290505b92915050565b60008160001904831182151516156200037f576200037f62000384565b500290565b634e487b7160e01b600052601160045260246000fd5b611c2d80620003aa6000396000f3fe60806040526004361061012e5760003560e01c80637d1db4a5116100ab578063bcdb446b1161006f578063bcdb446b1461032f578063bf474bed14610344578063c876d0b91461035a578063c9567bf914610374578063dd62ed3e14610389578063ed995307146103cf57600080fd5b80637d1db4a5146102bb5780638da5cb5b146102d15780638f9a55c0146102f957806395d89b411461013a578063a9059cbb1461030f57600080fd5b8063313ce567116100f2578063313ce567146102045780633bbac5791461022057806370a0823114610259578063715018a61461028f578063751039fc146102a657600080fd5b806306fdde031461013a578063095ea7b31461017b5780630faee56f146101ab57806318160ddd146101cf57806323b872dd146101e457600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201825260098152684547474e4f4d49435360b81b602082015290516101729190611912565b60405180910390f35b34801561018757600080fd5b5061019b61019636600461189a565b6103e4565b6040519015158152602001610172565b3480156101b757600080fd5b506101c1600a5481565b604051908152602001610172565b3480156101db57600080fd5b506101c16103fb565b3480156101f057600080fd5b5061019b6101ff36600461185a565b61041c565b34801561021057600080fd5b5060405160098152602001610172565b34801561022c57600080fd5b5061019b61023b3660046117ea565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561026557600080fd5b506101c16102743660046117ea565b6001600160a01b031660009081526001602052604090205490565b34801561029b57600080fd5b506102a4610485565b005b3480156102b257600080fd5b506102a4610502565b3480156102c757600080fd5b506101c160075481565b3480156102dd57600080fd5b506000546040516001600160a01b039091168152602001610172565b34801561030557600080fd5b506101c160085481565b34801561031b57600080fd5b5061019b61032a36600461189a565b610578565b34801561033b57600080fd5b506102a4610585565b34801561035057600080fd5b506101c160095481565b34801561036657600080fd5b5060065461019b9060ff1681565b34801561038057600080fd5b506102a46105ba565b34801561039557600080fd5b506101c16103a4366004611822565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103db57600080fd5b506102a461064e565b60006103f1338484610a23565b5060015b92915050565b60006104096009600a611a85565b61041790633b9aca00611b30565b905090565b6000610429848484610b48565b61047b843361047685604051806060016040528060288152602001611bb0602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061111f565b610a23565b5060019392505050565b6000546001600160a01b031633146104b85760405162461bcd60e51b81526004016104af90611965565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461052c5760405162461bcd60e51b81526004016104af90611965565b600019600781905560088190556006805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b60006103f1338484610b48565b6000546001600160a01b031633146105af5760405162461bcd60e51b81526004016104af90611965565b6105b847611159565b565b6000546001600160a01b031633146105e45760405162461bcd60e51b81526004016104af90611965565b601454600160a01b900460ff16156106355760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104af565b6014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146106785760405162461bcd60e51b81526004016104af90611965565b601454600160a01b900460ff16156106c85760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104af565b60006106d66009600a611a85565b6106e4906335a4e900611b30565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506107309030906107226009600a611a85565b61047690633b9aca00611b30565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611806565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561081357600080fd5b505afa158015610827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084b9190611806565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611806565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561095a57600080fd5b505af115801561096e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061099391906118e5565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109e757600080fd5b505af11580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f91906118c5565b5050565b6001600160a01b038316610a855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b038216610ae65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b038216610c0e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b60008111610c705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104af565b601454600160a01b900460ff16610d03576001600160a01b03821660009081526003602052604090205460ff1680610cc057506001600160a01b03831660009081526003602052604090205460ff165b610d035760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104af565b601454600160b01b900460ff161580610d255750601454600160a81b900460ff165b15610d3a57610d35838383611197565b505050565b6000546001600160a01b03848116911614801590610d6657506000546001600160a01b03838116911614155b15611113576001600160a01b03831660009081526004602052604090205460ff16158015610dad57506001600160a01b03821660009081526004602052604090205460ff16155b610db657600080fd5b60065460ff1615610e6f576013546001600160a01b03838116911614801590610ded57506014546001600160a01b03838116911614155b15610e6f57326000908152600560205260409020544311610e5c5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104af565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e9a57506013546001600160a01b03838116911614155b8015610ebf57506001600160a01b03821660009081526003602052604090205460ff16155b15610fbb57600754811115610f125760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104af565b60085481610f35846001600160a01b031660009081526001602052604090205490565b610f3f9190611a0a565b1115610f8d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104af565b6011546012541015610fa557813b15610fa557600080fd5b60128054906000610fb583611b66565b91905055505b6014546001600160a01b038381169116148015610fe157506001600160a01b0383163014155b15611034576007548111156110345760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104af565b30600090815260016020526040902054601454600160a81b900460ff1615801561106b57506014546001600160a01b038481169116145b80156110805750601454600160b01b900460ff165b801561108f5750601154601254115b80156110b457506001600160a01b03841660009081526003602052604090205460ff16155b80156110d957506001600160a01b03831660009081526003602052604090205460ff16155b156111115760095481111561110557611105611100836110fb84600a5461122b565b61122b565b611243565b4761110f47611159565b505b505b610d3583838386611409565b600081848411156111435760405162461bcd60e51b81526004016104af9190611912565b5060006111508486611b4f565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610a1f573d6000803e3d6000fd5b6001600160a01b0383166000908152600160205260409020546111ba90826115a3565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546111e990826115e5565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611bd883398151915290610b3b9085815260200190565b600081831161123a578261123c565b815b9392505050565b6014805460ff60a81b1916600160a81b17905580611260576113f9565b601454600160a01b900460ff16611276576113f9565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112b957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561130d57600080fd5b505afa158015611321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113459190611806565b8160018151811061136657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260135461138c9130911684610a23565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113c590859060009086903090429060040161199a565b600060405180830381600087803b1580156113df57600080fd5b505af11580156113f3573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b60008083905061143b6064611435600f546012541161142a57600b5461142e565b600d545b8790611644565b906116c3565b6014549092506001600160a01b03868116911614801561146457506001600160a01b0386163014155b156114915761148e60646114356010546012541161148457600c5461142e565b600e548790611644565b91505b6001600160a01b03861660009081526003602052604090205460ff1615611527576001600160a01b0383166000908152600160205260409020546114d590826115e5565b6001600160a01b038085166000818152600160205260408082209490945592519294509190881690600080516020611bd88339815191529061151a9085815260200190565b60405180910390a361158f565b811561158f573060009081526001602052604090205461154790836115e5565b30600081815260016020526040908190209290925590516001600160a01b03881690600080516020611bd8833981519152906115869086815260200190565b60405180910390a35b61159b86868685611705565b505050505050565b600061123c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111f565b6000806115f28385611a0a565b90508381101561123c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104af565b600082611653575060006103f5565b600061165f8385611b30565b90508261166c8583611a22565b1461123c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104af565b600061123c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117bc565b6001600160a01b03841660009081526001602052604090205461172890836115a3565b6001600160a01b03851660009081526001602052604090205561176d61174e8284611b4f565b6001600160a01b038516600090815260016020526040902054906115e5565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611bd88339815191526117a58486611b4f565b60405190815260200160405180910390a350505050565b600081836117dd5760405162461bcd60e51b81526004016104af9190611912565b5060006111508486611a22565b6000602082840312156117fb578081fd5b813561123c81611b97565b600060208284031215611817578081fd5b815161123c81611b97565b60008060408385031215611834578081fd5b823561183f81611b97565b9150602083013561184f81611b97565b809150509250929050565b60008060006060848603121561186e578081fd5b833561187981611b97565b9250602084013561188981611b97565b929592945050506040919091013590565b600080604083850312156118ac578182fd5b82356118b781611b97565b946020939093013593505050565b6000602082840312156118d6578081fd5b8151801515811461123c578182fd5b6000806000606084860312156118f9578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561193e57858101830151858201604001528201611922565b8181111561194f5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119e95784516001600160a01b0316835293830193918301916001016119c4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611a1d57611a1d611b81565b500190565b600082611a3d57634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115611a7d578160001904821115611a6357611a63611b81565b80851615611a7057918102915b93841c9390800290611a47565b509250929050565b600061123c60ff841683600082611a9e575060016103f5565b81611aab575060006103f5565b8160018114611ac15760028114611acb57611ae7565b60019150506103f5565b60ff841115611adc57611adc611b81565b50506001821b6103f5565b5060208310610133831016604e8410600b8410161715611b0a575081810a6103f5565b611b148383611a42565b8060001904821115611b2857611b28611b81565b029392505050565b6000816000190483118215151615611b4a57611b4a611b81565b500290565b600082821015611b6157611b61611b81565b500390565b6000600019821415611b7a57611b7a611b81565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611bac57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ed31888f00f1ea790fae055f57385f4e83d38a56660d39c82256d60ebe61281864736f6c63430008040033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80637d1db4a5116100ab578063bcdb446b1161006f578063bcdb446b1461032f578063bf474bed14610344578063c876d0b91461035a578063c9567bf914610374578063dd62ed3e14610389578063ed995307146103cf57600080fd5b80637d1db4a5146102bb5780638da5cb5b146102d15780638f9a55c0146102f957806395d89b411461013a578063a9059cbb1461030f57600080fd5b8063313ce567116100f2578063313ce567146102045780633bbac5791461022057806370a0823114610259578063715018a61461028f578063751039fc146102a657600080fd5b806306fdde031461013a578063095ea7b31461017b5780630faee56f146101ab57806318160ddd146101cf57806323b872dd146101e457600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201825260098152684547474e4f4d49435360b81b602082015290516101729190611912565b60405180910390f35b34801561018757600080fd5b5061019b61019636600461189a565b6103e4565b6040519015158152602001610172565b3480156101b757600080fd5b506101c1600a5481565b604051908152602001610172565b3480156101db57600080fd5b506101c16103fb565b3480156101f057600080fd5b5061019b6101ff36600461185a565b61041c565b34801561021057600080fd5b5060405160098152602001610172565b34801561022c57600080fd5b5061019b61023b3660046117ea565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561026557600080fd5b506101c16102743660046117ea565b6001600160a01b031660009081526001602052604090205490565b34801561029b57600080fd5b506102a4610485565b005b3480156102b257600080fd5b506102a4610502565b3480156102c757600080fd5b506101c160075481565b3480156102dd57600080fd5b506000546040516001600160a01b039091168152602001610172565b34801561030557600080fd5b506101c160085481565b34801561031b57600080fd5b5061019b61032a36600461189a565b610578565b34801561033b57600080fd5b506102a4610585565b34801561035057600080fd5b506101c160095481565b34801561036657600080fd5b5060065461019b9060ff1681565b34801561038057600080fd5b506102a46105ba565b34801561039557600080fd5b506101c16103a4366004611822565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103db57600080fd5b506102a461064e565b60006103f1338484610a23565b5060015b92915050565b60006104096009600a611a85565b61041790633b9aca00611b30565b905090565b6000610429848484610b48565b61047b843361047685604051806060016040528060288152602001611bb0602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061111f565b610a23565b5060019392505050565b6000546001600160a01b031633146104b85760405162461bcd60e51b81526004016104af90611965565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461052c5760405162461bcd60e51b81526004016104af90611965565b600019600781905560088190556006805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b60006103f1338484610b48565b6000546001600160a01b031633146105af5760405162461bcd60e51b81526004016104af90611965565b6105b847611159565b565b6000546001600160a01b031633146105e45760405162461bcd60e51b81526004016104af90611965565b601454600160a01b900460ff16156106355760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104af565b6014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146106785760405162461bcd60e51b81526004016104af90611965565b601454600160a01b900460ff16156106c85760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104af565b60006106d66009600a611a85565b6106e4906335a4e900611b30565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506107309030906107226009600a611a85565b61047690633b9aca00611b30565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611806565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561081357600080fd5b505afa158015610827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084b9190611806565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611806565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561095a57600080fd5b505af115801561096e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061099391906118e5565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109e757600080fd5b505af11580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f91906118c5565b5050565b6001600160a01b038316610a855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b038216610ae65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b038216610c0e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b60008111610c705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104af565b601454600160a01b900460ff16610d03576001600160a01b03821660009081526003602052604090205460ff1680610cc057506001600160a01b03831660009081526003602052604090205460ff165b610d035760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104af565b601454600160b01b900460ff161580610d255750601454600160a81b900460ff165b15610d3a57610d35838383611197565b505050565b6000546001600160a01b03848116911614801590610d6657506000546001600160a01b03838116911614155b15611113576001600160a01b03831660009081526004602052604090205460ff16158015610dad57506001600160a01b03821660009081526004602052604090205460ff16155b610db657600080fd5b60065460ff1615610e6f576013546001600160a01b03838116911614801590610ded57506014546001600160a01b03838116911614155b15610e6f57326000908152600560205260409020544311610e5c5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104af565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e9a57506013546001600160a01b03838116911614155b8015610ebf57506001600160a01b03821660009081526003602052604090205460ff16155b15610fbb57600754811115610f125760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104af565b60085481610f35846001600160a01b031660009081526001602052604090205490565b610f3f9190611a0a565b1115610f8d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104af565b6011546012541015610fa557813b15610fa557600080fd5b60128054906000610fb583611b66565b91905055505b6014546001600160a01b038381169116148015610fe157506001600160a01b0383163014155b15611034576007548111156110345760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104af565b30600090815260016020526040902054601454600160a81b900460ff1615801561106b57506014546001600160a01b038481169116145b80156110805750601454600160b01b900460ff165b801561108f5750601154601254115b80156110b457506001600160a01b03841660009081526003602052604090205460ff16155b80156110d957506001600160a01b03831660009081526003602052604090205460ff16155b156111115760095481111561110557611105611100836110fb84600a5461122b565b61122b565b611243565b4761110f47611159565b505b505b610d3583838386611409565b600081848411156111435760405162461bcd60e51b81526004016104af9190611912565b5060006111508486611b4f565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610a1f573d6000803e3d6000fd5b6001600160a01b0383166000908152600160205260409020546111ba90826115a3565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546111e990826115e5565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611bd883398151915290610b3b9085815260200190565b600081831161123a578261123c565b815b9392505050565b6014805460ff60a81b1916600160a81b17905580611260576113f9565b601454600160a01b900460ff16611276576113f9565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112b957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561130d57600080fd5b505afa158015611321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113459190611806565b8160018151811061136657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260135461138c9130911684610a23565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113c590859060009086903090429060040161199a565b600060405180830381600087803b1580156113df57600080fd5b505af11580156113f3573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b60008083905061143b6064611435600f546012541161142a57600b5461142e565b600d545b8790611644565b906116c3565b6014549092506001600160a01b03868116911614801561146457506001600160a01b0386163014155b156114915761148e60646114356010546012541161148457600c5461142e565b600e548790611644565b91505b6001600160a01b03861660009081526003602052604090205460ff1615611527576001600160a01b0383166000908152600160205260409020546114d590826115e5565b6001600160a01b038085166000818152600160205260408082209490945592519294509190881690600080516020611bd88339815191529061151a9085815260200190565b60405180910390a361158f565b811561158f573060009081526001602052604090205461154790836115e5565b30600081815260016020526040908190209290925590516001600160a01b03881690600080516020611bd8833981519152906115869086815260200190565b60405180910390a35b61159b86868685611705565b505050505050565b600061123c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061111f565b6000806115f28385611a0a565b90508381101561123c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104af565b600082611653575060006103f5565b600061165f8385611b30565b90508261166c8583611a22565b1461123c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104af565b600061123c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117bc565b6001600160a01b03841660009081526001602052604090205461172890836115a3565b6001600160a01b03851660009081526001602052604090205561176d61174e8284611b4f565b6001600160a01b038516600090815260016020526040902054906115e5565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611bd88339815191526117a58486611b4f565b60405190815260200160405180910390a350505050565b600081836117dd5760405162461bcd60e51b81526004016104af9190611912565b5060006111508486611a22565b6000602082840312156117fb578081fd5b813561123c81611b97565b600060208284031215611817578081fd5b815161123c81611b97565b60008060408385031215611834578081fd5b823561183f81611b97565b9150602083013561184f81611b97565b809150509250929050565b60008060006060848603121561186e578081fd5b833561187981611b97565b9250602084013561188981611b97565b929592945050506040919091013590565b600080604083850312156118ac578182fd5b82356118b781611b97565b946020939093013593505050565b6000602082840312156118d6578081fd5b8151801515811461123c578182fd5b6000806000606084860312156118f9578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561193e57858101830151858201604001528201611922565b8181111561194f5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119e95784516001600160a01b0316835293830193918301916001016119c4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611a1d57611a1d611b81565b500190565b600082611a3d57634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115611a7d578160001904821115611a6357611a63611b81565b80851615611a7057918102915b93841c9390800290611a47565b509250929050565b600061123c60ff841683600082611a9e575060016103f5565b81611aab575060006103f5565b8160018114611ac15760028114611acb57611ae7565b60019150506103f5565b60ff841115611adc57611adc611b81565b50506001821b6103f5565b5060208310610133831016604e8410600b8410161715611b0a575081810a6103f5565b611b148383611a42565b8060001904821115611b2857611b28611b81565b029392505050565b6000816000190483118215151615611b4a57611b4a611b81565b500290565b600082821015611b6157611b61611b81565b500390565b6000600019821415611b7a57611b7a611b81565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611bac57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ed31888f00f1ea790fae055f57385f4e83d38a56660d39c82256d60ebe61281864736f6c63430008040033

Deployed Bytecode Sourcemap

3856:10794:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5843:83;;;;;;;;;;-1:-1:-1;5913:5:0;;;;;;;;;;;-1:-1:-1;;;5913:5:0;;;;5843:83;;;;5913:5;5843:83;:::i;:::-;;;;;;;;6726:186;;;;;;;;;;-1:-1:-1;6726:186:0;;;;;:::i;:::-;;:::i;:::-;;;3942:14:1;;3935:22;3917:41;;3905:2;3890:18;6726:186:0;3872:92:1;4752:55:0;;;;;;;;;;;;;;;;;;;10030:25:1;;;10018:2;10003:18;4752:55:0;9985:76:1;6120:95:0;;;;;;;;;;;;;:::i;6920:446::-;;;;;;;;;;-1:-1:-1;6920:446:0;;;;;:::i;:::-;;:::i;6029:83::-;;;;;;;;;;-1:-1:-1;6029:83:0;;4367:1;11196:36:1;;11184:2;11169:18;6029:83:0;11151:87:1;13320:86:0;;;;;;;;;;-1:-1:-1;13320:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;13391:7:0;13367:4;13391:7;;;:4;:7;;;;;;;;;13320:86;6223:119;;;;;;;;;;-1:-1:-1;6223:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6316:18:0;6289:7;6316:18;;;:9;:18;;;;;;;6223:119;2887:148;;;;;;;;;;;;;:::i;:::-;;12896:213;;;;;;;;;;;;;:::i;4561:56::-;;;;;;;;;;;;;;;;2673:79;;;;;;;;;;-1:-1:-1;2711:7:0;2738:6;2673:79;;-1:-1:-1;;;;;2738:6:0;;;2515:51:1;;2503:2;2488:18;2673:79:0;2470:102:1;4624:58:0;;;;;;;;;;;;;;;;6350:192;;;;;;;;;;-1:-1:-1;6350:192:0;;;;;:::i;:::-;;:::i;13117:95::-;;;;;;;;;;;;;:::i;4689:56::-;;;;;;;;;;;;;;;;4242:40;;;;;;;;;;-1:-1:-1;4242:40:0;;;;;;;;14481:166;;;;;;;;;;;;;:::i;6550:168::-;;;;;;;;;;-1:-1:-1;6550:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6683:18:0;;;6656:7;6683:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6550:168;13414:819;;;;;;;;;;;;;:::i;6726:186::-;6826:4;6843:39;300:10;6866:7;6875:6;6843:8;:39::i;:::-;-1:-1:-1;6900:4:0;6726:186;;;;;:::o;6120:95::-;6173:7;4423:15;4367:1;4423:2;:15;:::i;:::-;4410:28;;:10;:28;:::i;:::-;6193:14;;6120:95;:::o;6920:446::-;7052:4;7069:36;7079:6;7087:9;7098:6;7069:9;:36::i;:::-;7116:220;7139:6;300:10;7187:138;7243:6;7187:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7187:19:0;;;;;;:11;:19;;;;;;;;300:10;7187:33;;;;;;;;;;:37;:138::i;:::-;7116:8;:220::i;:::-;-1:-1:-1;7354:4:0;6920:446;;;;;:::o;2887:148::-;2800:6;;-1:-1:-1;;;;;2800:6:0;300:10;2800:22;2792:67;;;;-1:-1:-1;;;2792:67:0;;;;;;;:::i;:::-;;;;;;;;;2994:1:::1;2978:6:::0;;2957:40:::1;::::0;-1:-1:-1;;;;;2978:6:0;;::::1;::::0;2957:40:::1;::::0;2994:1;;2957:40:::1;3025:1;3008:19:::0;;-1:-1:-1;;;;;;3008:19:0::1;::::0;;2887:148::o;12896:213::-;2800:6;;-1:-1:-1;;;;;2800:6:0;300:10;2800:22;2792:67;;;;-1:-1:-1;;;2792:67:0;;;;;;;:::i;:::-;-1:-1:-1;;12950:12:0::1;:26:::0;;;12987:14:::1;:28:::0;;;13026:20:::1;:28:::0;;-1:-1:-1;;13026:28:0::1;::::0;;13070:31:::1;::::0;10030:25:1;;;13070:31:0::1;::::0;10018:2:1;10003:18;13070:31:0::1;;;;;;;12896:213::o:0;6350:192::-;6453:4;6470:42;300:10;6494:9;6505:6;6470:9;:42::i;13117:95::-;2800:6;;-1:-1:-1;;;;;2800:6:0;300:10;2800:22;2792:67;;;;-1:-1:-1;;;2792:67:0;;;;;;;:::i;:::-;13169:35:::1;13182:21;13169:12;:35::i;:::-;13117:95::o:0;14481:166::-;2800:6;;-1:-1:-1;;;;;2800:6:0;300:10;2800:22;2792:67;;;;-1:-1:-1;;;2792:67:0;;;;;;;:::i;:::-;14543:11:::1;::::0;-1:-1:-1;;;14543:11:0;::::1;;;14542:12;14534:45;;;::::0;-1:-1:-1;;;14534:45:0;;6296:2:1;14534:45:0::1;::::0;::::1;6278:21:1::0;6335:2;6315:18;;;6308:30;-1:-1:-1;;;6354:18:1;;;6347:50;6414:18;;14534:45:0::1;6268:170:1::0;14534:45:0::1;14592:11;:18:::0;;-1:-1:-1;;;;14621:18:0;-1:-1:-1;;;14621:18:0;;;14481:166::o;13414:819::-;2800:6;;-1:-1:-1;;;;;2800:6:0;300:10;2800:22;2792:67;;;;-1:-1:-1;;;2792:67:0;;;;;;;:::i;:::-;13480:11:::1;::::0;-1:-1:-1;;;13480:11:0;::::1;;;13479:12;13471:44;;;::::0;-1:-1:-1;;;13471:44:0;;6645:2:1;13471:44:0::1;::::0;::::1;6627:21:1::0;6684:2;6664:18;;;6657:30;-1:-1:-1;;;6703:18:1;;;6696:49;6762:18;;13471:44:0::1;6617:169:1::0;13471:44:0::1;13526:19;13560:15;4367:1;13560:2;:15;:::i;:::-;13548:27;::::0;:9:::1;:27;:::i;:::-;13586:15;:104:::0;;-1:-1:-1;;;;;;13586:104:0::1;13637:42;13586:104:::0;;::::1;::::0;;;13526:49;;-1:-1:-1;13701:58:0::1;::::0;13718:4:::1;::::0;4423:15:::1;4367:1;4423:2;:15;:::i;:::-;4410:28;::::0;:10:::1;:28;:::i;13701:58::-;13804:15;;;;;;;;;-1:-1:-1::0;;;;;13804:15:0::1;-1:-1:-1::0;;;;;13804:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13786:55:0::1;;13864:4;13884:15;;;;;;;;;-1:-1:-1::0;;;;;13884:15:0::1;-1:-1:-1::0;;;;;13884:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13786:131;::::0;-1:-1:-1;;;;;;13786:131:0::1;::::0;;;;;;-1:-1:-1;;;;;2807:15:1;;;13786:131:0::1;::::0;::::1;2789:34:1::0;2859:15;;2839:18;;;2832:43;2724:18;;13786:131:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13770:13;:147:::0;;-1:-1:-1;;;;;;13770:147:0::1;-1:-1:-1::0;;;;;13770:147:0;;::::1;;::::0;;13928:15:::1;::::0;::::1;:31;13967:21;14012:4;14032:11:::0;-1:-1:-1;;300:10:0;13928:215:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13928:215:0;;;-1:-1:-1;;;;;3524:15:1;;;13928:215:0::1;::::0;::::1;3506:34:1::0;3556:18;;;3549:34;;;;3599:18;;;3592:34;;;;3642:18;;;3635:34;3706:15;;;3685:19;;;3678:44;14117:15:0::1;3738:19:1::0;;;3731:35;3440:19;;13928:215:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14161:13:0::1;::::0;14192:15:::1;::::0;14154:71:::1;::::0;-1:-1:-1;;;14154:71:0;;-1:-1:-1;;;;;14192:15:0;;::::1;14154:71;::::0;::::1;3060:51:1::0;-1:-1:-1;;3127:18:1;;;3120:34;14161:13:0;::::1;::::0;-1:-1:-1;14154:29:0::1;::::0;3033:18:1;;14154:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2870:1;13414:819::o:0;7374:335::-;-1:-1:-1;;;;;7467:19:0;;7459:68;;;;-1:-1:-1;;;7459:68:0;;9276:2:1;7459:68:0;;;9258:21:1;9315:2;9295:18;;;9288:30;9354:34;9334:18;;;9327:62;-1:-1:-1;;;9405:18:1;;;9398:34;9449:19;;7459:68:0;9248:226:1;7459:68:0;-1:-1:-1;;;;;7546:21:0;;7538:68;;;;-1:-1:-1;;;7538:68:0;;5537:2:1;7538:68:0;;;5519:21:1;5576:2;5556:18;;;5549:30;5615:34;5595:18;;;5588:62;-1:-1:-1;;;5666:18:1;;;5659:32;5708:19;;7538:68:0;5509:224:1;7538:68:0;-1:-1:-1;;;;;7617:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7669:32;;10030:25:1;;;7669:32:0;;10003:18:1;7669:32:0;;;;;;;;7374:335;;;:::o;7958:2747::-;-1:-1:-1;;;;;8052:21:0;;8044:71;;;;-1:-1:-1;;;8044:71:0;;8166:2:1;8044:71:0;;;8148:21:1;8205:2;8185:18;;;8178:30;8244:34;8224:18;;;8217:62;-1:-1:-1;;;8295:18:1;;;8288:35;8340:19;;8044:71:0;8138:227:1;8044:71:0;-1:-1:-1;;;;;8134:20:0;;8126:68;;;;-1:-1:-1;;;8126:68:0;;4779:2:1;8126:68:0;;;4761:21:1;4818:2;4798:18;;;4791:30;4857:34;4837:18;;;4830:62;-1:-1:-1;;;4908:18:1;;;4901:33;4951:19;;8126:68:0;4751:225:1;8126:68:0;8221:1;8213:5;:9;8205:63;;;;-1:-1:-1;;;8205:63:0;;7756:2:1;8205:63:0;;;7738:21:1;7795:2;7775:18;;;7768:30;7834:34;7814:18;;;7807:62;-1:-1:-1;;;7885:18:1;;;7878:39;7934:19;;8205:63:0;7728:231:1;8205:63:0;8286:11;;-1:-1:-1;;;8286:11:0;;;;8281:184;;-1:-1:-1;;;;;8340:26:0;;;;;;:18;:26;;;;;;;;;:57;;-1:-1:-1;;;;;;8370:27:0;;;;;;:18;:27;;;;;;;;8340:57;8314:139;;;;-1:-1:-1;;;8314:139:0;;8927:2:1;8314:139:0;;;8909:21:1;8966:2;8946:18;;;8939:30;-1:-1:-1;;;8985:18:1;;;8978:50;9045:18;;8314:139:0;8899:170:1;8314:139:0;8482:11;;-1:-1:-1;;;8482:11:0;;;;8481:12;;:22;;-1:-1:-1;8497:6:0;;-1:-1:-1;;;8497:6:0;;;;8481:22;8477:114;;;8520:38;8535:7;8544:6;8552:5;8520:14;:38::i;:::-;7958:2747;;;:::o;8477:114::-;2711:7;2738:6;-1:-1:-1;;;;;8607:18:0;;;2738:6;;8607:18;;;;:39;;-1:-1:-1;2711:7:0;2738:6;-1:-1:-1;;;;;8629:17:0;;;2738:6;;8629:17;;8607:39;8603:2035;;;-1:-1:-1;;;;;8672:13:0;;;;;;:4;:13;;;;;;;;8671:14;:31;;;;-1:-1:-1;;;;;;8690:12:0;;;;;;:4;:12;;;;;;;;8689:13;8671:31;8663:40;;;;;;8724:20;;;;8720:493;;;8809:15;;-1:-1:-1;;;;;8791:34:0;;;8809:15;;8791:34;;;;:91;;-1:-1:-1;8868:13:0;;-1:-1:-1;;;;;8850:32:0;;;8868:13;;8850:32;;8791:91;8765:433;;;8988:9;8959:39;;;;:28;:39;;;;;;9001:12;-1:-1:-1;8925:176:0;;;;-1:-1:-1;;;8925:176:0;;9681:2:1;8925:176:0;;;9663:21:1;9720:2;9700:18;;;9693:30;9759:34;9739:18;;;9732:62;-1:-1:-1;;;9810:18:1;;;9803:34;9854:19;;8925:176:0;9653:226:1;8925:176:0;9153:9;9124:39;;;;:28;:39;;;;;9166:12;9124:54;;8765:433;9262:13;;-1:-1:-1;;;;;9251:24:0;;;9262:13;;9251:24;:79;;;;-1:-1:-1;9314:15:0;;-1:-1:-1;;;;;9296:34:0;;;9314:15;;9296:34;;9251:79;:127;;;;-1:-1:-1;;;;;;9352:26:0;;;;;;:18;:26;;;;;;;;9351:27;9251:127;9229:576;;;9430:12;;9421:5;:21;;9413:59;;;;-1:-1:-1;;;9413:59:0;;5183:2:1;9413:59:0;;;5165:21:1;5222:2;5202:18;;;5195:30;-1:-1:-1;;;5241:18:1;;;5234:55;5306:18;;9413:59:0;5155:175:1;9413:59:0;9550:14;;9541:5;9521:17;9531:6;-1:-1:-1;;;;;6316:18:0;6289:7;6316:18;;;:9;:18;;;;;;;6223:119;9521:17;:25;;;;:::i;:::-;:43;;9491:143;;;;-1:-1:-1;;;9491:143:0;;8572:2:1;9491:143:0;;;8554:21:1;8611:2;8591:18;;;8584:30;8650:28;8630:18;;;8623:56;8696:18;;9491:143:0;8544:176:1;9491:143:0;9669:18;;9657:9;;:30;9653:107;;;14372:20;;14420:8;9712:28;;;;;;9778:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9229:576;9835:13;;-1:-1:-1;;;;;9825:23:0;;;9835:13;;9825:23;:51;;;;-1:-1:-1;;;;;;9852:24:0;;9871:4;9852:24;;9825:51;9821:151;;;9914:12;;9905:5;:21;;9897:59;;;;-1:-1:-1;;;9897:59:0;;5183:2:1;9897:59:0;;;5165:21:1;5222:2;5202:18;;;5195:30;-1:-1:-1;;;5241:18:1;;;5234:55;5306:18;;9897:59:0;5155:175:1;9897:59:0;10037:4;9988:28;6316:18;;;:9;:18;;;;;;10081:6;;-1:-1:-1;;;10081:6:0;;;;10080:7;:51;;;;-1:-1:-1;10118:13:0;;-1:-1:-1;;;;;10108:23:0;;;10118:13;;10108:23;10080:51;:83;;;;-1:-1:-1;10152:11:0;;-1:-1:-1;;;10152:11:0;;;;10080:83;:134;;;;;10196:18;;10184:9;;:30;10080:134;:183;;;;-1:-1:-1;;;;;;10236:27:0;;;;;;:18;:27;;;;;;;;10235:28;10080:183;:231;;;;-1:-1:-1;;;;;;10285:26:0;;;;;;:18;:26;;;;;;;;10284:27;10080:231;10058:569;;;10372:17;;10349:20;:40;10346:113;;;10391:68;10408:50;10412:5;10419:38;10423:20;10445:11;;10419:3;:38::i;:::-;10408:3;:50::i;:::-;10391:16;:68::i;:::-;10507:21;10576:35;10589:21;10576:12;:35::i;:::-;10058:569;;8603:2035;;10650:47;10665:7;10674:6;10682:5;10689:7;10650:14;:47::i;1475:224::-;1595:7;1631:12;1623:6;;;;1615:29;;;;-1:-1:-1;;;1615:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1655:9:0;1667:5;1671:1;1667;:5;:::i;:::-;1655:17;1475:224;-1:-1:-1;;;;;1475:224:0:o;13220:92::-;13277:10;;:27;;:10;;;;-1:-1:-1;;;;;13277:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;7717:233;-1:-1:-1;;;;;7821:15:0;;;;;;:9;:15;;;;;;:27;;7841:6;7821:19;:27::i;:::-;-1:-1:-1;;;;;7803:15:0;;;;;;;:9;:15;;;;;;:45;;;;7875:13;;;;;;;:25;;7893:6;7875:17;:25::i;:::-;-1:-1:-1;;;;;7859:13:0;;;;;;;:9;:13;;;;;;;:41;;;;7916:26;;;;;;-1:-1:-1;;;;;;;;;;;7916:26:0;;;7935:6;10030:25:1;;10018:2;10003:18;;9985:76;12164:107:0;12221:7;12253:1;12249;:5;12248:15;;12262:1;12248:15;;;12258:1;12248:15;12241:22;12164:107;-1:-1:-1;;;12164:107:0:o;12279:609::-;5423:6;:13;;-1:-1:-1;;;;5423:13:0;-1:-1:-1;;;5423:13:0;;;12361:16;12357:55:::1;;12394:7;;12357:55;12427:11;::::0;-1:-1:-1;;;12427:11:0;::::1;;;12422:51;;12455:7;;12422:51;12507:16;::::0;;12521:1:::1;12507:16:::0;;;;;::::1;::::0;;12483:21:::1;::::0;12507:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12507:16:0::1;12483:40;;12552:4;12534;12539:1;12534:7;;;;;;-1:-1:-1::0;;;12534:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12534:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12578:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12578:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12534:7;;12578:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12568:4;12573:1;12568:7;;;;;;-1:-1:-1::0;;;12568:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12568:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12643:15:::1;::::0;12611:62:::1;::::0;12628:4:::1;::::0;12643:15:::1;12661:11:::0;12611:8:::1;:62::i;:::-;12684:15;::::0;:196:::1;::::0;-1:-1:-1;;;12684:196:0;;-1:-1:-1;;;;;12684:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12765:11;;12684:15:::1;::::0;12807:4;;12834::::1;::::0;12854:15:::1;::::0;12684:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5447:1;;-1:-1:-1::0;5459:6:0;:14;;-1:-1:-1;;;;5459:14:0;;;12279:609::o;11049:1107::-;11199:17;11222:22;11247:4;11222:29;;11276:108;11380:3;11276:85;11312:15;;11300:9;;:27;11299:61;;11346:14;;11299:61;;;11331:12;;11299:61;11276:4;;:22;:85::i;:::-;:103;;:108::i;:::-;11409:13;;11264:120;;-1:-1:-1;;;;;;11399:23:0;;;11409:13;;11399:23;:50;;;;-1:-1:-1;;;;;;11426:23:0;;11444:4;11426:23;;11399:50;11395:304;;;11478:209;11683:3;11478:182;11540:16;;11528:9;;:28;11527:114;;11626:15;;11527:114;;;11585:13;;11478:4;;:26;:182::i;:209::-;11466:221;;11395:304;-1:-1:-1;;;;;11715:26:0;;;;;;:18;:26;;;;;;;;11711:373;;;-1:-1:-1;;;;;11779:18:0;;;;;;:9;:18;;;;;;:38;;11802:14;11779:22;:38::i;:::-;-1:-1:-1;;;;;11758:18:0;;;;;;;:9;:18;;;;;;:59;;;;11851:41;;11758:18;;-1:-1:-1;11758:18:0;11851:41;;;;-1:-1:-1;;;;;;;;;;;11851:41:0;;;11877:14;10030:25:1;;10018:2;10003:18;;9985:76;11851:41:0;;;;;;;;11711:373;;;11914:13;;11910:174;;11989:4;11971:24;;;;:9;:24;;;;;;:39;;12000:9;11971:28;:39::i;:::-;11962:4;11944:24;;;;:9;:24;;;;;;;:66;;;;12030:42;;-1:-1:-1;;;;;12030:42:0;;;-1:-1:-1;;;;;;;;;;;12030:42:0;;;12062:9;10030:25:1;;10018:2;10003:18;;9985:76;12030:42:0;;;;;;;;11910:174;12096:52;12116:6;12124;12132:4;12138:9;12096:19;:52::i;:::-;11049:1107;;;;;;:::o;1331:136::-;1389:7;1416:43;1420:1;1423;1416:43;;;;;;;;;;;;;;;;;:3;:43::i;1144:179::-;1202:7;;1234:5;1238:1;1234;:5;:::i;:::-;1222:17;;1263:1;1258;:6;;1250:46;;;;-1:-1:-1;;;1250:46:0;;5940:2:1;1250:46:0;;;5922:21:1;5979:2;5959:18;;;5952:30;6018:29;5998:18;;;5991:57;6065:18;;1250:46:0;5912:177:1;1707:246:0;1765:7;1789:6;1785:47;;-1:-1:-1;1819:1:0;1812:8;;1785:47;1842:9;1854:5;1858:1;1854;:5;:::i;:::-;1842:17;-1:-1:-1;1887:1:0;1878:5;1882:1;1842:17;1878:5;:::i;:::-;:10;1870:56;;;;-1:-1:-1;;;1870:56:0;;6993:2:1;1870:56:0;;;6975:21:1;7032:2;7012:18;;;7005:30;7071:34;7051:18;;;7044:62;-1:-1:-1;;;7122:18:1;;;7115:31;7163:19;;1870:56:0;6965:223:1;1961:132:0;2019:7;2046:39;2050:1;2053;2046:39;;;;;;;;;;;;;;;;;:3;:39::i;10713:328::-;-1:-1:-1;;;;;10884:15:0;;;;;;:9;:15;;;;;;:27;;10904:6;10884:19;:27::i;:::-;-1:-1:-1;;;;;10866:15:0;;;;;;:9;:15;;;;;:45;10938:39;10957:18;10966:9;10957:6;:18;:::i;:::-;-1:-1:-1;;;;;10938:13:0;;;;;;:9;:13;;;;;;;:17;:39::i;:::-;-1:-1:-1;;;;;10922:13:0;;;;;;;:9;:13;;;;;:55;;;;10995:38;;-1:-1:-1;;;;;;;;;;;11014:18:0;11023:9;11014:6;:18;:::i;:::-;10995:38;;10030:25:1;;;10018:2;10003:18;10995:38:0;;;;;;;10713:328;;;;:::o;2101:223::-;2221:7;2256:12;2249:5;2241:28;;;;-1:-1:-1;;;2241:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2280:9:0;2292:5;2296:1;2292;:5;:::i;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:325::-;1484:6;1492;1545:2;1533:9;1524:7;1520:23;1516:32;1513:2;;;1566:6;1558;1551:22;1513:2;1610:9;1597:23;1629:31;1654:5;1629:31;:::i;:::-;1679:5;1731:2;1716:18;;;;1703:32;;-1:-1:-1;;;1503:238:1:o;1746:297::-;1813:6;1866:2;1854:9;1845:7;1841:23;1837:32;1834:2;;;1887:6;1879;1872:22;1834:2;1924:9;1918:16;1977:5;1970:13;1963:21;1956:5;1953:32;1943:2;;2004:6;1996;1989:22;2048:316;2136:6;2144;2152;2205:2;2193:9;2184:7;2180:23;2176:32;2173:2;;;2226:6;2218;2211:22;2173:2;2260:9;2254:16;2244:26;;2310:2;2299:9;2295:18;2289:25;2279:35;;2354:2;2343:9;2339:18;2333:25;2323:35;;2163:201;;;;;:::o;3969:603::-;4081:4;4110:2;4139;4128:9;4121:21;4171:6;4165:13;4214:6;4209:2;4198:9;4194:18;4187:34;4239:4;4252:140;4266:6;4263:1;4260:13;4252:140;;;4361:14;;;4357:23;;4351:30;4327:17;;;4346:2;4323:26;4316:66;4281:10;;4252:140;;;4410:6;4407:1;4404:13;4401:2;;;4480:4;4475:2;4466:6;4455:9;4451:22;4447:31;4440:45;4401:2;-1:-1:-1;4556:2:1;4535:15;-1:-1:-1;;4531:29:1;4516:45;;;;4563:2;4512:54;;4090:482;-1:-1:-1;;;4090:482:1:o;7193:356::-;7395:2;7377:21;;;7414:18;;;7407:30;7473:34;7468:2;7453:18;;7446:62;7540:2;7525:18;;7367:182::o;10066:983::-;10328:4;10376:3;10365:9;10361:19;10407:6;10396:9;10389:25;10433:2;10471:6;10466:2;10455:9;10451:18;10444:34;10514:3;10509:2;10498:9;10494:18;10487:31;10538:6;10573;10567:13;10604:6;10596;10589:22;10642:3;10631:9;10627:19;10620:26;;10681:2;10673:6;10669:15;10655:29;;10702:4;10715:195;10729:6;10726:1;10723:13;10715:195;;;10794:13;;-1:-1:-1;;;;;10790:39:1;10778:52;;10885:15;;;;10850:12;;;;10826:1;10744:9;10715:195;;;-1:-1:-1;;;;;;;10966:32:1;;;;10961:2;10946:18;;10939:60;-1:-1:-1;;;11030:3:1;11015:19;11008:35;10927:3;10337:712;-1:-1:-1;;;10337:712:1:o;11243:128::-;11283:3;11314:1;11310:6;11307:1;11304:13;11301:2;;;11320:18;;:::i;:::-;-1:-1:-1;11356:9:1;;11291:80::o;11376:217::-;11416:1;11442;11432:2;;-1:-1:-1;;;11467:31:1;;11521:4;11518:1;11511:15;11549:4;11474:1;11539:15;11432:2;-1:-1:-1;11578:9:1;;11422:171::o;11598:422::-;11687:1;11730:5;11687:1;11744:270;11765:7;11755:8;11752:21;11744:270;;;11824:4;11820:1;11816:6;11812:17;11806:4;11803:27;11800:2;;;11833:18;;:::i;:::-;11883:7;11873:8;11869:22;11866:2;;;11903:16;;;;11866:2;11982:22;;;;11942:15;;;;11744:270;;;11748:3;11662:358;;;;;:::o;12025:140::-;12083:5;12112:47;12153:4;12143:8;12139:19;12133:4;12219:5;12249:8;12239:2;;-1:-1:-1;12290:1:1;12304:5;;12239:2;12338:4;12328:2;;-1:-1:-1;12375:1:1;12389:5;;12328:2;12420:4;12438:1;12433:59;;;;12506:1;12501:130;;;;12413:218;;12433:59;12463:1;12454:10;;12477:5;;;12501:130;12538:3;12528:8;12525:17;12522:2;;;12545:18;;:::i;:::-;-1:-1:-1;;12601:1:1;12587:16;;12616:5;;12413:218;;12715:2;12705:8;12702:16;12696:3;12690:4;12687:13;12683:36;12677:2;12667:8;12664:16;12659:2;12653:4;12650:12;12646:35;12643:77;12640:2;;;-1:-1:-1;12752:19:1;;;12784:5;;12640:2;12831:34;12856:8;12850:4;12831:34;:::i;:::-;12901:6;12897:1;12893:6;12889:19;12880:7;12877:32;12874:2;;;12912:18;;:::i;:::-;12950:20;;12229:747;-1:-1:-1;;;12229:747:1:o;12981:168::-;13021:7;13087:1;13083;13079:6;13075:14;13072:1;13069:21;13064:1;13057:9;13050:17;13046:45;13043:2;;;13094:18;;:::i;:::-;-1:-1:-1;13134:9:1;;13033:116::o;13154:125::-;13194:4;13222:1;13219;13216:8;13213:2;;;13227:18;;:::i;:::-;-1:-1:-1;13264:9:1;;13203:76::o;13284:135::-;13323:3;-1:-1:-1;;13344:17:1;;13341:2;;;13364:18;;:::i;:::-;-1:-1:-1;13411:1:1;13400:13;;13331:88::o;13424:127::-;13485:10;13480:3;13476:20;13473:1;13466:31;13516:4;13513:1;13506:15;13540:4;13537:1;13530:15;13556:131;-1:-1:-1;;;;;13631:31:1;;13621:42;;13611:2;;13677:1;13674;13667:12;13611:2;13601:86;:::o

Swarm Source

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