ETH Price: $2,120.77 (+5.06%)
 

Overview

Max Total Supply

420,690,000,000,000 SHREK

Holders

626

Transfers

-
16 ( -50.00%)

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
SHREK

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2026-01-07
*/

// SPDX-License-Identifier: UNLICENSE

/*

    $SHREK The Origin
    In June 2013, a mysterious Shrek fan story appeared on 4chan.
    one of the most infamous copypastas in internet history.


    TG;https://t.me/SHREKERC20
    X: https://x.com/shrek_eth_
    Website: https://shreketh.xyz

 */

pragma solidity 0.8.23;

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 SHREK is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    string private constant _name = unicode"Shrek";
    string private constant _symbol = unicode"SHREK";

    uint256 private _initialBuyTax = 18;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 120;
    uint256 private _reduceSellTaxAt = 130;
    uint256 private _preventSwapBefore = 4;
    uint256 private _buyCount = 0;
    uint32 private _launchBlock;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000000 * 10 ** _decimals;
    uint256 public _maxTxAmount = (_tTotal * 2) / 100;
    uint256 public _maxWalletSize = (_tTotal * 2) / 100;
    uint256 public _taxSwapThreshold = (_tTotal * 1) / 1000;
    uint256 public _maxTaxSwap = (_tTotal * 2) / 100;

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

    constructor() {
        _taxWallet = payable(0xA1f0A882f79045623Ec16192a4b30f901d92eabf);
        _balances[_msgSender()] = (_tTotal * 4) / 100;
        _balances[address(this)] = (_tTotal * 96) / 100;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0), _msgSender(), (_tTotal * 4) / 100);
        emit Transfer(address(0), address(this), (_tTotal * 96) / 100);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 4, "Only 4 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

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

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

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

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

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

    function addUniswapPool() external onlyOwner {
        _initialBuyTax = 0;
        _initialSellTax = 0;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        uniswapV2Router.addLiquidityETH{ value: address(this).balance }(
            address(this),
            (_tTotal * 86) / 100,
            0,
            0,
            owner(),
            block.timestamp
        );
        _initialBuyTax = 18;
        _initialSellTax = 20;
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        _launchBlock = uint32(block.number);
    }

    function reduceFee(uint256 _newFee) external onlyOwner {
        require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
        _finalBuyTax = _newFee;
        _finalSellTax = _newFee;
    }

    receive() external payable {}

    function manualSwap() external onlyOwner {
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender() == _taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function manualsend() external {
        require(_msgSender() == _taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"addUniswapPool","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":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601260055560146006555f6007555f60085560786009556082600a556004600b555f600c5560646009600a6200003b9190620007ac565b6200004e9066017e9d8602b400620007c3565b6200005b906002620007c3565b620000679190620007dd565b600e5560646200007a6009600a620007ac565b6200008d9066017e9d8602b400620007c3565b6200009a906002620007c3565b620000a69190620007dd565b600f556103e8620000ba6009600a620007ac565b620000cd9066017e9d8602b400620007c3565b620000da906001620007c3565b620000e69190620007dd565b6010556064620000f96009600a620007ac565b6200010c9066017e9d8602b400620007c3565b62000119906002620007c3565b620001259190620007dd565b6011556013805461ffff60a81b191690555f60148190556015553480156200014b575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673a1f0a882f79045623ec16192a4b30f901d92eabf1790556064620001c26009600a620007ac565b620001d59066017e9d8602b400620007c3565b620001e2906004620007c3565b620001ee9190620007dd565b335f9081526001602052604090205560646200020d6009600a620007ac565b620002209066017e9d8602b400620007c3565b6200022d906060620007c3565b620002399190620007dd565b305f908152600160208190526040822092909255600390620002625f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308082526003909452828120805486166001908117909155600454909216815291909120805490931617909155601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155620003129190620002f96009600a620007ac565b6200030c9066017e9d8602b400620007c3565b62000572565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000363573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003899190620007fd565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200040f9190620007fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200045a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004809190620007fd565b601380546001600160a01b0319166001600160a01b0392909216919091179055620004a83390565b6001600160a01b03165f5f80516020620020e28339815191526064620004d16009600a620007ac565b620004e49066017e9d8602b400620007c3565b620004f1906004620007c3565b620004fd9190620007dd565b60405190815260200160405180910390a3305f5f80516020620020e283398151915260646200052f6009600a620007ac565b620005429066017e9d8602b400620007c3565b6200054f906060620007c3565b6200055b9190620007dd565b60405190815260200160405180910390a362000825565b6001600160a01b038316620005da5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166200063d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620005d1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620006f157815f1904821115620006d557620006d56200069d565b80851615620006e357918102915b93841c9390800290620006b6565b509250929050565b5f826200070957506001620007a6565b816200071757505f620007a6565b81600181146200073057600281146200073b576200075b565b6001915050620007a6565b60ff8411156200074f576200074f6200069d565b50506001821b620007a6565b5060208310610133831016604e8410600b841016171562000780575081810a620007a6565b6200078c8383620006b1565b805f1904821115620007a257620007a26200069d565b0290505b92915050565b5f620007bc60ff841683620006f9565b9392505050565b8082028115828204841417620007a657620007a66200069d565b5f82620007f857634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200080e575f80fd5b81516001600160a01b0381168114620007bc575f80fd5b6118af80620008335f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a857806395d89b411161006d57806395d89b4114610327578063a9059cbb14610354578063bf474bed14610373578063c9567bf914610388578063dd62ed3e1461039c578063ec1f3f63146103e0575f80fd5b80637d1db4a5146102a457806380ad906d146102b95780638cd4426d146102cd5780638da5cb5b146102ec5780638f9a55c014610312575f80fd5b8063313ce567116100f9578063313ce5671461020357806351bc3c851461021e5780636fc3eaec1461023457806370a0823114610248578063715018a61461027c578063751039fc14610290575f80fd5b806306fdde031461013f578063095ea7b31461017e5780630faee56f146101ad57806318160ddd146101d057806323b872dd146101e4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50604080518082019091526005815264536872656b60d81b60208201525b6040516101759190611474565b60405180910390f35b348015610189575f80fd5b5061019d6101983660046114d4565b6103ff565b6040519015158152602001610175565b3480156101b8575f80fd5b506101c260115481565b604051908152602001610175565b3480156101db575f80fd5b506101c2610415565b3480156101ef575f80fd5b5061019d6101fe3660046114fe565b610438565b34801561020e575f80fd5b5060405160098152602001610175565b348015610229575f80fd5b5061023261049f565b005b34801561023f575f80fd5b50610232610503565b348015610253575f80fd5b506101c261026236600461153c565b6001600160a01b03165f9081526001602052604090205490565b348015610287575f80fd5b5061023261052f565b34801561029b575f80fd5b506102326105a0565b3480156102af575f80fd5b506101c2600e5481565b3480156102c4575f80fd5b5061023261065a565b3480156102d8575f80fd5b506102326102e73660046114d4565b6107f7565b3480156102f7575f80fd5b505f546040516001600160a01b039091168152602001610175565b34801561031d575f80fd5b506101c2600f5481565b348015610332575f80fd5b50604080518082019091526005815264534852454b60d81b6020820152610168565b34801561035f575f80fd5b5061019d61036e3660046114d4565b610917565b34801561037e575f80fd5b506101c260105481565b348015610393575f80fd5b50610232610923565b3480156103a7575f80fd5b506101c26103b6366004611557565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103eb575f80fd5b506102326103fa36600461158e565b6109d4565b5f61040b338484610a23565b5060015b92915050565b5f6104226009600a611699565b6104339066017e9d8602b4006116a7565b905090565b5f610444848484610b46565b610495843361049085604051806060016040528060288152602001611852602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110f0565b610a23565b5060019392505050565b5f546001600160a01b031633146104d15760405162461bcd60e51b81526004016104c8906116be565b60405180910390fd5b305f9081526001602052604090205480156104ef576104ef81611128565b4780156104ff576104ff81611298565b5050565b6004546001600160a01b0316336001600160a01b031614610522575f80fd5b4761052c81611298565b50565b5f546001600160a01b031633146105585760405162461bcd60e51b81526004016104c8906116be565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105c95760405162461bcd60e51b81526004016104c8906116be565b6105d56009600a611699565b6105e69066017e9d8602b4006116a7565b600e556105f56009600a611699565b6106069066017e9d8602b4006116a7565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106366009600a611699565b6106479066017e9d8602b4006116a7565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106835760405162461bcd60e51b81526004016104c8906116be565b5f600581905560065560135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156106de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070291906116f3565b506012546001600160a01b031663f305d719473060646107246009600a611699565b6107359066017e9d8602b4006116a7565b6107409060566116a7565b61074a9190611712565b5f8061075d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107e89190611731565b50506012600555506014600655565b6004546001600160a01b0316336001600160a01b031614610816575f80fd5b6040516370a0823160e01b81523060048201525f90610897906064906108919085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088b919061175c565b906112cf565b90611354565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156108ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091191906116f3565b50505050565b5f61040b338484610b46565b5f546001600160a01b0316331461094c5760405162461bcd60e51b81526004016104c8906116be565b601354600160a01b900460ff16156109a65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c8565b6013805462ff00ff60a01b19166201000160a01b179055600d805463ffffffff19164363ffffffff16179055565b5f546001600160a01b031633146109fd5760405162461bcd60e51b81526004016104c8906116be565b6007548111158015610a1157506008548111155b610a19575f80fd5b6007819055600855565b6001600160a01b038316610a855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c8565b6001600160a01b038216610ae65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610baa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c8565b6001600160a01b038216610c0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c8565b5f8111610c6d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c8565b5f80546001600160a01b03858116911614801590610c9857505f546001600160a01b03848116911614155b15610fb357610cc36064610891600954600c5411610cb857600554610cbc565b6007545b85906112cf565b6013549091506001600160a01b038581169116148015610cf157506012546001600160a01b03848116911614155b8015610d1557506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4a57601354600160b01b900460ff16610d695760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b60448201526064016104c8565b600e54821115610dbb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c8565b600f5482610ddd856001600160a01b03165f9081526001602052604090205490565b610de79190611773565b1115610e355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c8565b600c8054905f610e4483611786565b91905055505b6013546001600160a01b038481169116148015610e7057506001600160a01b0384163014155b15610e9d57610e9a6064610891600a54600c5411610e9057600654610cbc565b60085485906112cf565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ed357506013546001600160a01b038581169116145b8015610ee85750601354600160b01b900460ff165b8015610ef5575060105481115b8015610f045750600b54600c54115b15610fb157601554431115610f18575f6014555b600460145410610f6a5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920342073656c6c732070657220626c6f636b2100000000000000000060448201526064016104c8565b610f87610f8284610f7d84601154611395565b611395565b611128565b478015610f9757610f9747611298565b60148054905f610fa683611786565b909155505043601555505b505b801561102b57305f90815260016020526040902054610fd290826113a9565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110229085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461104d9083611407565b6001600160a01b0385165f908152600160205260409020556110906110728383611407565b6001600160a01b0385165f90815260016020526040902054906113a9565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110d98585611407565b60405190815260200160405180910390a350505050565b5f81848411156111135760405162461bcd60e51b81526004016104c89190611474565b505f61111f848661179e565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061116e5761116e6117b1565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e991906117c5565b816001815181106111fc576111fc6117b1565b6001600160a01b0392831660209182029290920101526012546112229130911684610a23565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125a9085905f908690309042906004016117e0565b5f604051808303815f87803b158015611271575f80fd5b505af1158015611283573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104ff573d5f803e3d5ffd5b5f825f036112de57505f61040f565b5f6112e983856116a7565b9050826112f68583611712565b1461134d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c8565b9392505050565b5f61134d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611448565b5f8183116113a3578261134d565b50919050565b5f806113b58385611773565b90508381101561134d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c8565b5f61134d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f0565b5f81836114685760405162461bcd60e51b81526004016104c89190611474565b505f61111f8486611712565b5f602080835283518060208501525f5b818110156114a057858101830151858201604001528201611484565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461052c575f80fd5b5f80604083850312156114e5575f80fd5b82356114f0816114c0565b946020939093013593505050565b5f805f60608486031215611510575f80fd5b833561151b816114c0565b9250602084013561152b816114c0565b929592945050506040919091013590565b5f6020828403121561154c575f80fd5b813561134d816114c0565b5f8060408385031215611568575f80fd5b8235611573816114c0565b91506020830135611583816114c0565b809150509250929050565b5f6020828403121561159e575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115f357815f19048211156115d9576115d96115a5565b808516156115e657918102915b93841c93908002906115be565b509250929050565b5f826116095750600161040f565b8161161557505f61040f565b816001811461162b576002811461163557611651565b600191505061040f565b60ff841115611646576116466115a5565b50506001821b61040f565b5060208310610133831016604e8410600b8410161715611674575081810a61040f565b61167e83836115b9565b805f1904821115611691576116916115a5565b029392505050565b5f61134d60ff8416836115fb565b808202811582820484141761040f5761040f6115a5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611703575f80fd5b8151801515811461134d575f80fd5b5f8261172c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f60608486031215611743575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561176c575f80fd5b5051919050565b8082018082111561040f5761040f6115a5565b5f60018201611797576117976115a5565b5060010190565b8181038181111561040f5761040f6115a5565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156117d5575f80fd5b815161134d816114c0565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118305784516001600160a01b03168352938301939183019160010161180b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204992e45bffbcc6074a3cc644f56961b7260adfdc14b7259b3aa9df1e2c342dbb64736f6c63430008170033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637d1db4a5116100a857806395d89b411161006d57806395d89b4114610327578063a9059cbb14610354578063bf474bed14610373578063c9567bf914610388578063dd62ed3e1461039c578063ec1f3f63146103e0575f80fd5b80637d1db4a5146102a457806380ad906d146102b95780638cd4426d146102cd5780638da5cb5b146102ec5780638f9a55c014610312575f80fd5b8063313ce567116100f9578063313ce5671461020357806351bc3c851461021e5780636fc3eaec1461023457806370a0823114610248578063715018a61461027c578063751039fc14610290575f80fd5b806306fdde031461013f578063095ea7b31461017e5780630faee56f146101ad57806318160ddd146101d057806323b872dd146101e4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50604080518082019091526005815264536872656b60d81b60208201525b6040516101759190611474565b60405180910390f35b348015610189575f80fd5b5061019d6101983660046114d4565b6103ff565b6040519015158152602001610175565b3480156101b8575f80fd5b506101c260115481565b604051908152602001610175565b3480156101db575f80fd5b506101c2610415565b3480156101ef575f80fd5b5061019d6101fe3660046114fe565b610438565b34801561020e575f80fd5b5060405160098152602001610175565b348015610229575f80fd5b5061023261049f565b005b34801561023f575f80fd5b50610232610503565b348015610253575f80fd5b506101c261026236600461153c565b6001600160a01b03165f9081526001602052604090205490565b348015610287575f80fd5b5061023261052f565b34801561029b575f80fd5b506102326105a0565b3480156102af575f80fd5b506101c2600e5481565b3480156102c4575f80fd5b5061023261065a565b3480156102d8575f80fd5b506102326102e73660046114d4565b6107f7565b3480156102f7575f80fd5b505f546040516001600160a01b039091168152602001610175565b34801561031d575f80fd5b506101c2600f5481565b348015610332575f80fd5b50604080518082019091526005815264534852454b60d81b6020820152610168565b34801561035f575f80fd5b5061019d61036e3660046114d4565b610917565b34801561037e575f80fd5b506101c260105481565b348015610393575f80fd5b50610232610923565b3480156103a7575f80fd5b506101c26103b6366004611557565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103eb575f80fd5b506102326103fa36600461158e565b6109d4565b5f61040b338484610a23565b5060015b92915050565b5f6104226009600a611699565b6104339066017e9d8602b4006116a7565b905090565b5f610444848484610b46565b610495843361049085604051806060016040528060288152602001611852602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110f0565b610a23565b5060019392505050565b5f546001600160a01b031633146104d15760405162461bcd60e51b81526004016104c8906116be565b60405180910390fd5b305f9081526001602052604090205480156104ef576104ef81611128565b4780156104ff576104ff81611298565b5050565b6004546001600160a01b0316336001600160a01b031614610522575f80fd5b4761052c81611298565b50565b5f546001600160a01b031633146105585760405162461bcd60e51b81526004016104c8906116be565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105c95760405162461bcd60e51b81526004016104c8906116be565b6105d56009600a611699565b6105e69066017e9d8602b4006116a7565b600e556105f56009600a611699565b6106069066017e9d8602b4006116a7565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106366009600a611699565b6106479066017e9d8602b4006116a7565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106835760405162461bcd60e51b81526004016104c8906116be565b5f600581905560065560135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156106de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070291906116f3565b506012546001600160a01b031663f305d719473060646107246009600a611699565b6107359066017e9d8602b4006116a7565b6107409060566116a7565b61074a9190611712565b5f8061075d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107e89190611731565b50506012600555506014600655565b6004546001600160a01b0316336001600160a01b031614610816575f80fd5b6040516370a0823160e01b81523060048201525f90610897906064906108919085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088b919061175c565b906112cf565b90611354565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af11580156108ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091191906116f3565b50505050565b5f61040b338484610b46565b5f546001600160a01b0316331461094c5760405162461bcd60e51b81526004016104c8906116be565b601354600160a01b900460ff16156109a65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c8565b6013805462ff00ff60a01b19166201000160a01b179055600d805463ffffffff19164363ffffffff16179055565b5f546001600160a01b031633146109fd5760405162461bcd60e51b81526004016104c8906116be565b6007548111158015610a1157506008548111155b610a19575f80fd5b6007819055600855565b6001600160a01b038316610a855760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c8565b6001600160a01b038216610ae65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610baa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c8565b6001600160a01b038216610c0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c8565b5f8111610c6d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c8565b5f80546001600160a01b03858116911614801590610c9857505f546001600160a01b03848116911614155b15610fb357610cc36064610891600954600c5411610cb857600554610cbc565b6007545b85906112cf565b6013549091506001600160a01b038581169116148015610cf157506012546001600160a01b03848116911614155b8015610d1557506001600160a01b0383165f9081526003602052604090205460ff16155b15610e4a57601354600160b01b900460ff16610d695760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b60448201526064016104c8565b600e54821115610dbb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c8565b600f5482610ddd856001600160a01b03165f9081526001602052604090205490565b610de79190611773565b1115610e355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c8565b600c8054905f610e4483611786565b91905055505b6013546001600160a01b038481169116148015610e7057506001600160a01b0384163014155b15610e9d57610e9a6064610891600a54600c5411610e9057600654610cbc565b60085485906112cf565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ed357506013546001600160a01b038581169116145b8015610ee85750601354600160b01b900460ff165b8015610ef5575060105481115b8015610f045750600b54600c54115b15610fb157601554431115610f18575f6014555b600460145410610f6a5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920342073656c6c732070657220626c6f636b2100000000000000000060448201526064016104c8565b610f87610f8284610f7d84601154611395565b611395565b611128565b478015610f9757610f9747611298565b60148054905f610fa683611786565b909155505043601555505b505b801561102b57305f90815260016020526040902054610fd290826113a9565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110229085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461104d9083611407565b6001600160a01b0385165f908152600160205260409020556110906110728383611407565b6001600160a01b0385165f90815260016020526040902054906113a9565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110d98585611407565b60405190815260200160405180910390a350505050565b5f81848411156111135760405162461bcd60e51b81526004016104c89190611474565b505f61111f848661179e565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061116e5761116e6117b1565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e991906117c5565b816001815181106111fc576111fc6117b1565b6001600160a01b0392831660209182029290920101526012546112229130911684610a23565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125a9085905f908690309042906004016117e0565b5f604051808303815f87803b158015611271575f80fd5b505af1158015611283573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104ff573d5f803e3d5ffd5b5f825f036112de57505f61040f565b5f6112e983856116a7565b9050826112f68583611712565b1461134d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c8565b9392505050565b5f61134d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611448565b5f8183116113a3578261134d565b50919050565b5f806113b58385611773565b90508381101561134d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c8565b5f61134d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f0565b5f81836114685760405162461bcd60e51b81526004016104c89190611474565b505f61111f8486611712565b5f602080835283518060208501525f5b818110156114a057858101830151858201604001528201611484565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461052c575f80fd5b5f80604083850312156114e5575f80fd5b82356114f0816114c0565b946020939093013593505050565b5f805f60608486031215611510575f80fd5b833561151b816114c0565b9250602084013561152b816114c0565b929592945050506040919091013590565b5f6020828403121561154c575f80fd5b813561134d816114c0565b5f8060408385031215611568575f80fd5b8235611573816114c0565b91506020830135611583816114c0565b809150509250929050565b5f6020828403121561159e575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115f357815f19048211156115d9576115d96115a5565b808516156115e657918102915b93841c93908002906115be565b509250929050565b5f826116095750600161040f565b8161161557505f61040f565b816001811461162b576002811461163557611651565b600191505061040f565b60ff841115611646576116466115a5565b50506001821b61040f565b5060208310610133831016604e8410600b8410161715611674575081810a61040f565b61167e83836115b9565b805f1904821115611691576116916115a5565b029392505050565b5f61134d60ff8416836115fb565b808202811582820484141761040f5761040f6115a5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611703575f80fd5b8151801515811461134d575f80fd5b5f8261172c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f60608486031215611743575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561176c575f80fd5b5051919050565b8082018082111561040f5761040f6115a5565b5f60018201611797576117976115a5565b5060010190565b8181038181111561040f5761040f6115a5565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156117d5575f80fd5b815161134d816114c0565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118305784516001600160a01b03168352938301939183019160010161180b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204992e45bffbcc6074a3cc644f56961b7260adfdc14b7259b3aa9df1e2c342dbb64736f6c63430008170033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

-----Decoded View---------------

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef


Deployed Bytecode Sourcemap

3763:9037:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6109:83;;;;;;;;;;-1:-1:-1;6179:5:0;;;;;;;;;;;;-1:-1:-1;;;6179:5:0;;;;6109:83;;;;;;;:::i;:::-;;;;;;;;6942:161;;;;;;;;;;-1:-1:-1;6942:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6942:161:0;1023:187:1;4845:48:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4845:48:0;1215:177:1;6386:95:0;;;;;;;;;;;;;:::i;7111:363::-;;;;;;;;;;-1:-1:-1;7111:363:0;;;;;:::i;:::-;;:::i;6295:83::-;;;;;;;;;;-1:-1:-1;6295:83:0;;4586:1;2000:36:1;;1988:2;1973:18;6295:83:0;1858:184:1;11994:330:0;;;;;;;;;;;;;:::i;:::-;;12608:189;;;;;;;;;;;;;:::i;6489:119::-;;;;;;;;;;-1:-1:-1;6489:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6582:18:0;6555:7;6582:18;;;:9;:18;;;;;;;6489:119;2840:148;;;;;;;;;;;;;:::i;10762:162::-;;;;;;;;;;;;;:::i;4669:49::-;;;;;;;;;;;;;;;;11032:487;;;;;;;;;;;;;:::i;12332:268::-;;;;;;;;;;-1:-1:-1;12332:268:0;;;;;:::i;:::-;;:::i;2626:79::-;;;;;;;;;;-1:-1:-1;2664:7:0;2691:6;2626:79;;-1:-1:-1;;;;;2691:6:0;;;2445:51:1;;2433:2;2418:18;2626:79:0;2299:203:1;4725:51:0;;;;;;;;;;;;;;;;6200:87;;;;;;;;;;-1:-1:-1;6272:7:0;;;;;;;;;;;;-1:-1:-1;;;6272:7:0;;;;6200:87;;6616:167;;;;;;;;;;-1:-1:-1;6616:167:0;;;;;:::i;:::-;;:::i;4783:55::-;;;;;;;;;;;;;;;;11527:213;;;;;;;;;;;;;:::i;6791:143::-;;;;;;;;;;-1:-1:-1;6791:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6899:18:0;;;6872:7;6899:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6791:143;11748:201;;;;;;;;;;-1:-1:-1;11748:201:0;;;;;:::i;:::-;;:::i;6942:161::-;7017:4;7034:39;452:10;7057:7;7066:6;7034:8;:39::i;:::-;-1:-1:-1;7091:4:0;6942:161;;;;;:::o;6386:95::-;6439:7;4647:15;4586:1;4647:2;:15;:::i;:::-;4629:33;;:15;:33;:::i;:::-;6459:14;;6386:95;:::o;7111:363::-;7209:4;7226:36;7236:6;7244:9;7255:6;7226:9;:36::i;:::-;7273:171;7296:6;452:10;7344:89;7382:6;7344:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7344:19:0;;;;;;:11;:19;;;;;;;;452:10;7344:33;;;;;;;;;;:37;:89::i;:::-;7273:8;:171::i;:::-;-1:-1:-1;7462:4:0;7111:363;;;;;:::o;11994:330::-;2753:6;;-1:-1:-1;;;;;2753:6:0;452:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;;;;;;;;;12087:4:::1;12046:20;6582:18:::0;;;:9;:18;;;;;;12108:16;;12104:79:::1;;12141:30;12158:12;12141:16;:30::i;:::-;12214:21;12250:14:::0;;12246:71:::1;;12281:24;12294:10;12281:12;:24::i;:::-;12035:289;;11994:330::o:0;12608:189::-;12674:10;;-1:-1:-1;;;;;12674:10:0;452;-1:-1:-1;;;;;12658:26:0;;12650:35;;;;;;12725:21;12757:32;12725:21;12757:12;:32::i;:::-;12639:158;12608:189::o;2840:148::-;2753:6;;-1:-1:-1;;;;;2753:6:0;452:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;2947:1:::1;2931:6:::0;;2910:40:::1;::::0;-1:-1:-1;;;;;2931:6:0;;::::1;::::0;2910:40:::1;::::0;2947:1;;2910:40:::1;2978:1;2961:19:::0;;-1:-1:-1;;;;;;2961:19:0::1;::::0;;2840:148::o;10762:162::-;2753:6;;-1:-1:-1;;;;;2753:6:0;452:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;4647:15:::1;4586:1;4647:2;:15;:::i;:::-;4629:33;::::0;:15:::1;:33;:::i;:::-;10816:12;:22:::0;4647:15:::1;4586:1;4647:2;:15;:::i;:::-;4629:33;::::0;:15:::1;:33;:::i;:::-;10849:14;:24:::0;10889:27:::1;4647:15;4586:1;4647:2;:15;:::i;:::-;4629:33;::::0;:15:::1;:33;:::i;:::-;10889:27;::::0;1361:25:1;;;1349:2;1334:18;10889:27:0::1;;;;;;;10762:162::o:0;11032:487::-;2753:6;;-1:-1:-1;;;;;2753:6:0;452:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;11105:1:::1;11088:14;:18:::0;;;11117:15:::1;:19:::0;11154:13:::1;::::0;11185:15:::1;::::0;11147:71:::1;::::0;-1:-1:-1;;;11147:71:0;;-1:-1:-1;;;;;11185:15:0;;::::1;11147:71;::::0;::::1;5302:51:1::0;-1:-1:-1;;5369:18:1;;;5362:34;11154:13:0;::::1;::::0;11147:29:::1;::::0;5275:18:1;;11147:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11229:15:0::1;::::0;-1:-1:-1;;;;;11229:15:0::1;:31;11269:21;11315:4;11352:3;4647:15;4586:1;4647:2;:15;:::i;:::-;4629:33;::::0;:15:::1;:33;:::i;:::-;11336:12;::::0;11346:2:::1;11336:12;:::i;:::-;11335:20;;;;:::i;:::-;11370:1;11386::::0;11402:7:::1;2664::::0;2691:6;-1:-1:-1;;;;;2691:6:0;;2626:79;11402:7:::1;11229:221;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11229:221:0;;;-1:-1:-1;;;;;6270:15:1;;;11229:221:0::1;::::0;::::1;6252:34:1::0;6302:18;;;6295:34;;;;6345:18;;;6338:34;;;;6388:18;;;6381:34;6452:15;;;6431:19;;;6424:44;11424:15:0::1;6484:19:1::0;;;6477:35;6186:19;;11229:221:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11478:2:0::1;11461:14;:19:::0;-1:-1:-1;11509:2:0::1;11491:15;:20:::0;11032:487::o;12332:268::-;12432:10;;-1:-1:-1;;;;;12432:10:0;452;-1:-1:-1;;;;;12416:26:0;;12408:35;;;;;;12472:41;;-1:-1:-1;;;12472:41:0;;12507:4;12472:41;;;2445:51:1;12454:15:0;;12472:63;;12531:3;;12472:54;;12518:7;;-1:-1:-1;;;;;12472:26:0;;;;;2418:18:1;;12472:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54::i;:::-;:58;;:63::i;:::-;12572:10;;;12546:46;;-1:-1:-1;;;12546:46:0;;-1:-1:-1;;;;;12572:10:0;;;12546:46;;;5302:51:1;;;;5369:18;;;5362:34;;;12454:81:0;;-1:-1:-1;12546:25:0;;;;;;5275:18:1;;12546:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12397:203;12332:268;;:::o;6616:167::-;6694:4;6711:42;452:10;6735:9;6746:6;6711:9;:42::i;11527:213::-;2753:6;;-1:-1:-1;;;;;2753:6:0;452:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;11589:11:::1;::::0;-1:-1:-1;;;11589:11:0;::::1;;;11588:12;11580:48;;;::::0;-1:-1:-1;;;11580:48:0;;7512:2:1;11580:48:0::1;::::0;::::1;7494:21:1::0;7551:2;7531:18;;;7524:30;7590:25;7570:18;;;7563:53;7633:18;;11580:48:0::1;7310:347:1::0;11580:48:0::1;11639:11;:18:::0;;-1:-1:-1;;;;11668:18:0;-1:-1:-1;;;11668:18:0;;;11697:12:::1;:35:::0;;-1:-1:-1;;11697:35:0::1;11719:12;11697:35;;;::::0;;11527:213::o;11748:201::-;2753:6;;-1:-1:-1;;;;;2753:6:0;452:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;11833:12:::1;;11822:7;:23;;:51;;;;;11860:13;;11849:7;:24;;11822:51;11814:60;;;::::0;::::1;;11885:12;:22:::0;;;11918:13:::1;:23:::0;11748:201::o;7482:335::-;-1:-1:-1;;;;;7575:19:0;;7567:68;;;;-1:-1:-1;;;7567:68:0;;7864:2:1;7567:68:0;;;7846:21:1;7903:2;7883:18;;;7876:30;7942:34;7922:18;;;7915:62;-1:-1:-1;;;7993:18:1;;;7986:34;8037:19;;7567:68:0;7662:400:1;7567:68:0;-1:-1:-1;;;;;7654:21:0;;7646:68;;;;-1:-1:-1;;;7646:68:0;;8269:2:1;7646:68:0;;;8251:21:1;8308:2;8288:18;;;8281:30;8347:34;8327:18;;;8320:62;-1:-1:-1;;;8398:18:1;;;8391:32;8440:19;;7646:68:0;8067:398:1;7646:68:0;-1:-1:-1;;;;;7725:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7777:32;;1361:25:1;;;7777:32:0;;1334:18:1;7777:32:0;;;;;;;7482:335;;;:::o;7825:2323::-;-1:-1:-1;;;;;7913:18:0;;7905:68;;;;-1:-1:-1;;;7905:68:0;;8672:2:1;7905:68:0;;;8654:21:1;8711:2;8691:18;;;8684:30;8750:34;8730:18;;;8723:62;-1:-1:-1;;;8801:18:1;;;8794:35;8846:19;;7905:68:0;8470:401:1;7905:68:0;-1:-1:-1;;;;;7992:16:0;;7984:64;;;;-1:-1:-1;;;7984:64:0;;9078:2:1;7984:64:0;;;9060:21:1;9117:2;9097:18;;;9090:30;9156:34;9136:18;;;9129:62;-1:-1:-1;;;9207:18:1;;;9200:33;9250:19;;7984:64:0;8876:399:1;7984:64:0;8076:1;8067:6;:10;8059:64;;;;-1:-1:-1;;;8059:64:0;;9482:2:1;8059:64:0;;;9464:21:1;9521:2;9501:18;;;9494:30;9560:34;9540:18;;;9533:62;-1:-1:-1;;;9611:18:1;;;9604:39;9660:19;;8059:64:0;9280:405:1;8059:64:0;8134:17;2691:6;;-1:-1:-1;;;;;8170:15:0;;;2691:6;;8170:15;;;;:32;;-1:-1:-1;2664:7:0;2691:6;-1:-1:-1;;;;;8189:13:0;;;2691:6;;8189:13;;8170:32;8166:1611;;;8231:82;8309:3;8231:73;8255:15;;8243:9;;:27;8242:61;;8289:14;;8242:61;;;8274:12;;8242:61;8231:6;;:10;:73::i;:82::-;8342:13;;8219:94;;-1:-1:-1;;;;;;8334:21:0;;;8342:13;;8334:21;:55;;;;-1:-1:-1;8373:15:0;;-1:-1:-1;;;;;8359:30:0;;;8373:15;;8359:30;;8334:55;:82;;;;-1:-1:-1;;;;;;8394:22:0;;;;;;:18;:22;;;;;;;;8393:23;8334:82;8330:373;;;8445:11;;-1:-1:-1;;;8445:11:0;;;;8437:43;;;;-1:-1:-1;;;8437:43:0;;9892:2:1;8437:43:0;;;9874:21:1;9931:2;9911:18;;;9904:30;-1:-1:-1;;;9950:18:1;;;9943:49;10009:18;;8437:43:0;9690:343:1;8437:43:0;8517:12;;8507:6;:22;;8499:60;;;;-1:-1:-1;;;8499:60:0;;10240:2:1;8499:60:0;;;10222:21:1;10279:2;10259:18;;;10252:30;10318:27;10298:18;;;10291:55;10363:18;;8499:60:0;10038:349:1;8499:60:0;8612:14;;8602:6;8586:13;8596:2;-1:-1:-1;;;;;6582:18:0;6555:7;6582:18;;;:9;:18;;;;;;;6489:119;8586:13;:22;;;;:::i;:::-;:40;;8578:79;;;;-1:-1:-1;;;8578:79:0;;10724:2:1;8578:79:0;;;10706:21:1;10763:2;10743:18;;;10736:30;10802:28;10782:18;;;10775:56;10848:18;;8578:79:0;10522:350:1;8578:79:0;8676:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8330:373;8729:13;;-1:-1:-1;;;;;8723:19:0;;;8729:13;;8723:19;:44;;;;-1:-1:-1;;;;;;8746:21:0;;8762:4;8746:21;;8723:44;8719:182;;;8800:85;8881:3;8800:76;8824:16;;8812:9;;:28;8811:64;;8860:15;;8811:64;;;8844:13;;8800:6;;:10;:76::i;:85::-;8788:97;;8719:182;8966:4;8917:28;6582:18;;;:9;:18;;;;;;9010:6;;-1:-1:-1;;;9010:6:0;;;;9009:7;:47;;;;-1:-1:-1;9043:13:0;;-1:-1:-1;;;;;9037:19:0;;;9043:13;;9037:19;9009:47;:79;;;;-1:-1:-1;9077:11:0;;-1:-1:-1;;;9077:11:0;;;;9009:79;:140;;;;;9132:17;;9109:20;:40;9009:140;:191;;;;;9182:18;;9170:9;;:30;9009:191;8987:779;;;9254:13;;9239:12;:28;9235:90;;;9304:1;9292:9;:13;9235:90;9363:1;9351:9;;:13;9343:49;;;;-1:-1:-1;;;9343:49:0;;11219:2:1;9343:49:0;;;11201:21:1;11258:2;11238:18;;;11231:30;11297:25;11277:18;;;11270:53;11340:18;;9343:49:0;11017:347:1;9343:49:0;9411:69;9428:51;9432:6;9440:38;9444:20;9466:11;;9440:3;:38::i;:::-;9428:3;:51::i;:::-;9411:16;:69::i;:::-;9528:21;9572:22;;9568:106;;9619:35;9632:21;9619:12;:35::i;:::-;9692:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9738:12:0;9722:13;:28;-1:-1:-1;8987:779:0;8204:1573;8166:1611;9793:13;;9789:172;;9868:4;9850:24;;;;:9;:24;;;;;;:39;;9879:9;9850:28;:39::i;:::-;9841:4;9823:24;;;;:9;:24;;;;;;;:66;;;;9909:40;;-1:-1:-1;;;;;9909:40:0;;;;;;;9939:9;1361:25:1;;1349:2;1334:18;;1215:177;9909:40:0;;;;;;;;9789:172;-1:-1:-1;;;;;9989:15:0;;;;;;:9;:15;;;;;;:27;;10009:6;9989:19;:27::i;:::-;-1:-1:-1;;;;;9971:15:0;;;;;;:9;:15;;;;;:45;10043:40;10061:21;:6;10072:9;10061:10;:21::i;:::-;-1:-1:-1;;;;;10043:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10027:13:0;;;;;;;:9;:13;;;;;:56;;;;10099:41;;;10118:21;:6;10129:9;10118:10;:21::i;:::-;10099:41;;1361:25:1;;;1349:2;1334:18;10099:41:0;;;;;;;7894:2254;7825:2323;;;:::o;1521:190::-;1607:7;1643:12;1635:6;;;;1627:29;;;;-1:-1:-1;;;1627:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1667:9:0;1679:5;1683:1;1679;:5;:::i;:::-;1667:17;1521:190;-1:-1:-1;;;;;1521:190:0:o;10271:483::-;5251:6;:13;;-1:-1:-1;;;;5251:13:0;-1:-1:-1;;;5251:13:0;;;10373:16:::1;::::0;;10387:1:::1;10373:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10373:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10373:16:0::1;10349:40;;10418:4;10400;10405:1;10400:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10400:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10444:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10444:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10400:7;;10444:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10434:4;10439:1;10434:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10434:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10509:15:::1;::::0;10477:62:::1;::::0;10494:4:::1;::::0;10509:15:::1;10527:11:::0;10477:8:::1;:62::i;:::-;10550:15;::::0;:196:::1;::::0;-1:-1:-1;;;10550:196:0;;-1:-1:-1;;;;;10550:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10631:11;;10550:15:::1;::::0;10673:4;;10700::::1;::::0;10720:15:::1;::::0;10550:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5287:6:0;:14;;-1:-1:-1;;;;5287:14:0;;;-1:-1:-1;;;;10271:483:0:o;10932:92::-;10989:10;;:27;;-1:-1:-1;;;;;10989:10:0;;;;:27;;;;;11009:6;;10989:10;:27;:10;:27;11009:6;10989:10;:27;;;;;;;;;;;;;;;;;;;1719:246;1777:7;1801:1;1806;1801:6;1797:47;;-1:-1:-1;1831:1:0;1824:8;;1797:47;1854:9;1866:5;1870:1;1866;:5;:::i;:::-;1854:17;-1:-1:-1;1899:1:0;1890:5;1894:1;1854:17;1890:5;:::i;:::-;:10;1882:56;;;;-1:-1:-1;;;1882:56:0;;13209:2:1;1882:56:0;;;13191:21:1;13248:2;13228:18;;;13221:30;13287:34;13267:18;;;13260:62;-1:-1:-1;;;13338:18:1;;;13331:31;13379:19;;1882:56:0;13007:397:1;1882:56:0;1956:1;1719:246;-1:-1:-1;;;1719:246:0:o;1973:132::-;2031:7;2058:39;2062:1;2065;2058:39;;;;;;;;;;;;;;;;;:3;:39::i;10156:107::-;10213:7;10245:1;10241;:5;10240:15;;10254:1;10240:15;;;-1:-1:-1;10250:1:0;10156:107;-1:-1:-1;10156:107:0:o;1190:179::-;1248:7;;1280:5;1284:1;1280;:5;:::i;:::-;1268:17;;1309:1;1304;:6;;1296:46;;;;-1:-1:-1;;;1296:46:0;;13611:2:1;1296:46:0;;;13593:21:1;13650:2;13630:18;;;13623:30;13689:29;13669:18;;;13662:57;13736:18;;1296:46:0;13409:351:1;1377:136:0;1435:7;1462:43;1466:1;1469;1462:43;;;;;;;;;;;;;;;;;:3;:43::i;2113:189::-;2199:7;2234:12;2227:5;2219:28;;;;-1:-1:-1;;;2219:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2258:9:0;2270:5;2274:1;2270;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;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:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:416;3306:1;3343:5;3306:1;3357:270;3378:7;3368:8;3365:21;3357:270;;;3437:4;3433:1;3429:6;3425:17;3419:4;3416:27;3413:53;;;3446:18;;:::i;:::-;3496:7;3486:8;3482:22;3479:55;;;3516:16;;;;3479:55;3595:22;;;;3555:15;;;;3357:270;;;3361:3;3217:416;;;;;:::o;3638:806::-;3687:5;3717:8;3707:80;;-1:-1:-1;3758:1:1;3772:5;;3707:80;3806:4;3796:76;;-1:-1:-1;3843:1:1;3857:5;;3796:76;3888:4;3906:1;3901:59;;;;3974:1;3969:130;;;;3881:218;;3901:59;3931:1;3922:10;;3945:5;;;3969:130;4006:3;3996:8;3993:17;3990:43;;;4013:18;;:::i;:::-;-1:-1:-1;;4069:1:1;4055:16;;4084:5;;3881:218;;4183:2;4173:8;4170:16;4164:3;4158:4;4155:13;4151:36;4145:2;4135:8;4132:16;4127:2;4121:4;4118:12;4114:35;4111:77;4108:159;;;-1:-1:-1;4220:19:1;;;4252:5;;4108:159;4299:34;4324:8;4318:4;4299:34;:::i;:::-;4369:6;4365:1;4361:6;4357:19;4348:7;4345:32;4342:58;;;4380:18;;:::i;:::-;4418:20;;3638:806;-1:-1:-1;;;3638:806:1:o;4449:140::-;4507:5;4536:47;4577:4;4567:8;4563:19;4557:4;4536:47;:::i;4594:168::-;4667:9;;;4698;;4715:15;;;4709:22;;4695:37;4685:71;;4736:18;;:::i;4767:356::-;4969:2;4951:21;;;4988:18;;;4981:30;5047:34;5042:2;5027:18;;5020:62;5114:2;5099:18;;4767:356::o;5407:277::-;5474:6;5527:2;5515:9;5506:7;5502:23;5498:32;5495:52;;;5543:1;5540;5533:12;5495:52;5575:9;5569:16;5628:5;5621:13;5614:21;5607:5;5604:32;5594:60;;5650:1;5647;5640:12;5689:217;5729:1;5755;5745:132;;5799:10;5794:3;5790:20;5787:1;5780:31;5834:4;5831:1;5824:15;5862:4;5859:1;5852:15;5745:132;-1:-1:-1;5891:9:1;;5689:217::o;6523:306::-;6611:6;6619;6627;6680:2;6668:9;6659:7;6655:23;6651:32;6648:52;;;6696:1;6693;6686:12;6648:52;6725:9;6719:16;6709:26;;6775:2;6764:9;6760:18;6754:25;6744:35;;6819:2;6808:9;6804:18;6798:25;6788:35;;6523:306;;;;;:::o;6834:184::-;6904:6;6957:2;6945:9;6936:7;6932:23;6928:32;6925:52;;;6973:1;6970;6963:12;6925:52;-1:-1:-1;6996:16:1;;6834:184;-1:-1:-1;6834:184:1:o;10392:125::-;10457:9;;;10478:10;;;10475:36;;;10491:18;;:::i;10877:135::-;10916:3;10937:17;;;10934:43;;10957:18;;:::i;:::-;-1:-1:-1;11004:1:1;10993:13;;10877:135::o;11369:128::-;11436:9;;;11457:11;;;11454:37;;;11471:18;;:::i;11634:127::-;11695:10;11690:3;11686:20;11683:1;11676:31;11726:4;11723:1;11716:15;11750:4;11747:1;11740:15;11766:251;11836:6;11889:2;11877:9;11868:7;11864:23;11860:32;11857:52;;;11905:1;11902;11895:12;11857:52;11937:9;11931:16;11956:31;11981:5;11956:31;:::i;12022:980::-;12284:4;12332:3;12321:9;12317:19;12363:6;12352:9;12345:25;12389:2;12427:6;12422:2;12411:9;12407:18;12400:34;12470:3;12465:2;12454:9;12450:18;12443:31;12494:6;12529;12523:13;12560:6;12552;12545:22;12598:3;12587:9;12583:19;12576:26;;12637:2;12629:6;12625:15;12611:29;;12658:1;12668:195;12682:6;12679:1;12676:13;12668:195;;;12747:13;;-1:-1:-1;;;;;12743:39:1;12731:52;;12838:15;;;;12803:12;;;;12779:1;12697:9;12668:195;;;-1:-1:-1;;;;;;;12919:32:1;;;;12914:2;12899:18;;12892:60;-1:-1:-1;;;12983:3:1;12968:19;12961:35;12880:3;12022:980;-1:-1:-1;;;12022:980:1:o

Swarm Source

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