ETH Price: $2,444.49 (+1.75%)

Token

DONT APE PROTOCOL (DAP)
 

Overview

Max Total Supply

100,000,000 DAP

Holders

93

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.498106939 DAP

Value
$0.00
0xedba55db196b8517ac4e66073bc6e0606638f9d7
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:
DAP

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-20
*/

/**
DONT APE PROTOCOL (DAP)

PUBLIC PORTAL: https://t.me/DontApeProtocol
TWITTER: https://twitter.com/DontApeProtocol
WEBSITE:https://dontapeprotocol.site/
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
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;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract DAP is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "DONT APE PROTOCOL";
    string constant _symbol = "DAP";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = _totalSupply*2/100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 marketingFee = 15;
    uint256 sellMarketingFee = 80;

    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x370F26F896bC5adfC6a28E15c1Cee531a1Be2422;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    bool public swapbyLimit = false;
    uint256 public swapThreshold = _totalSupply / 1000 * 2; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }

        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived =  amount;
        if(shouldTakeFee(sender)){
            if(sender == pair){
                amountReceived = takeFee(sender, amount,false);
            }else{
                amountReceived = takeFee(sender, amount,true);
            } 
        }


        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) {
        uint feeAmount = isSell ? amount.mul(sellMarketingFee).div(feeDenominator) : amount.mul(marketingFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 amountToSwap = _balances[address(this)];
        if (swapbyLimit == true){
                amountToSwap = swapThreshold;
        }
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        if (address(this).balance > 60000000000000000){
            payable(marketingFeeReceiver).transfer(address(this).balance);
        }
      
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function manualSend() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 100;
        require (_maxWalletAmount >= _totalSupply/100);
    }

    function swapStatus (bool swapstatus, bool swaplimit) external onlyOwner {
        swapEnabled = swapstatus;
        swapbyLimit = swaplimit;
    }

    function setFees(uint256 _MarketingFee, uint256 _sellMarketingFee) external onlyOwner {
         marketingFee = _MarketingFee;
         sellMarketingFee = _sellMarketingFee;
         require(marketingFee <= 15 && sellMarketingFee <= 40);
    }

    function setThreshold(uint256 _treshold) external onlyOwner {
         swapThreshold = _treshold;
    }

    function setFeeReceivers(address _marketingFeeReceiver) external onlyOwner {
        marketingFeeReceiver = _marketingFeeReceiver;
    }
    
}

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":"address","name":"owner","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_MarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_treshold","type":"uint256"}],"name":"setThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"swapstatus","type":"bool"},{"internalType":"bool","name":"swaplimit","type":"bool"}],"name":"swapStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapbyLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a62000462565b62000058906305f5e1006200047a565b600355606460035460026200006e91906200047a565b6200007a919062000494565b600455600f6009556050600a556064600b55600c80546001600160a01b03191673370f26f896bc5adfc6a28e15c1cee531a1be2422179055600e805461ffff60a01b1916600160a01b179055600354620000d8906103e89062000494565b620000e59060026200047a565b600f55348015620000f557600080fd5b5060008054336001600160a01b031991821617909155600154600d80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001889190620004b7565b6001600160a01b031663c9c65396600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002109190620004b7565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200025d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002839190620004b7565b600e80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600d5485168452825280832060001990558254841680845260078352818420805460ff19908116600190811790925560088552838620805482168317905560025490961685528285208054909616179094556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004e2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003a45781600019048211156200038857620003886200034d565b808516156200039657918102915b93841c939080029062000368565b509250929050565b600082620003bd575060016200045c565b81620003cc575060006200045c565b8160018114620003e55760028114620003f05762000410565b60019150506200045c565b60ff8411156200040457620004046200034d565b50506001821b6200045c565b5060208310610133831016604e8410600b841016171562000435575081810a6200045c565b62000441838362000363565b80600019048211156200045857620004586200034d565b0290505b92915050565b60006200047360ff841683620003ac565b9392505050565b80820281158282048414176200045c576200045c6200034d565b600082620004b257634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004ca57600080fd5b81516001600160a01b03811681146200047357600080fd5b6113e780620004f26000396000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063b4198a471161008a578063e96fada211610064578063e96fada2146104d6578063f1d5f517146104f6578063f429389014610516578063f887ea401461052b57600080fd5b8063b4198a4714610450578063dd62ed3e14610470578063e01bb688146104b657600080fd5b8063715018a61461037d578063893d20e81461039257806395d89b41146103c4578063960bfe04146103f0578063a8aa1b3114610410578063a9059cbb1461043057600080fd5b80632f54bf6e1161013e578063571ac8b011610118578063571ac8b0146102f05780636c0a24eb146103105780636ddd17131461032657806370a082311461034757600080fd5b80632f54bf6e14610284578063313ce567146102b3578063349e6127146102cf57600080fd5b80630445b6671461019157806306fdde03146101ba578063095ea7b3146101fd5780630b78f9c01461022d57806318160ddd1461024f57806323b872dd1461026457600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a7600f5481565b6040519081526020015b60405180910390f35b3480156101c657600080fd5b506040805180820190915260118152701113d3950810541148141493d513d0d3d3607a1b60208201525b6040516101b191906110cf565b34801561020957600080fd5b5061021d610218366004611132565b61054b565b60405190151581526020016101b1565b34801561023957600080fd5b5061024d61024836600461115e565b6105b8565b005b34801561025b57600080fd5b506003546101a7565b34801561027057600080fd5b5061021d61027f366004611180565b610616565b34801561029057600080fd5b5061021d61029f3660046111c1565b6000546001600160a01b0391821691161490565b3480156102bf57600080fd5b50604051600981526020016101b1565b3480156102db57600080fd5b50600e5461021d90600160a81b900460ff1681565b3480156102fc57600080fd5b5061021d61030b3660046111c1565b6106d8565b34801561031c57600080fd5b506101a760045481565b34801561033257600080fd5b50600e5461021d90600160a01b900460ff1681565b34801561035357600080fd5b506101a76103623660046111c1565b6001600160a01b031660009081526005602052604090205490565b34801561038957600080fd5b5061024d6106e6565b34801561039e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101b1565b3480156103d057600080fd5b5060408051808201909152600381526204441560ec1b60208201526101f0565b3480156103fc57600080fd5b5061024d61040b3660046111de565b610755565b34801561041c57600080fd5b50600e546103ac906001600160a01b031681565b34801561043c57600080fd5b5061021d61044b366004611132565b610784565b34801561045c57600080fd5b5061024d61046b36600461120c565b610791565b34801561047c57600080fd5b506101a761048b36600461123f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104c257600080fd5b5061024d6104d13660046111c1565b6107ef565b3480156104e257600080fd5b50600c546103ac906001600160a01b031681565b34801561050257600080fd5b5061024d6105113660046111de565b61083b565b34801561052257600080fd5b5061024d6108a2565b34801561053757600080fd5b50600d546103ac906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105a69086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611278565b60405180910390fd5b6009829055600a819055600f821180159061060957506028600a5411155b61061257600080fd5b5050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146106c3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461069e9184906108db565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6106ce848484610915565b90505b9392505050565b60006105b28260001961054b565b6000546001600160a01b031633146107105760405162461bcd60e51b81526004016105e290611278565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b0316331461077f5760405162461bcd60e51b81526004016105e290611278565b600f55565b60006106d1338484610915565b6000546001600160a01b031633146107bb5760405162461bcd60e51b81526004016105e290611278565b600e805461ffff60a01b1916600160a01b9315159390930260ff60a81b191692909217600160a81b91151591909102179055565b6000546001600160a01b031633146108195760405162461bcd60e51b81526004016105e290611278565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108655760405162461bcd60e51b81526004016105e290611278565b60648160035461087591906112ae565b61087f91906112c5565b600455600354610891906064906112c5565b600454101561089f57600080fd5b50565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561089f573d6000803e3d6000fd5b600081848411156108ff5760405162461bcd60e51b81526004016105e291906110cf565b50600061090c84866112e7565b95945050505050565b60105460009060ff16156109355761092e848484610b63565b90506106d1565b600e546001600160a01b0384811691161480159061096157506002546001600160a01b03848116911614155b15610a0c576001600160a01b03831660009081526008602052604090205460ff16806109b257506004546001600160a01b0384166000908152600560205260409020546109af9084906112fa565b11155b610a0c5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105e2565b610a14610c49565b15610a2157610a21610ca1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260059091529190912054610a739184906108db565b6001600160a01b038516600090815260056020908152604080832093909355600790522054829060ff16610ad957600e546001600160a01b0390811690861603610aca57610ac385846000610e73565b9050610ad9565b610ad685846001610e73565b90505b6001600160a01b038416600090815260056020526040902054610afc9082610f3c565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b509085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610bb49184906108db565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610be39083610f3c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c379086815260200190565b60405180910390a35060019392505050565b600e546000906001600160a01b03163314801590610c6a575060105460ff16155b8015610c7f5750600e54600160a01b900460ff165b8015610c9c5750600f543060009081526005602052604090205410155b905090565b6010805460ff1916600190811790915530600090815260056020526040902054600e549091600160a81b90910460ff1615159003610cde5750600f545b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610d1357610d1361130d565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d909190611323565b81600181518110610da357610da361130d565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac94790610de9908590600090869030904290600401611340565b600060405180830381600087803b158015610e0357600080fd5b505af1158015610e17573d6000803e3d6000fd5b5050505066d529ae9e860000471115610e6557600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e63573d6000803e3d6000fd5b505b50506010805460ff19169055565b60008082610ea157610e9c600b54610e9660095487610f9b90919063ffffffff16565b9061101d565b610ebc565b610ebc600b54610e96600a5487610f9b90919063ffffffff16565b30600090815260056020526040902054909150610ed99082610f3c565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f2a9085815260200190565b60405180910390a361090c848261105f565b600080610f4983856112fa565b9050838110156106d15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e2565b600082600003610fad575060006105b2565b6000610fb983856112ae565b905082610fc685836112c5565b146106d15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e2565b60006106d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110a1565b60006106d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108db565b600081836110c25760405162461bcd60e51b81526004016105e291906110cf565b50600061090c84866112c5565b600060208083528351808285015260005b818110156110fc578581018301518582016040015282016110e0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461089f57600080fd5b6000806040838503121561114557600080fd5b82356111508161111d565b946020939093013593505050565b6000806040838503121561117157600080fd5b50508035926020909101359150565b60008060006060848603121561119557600080fd5b83356111a08161111d565b925060208401356111b08161111d565b929592945050506040919091013590565b6000602082840312156111d357600080fd5b81356106d18161111d565b6000602082840312156111f057600080fd5b5035919050565b8035801515811461120757600080fd5b919050565b6000806040838503121561121f57600080fd5b611228836111f7565b9150611236602084016111f7565b90509250929050565b6000806040838503121561125257600080fd5b823561125d8161111d565b9150602083013561126d8161111d565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105b2576105b2611298565b6000826112e257634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105b2576105b2611298565b808201808211156105b2576105b2611298565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561133557600080fd5b81516106d18161111d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113905784516001600160a01b03168352938301939183019160010161136b565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205530d12acbae2d5b1e5de6dab44e45823d5283bddda9bd07839045450bd4695a64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063b4198a471161008a578063e96fada211610064578063e96fada2146104d6578063f1d5f517146104f6578063f429389014610516578063f887ea401461052b57600080fd5b8063b4198a4714610450578063dd62ed3e14610470578063e01bb688146104b657600080fd5b8063715018a61461037d578063893d20e81461039257806395d89b41146103c4578063960bfe04146103f0578063a8aa1b3114610410578063a9059cbb1461043057600080fd5b80632f54bf6e1161013e578063571ac8b011610118578063571ac8b0146102f05780636c0a24eb146103105780636ddd17131461032657806370a082311461034757600080fd5b80632f54bf6e14610284578063313ce567146102b3578063349e6127146102cf57600080fd5b80630445b6671461019157806306fdde03146101ba578063095ea7b3146101fd5780630b78f9c01461022d57806318160ddd1461024f57806323b872dd1461026457600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a7600f5481565b6040519081526020015b60405180910390f35b3480156101c657600080fd5b506040805180820190915260118152701113d3950810541148141493d513d0d3d3607a1b60208201525b6040516101b191906110cf565b34801561020957600080fd5b5061021d610218366004611132565b61054b565b60405190151581526020016101b1565b34801561023957600080fd5b5061024d61024836600461115e565b6105b8565b005b34801561025b57600080fd5b506003546101a7565b34801561027057600080fd5b5061021d61027f366004611180565b610616565b34801561029057600080fd5b5061021d61029f3660046111c1565b6000546001600160a01b0391821691161490565b3480156102bf57600080fd5b50604051600981526020016101b1565b3480156102db57600080fd5b50600e5461021d90600160a81b900460ff1681565b3480156102fc57600080fd5b5061021d61030b3660046111c1565b6106d8565b34801561031c57600080fd5b506101a760045481565b34801561033257600080fd5b50600e5461021d90600160a01b900460ff1681565b34801561035357600080fd5b506101a76103623660046111c1565b6001600160a01b031660009081526005602052604090205490565b34801561038957600080fd5b5061024d6106e6565b34801561039e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101b1565b3480156103d057600080fd5b5060408051808201909152600381526204441560ec1b60208201526101f0565b3480156103fc57600080fd5b5061024d61040b3660046111de565b610755565b34801561041c57600080fd5b50600e546103ac906001600160a01b031681565b34801561043c57600080fd5b5061021d61044b366004611132565b610784565b34801561045c57600080fd5b5061024d61046b36600461120c565b610791565b34801561047c57600080fd5b506101a761048b36600461123f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104c257600080fd5b5061024d6104d13660046111c1565b6107ef565b3480156104e257600080fd5b50600c546103ac906001600160a01b031681565b34801561050257600080fd5b5061024d6105113660046111de565b61083b565b34801561052257600080fd5b5061024d6108a2565b34801561053757600080fd5b50600d546103ac906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105a69086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611278565b60405180910390fd5b6009829055600a819055600f821180159061060957506028600a5411155b61061257600080fd5b5050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146106c3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461069e9184906108db565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6106ce848484610915565b90505b9392505050565b60006105b28260001961054b565b6000546001600160a01b031633146107105760405162461bcd60e51b81526004016105e290611278565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b0316331461077f5760405162461bcd60e51b81526004016105e290611278565b600f55565b60006106d1338484610915565b6000546001600160a01b031633146107bb5760405162461bcd60e51b81526004016105e290611278565b600e805461ffff60a01b1916600160a01b9315159390930260ff60a81b191692909217600160a81b91151591909102179055565b6000546001600160a01b031633146108195760405162461bcd60e51b81526004016105e290611278565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108655760405162461bcd60e51b81526004016105e290611278565b60648160035461087591906112ae565b61087f91906112c5565b600455600354610891906064906112c5565b600454101561089f57600080fd5b50565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561089f573d6000803e3d6000fd5b600081848411156108ff5760405162461bcd60e51b81526004016105e291906110cf565b50600061090c84866112e7565b95945050505050565b60105460009060ff16156109355761092e848484610b63565b90506106d1565b600e546001600160a01b0384811691161480159061096157506002546001600160a01b03848116911614155b15610a0c576001600160a01b03831660009081526008602052604090205460ff16806109b257506004546001600160a01b0384166000908152600560205260409020546109af9084906112fa565b11155b610a0c5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105e2565b610a14610c49565b15610a2157610a21610ca1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260059091529190912054610a739184906108db565b6001600160a01b038516600090815260056020908152604080832093909355600790522054829060ff16610ad957600e546001600160a01b0390811690861603610aca57610ac385846000610e73565b9050610ad9565b610ad685846001610e73565b90505b6001600160a01b038416600090815260056020526040902054610afc9082610f3c565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b509085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610bb49184906108db565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610be39083610f3c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c379086815260200190565b60405180910390a35060019392505050565b600e546000906001600160a01b03163314801590610c6a575060105460ff16155b8015610c7f5750600e54600160a01b900460ff165b8015610c9c5750600f543060009081526005602052604090205410155b905090565b6010805460ff1916600190811790915530600090815260056020526040902054600e549091600160a81b90910460ff1615159003610cde5750600f545b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610d1357610d1361130d565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d909190611323565b81600181518110610da357610da361130d565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac94790610de9908590600090869030904290600401611340565b600060405180830381600087803b158015610e0357600080fd5b505af1158015610e17573d6000803e3d6000fd5b5050505066d529ae9e860000471115610e6557600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610e63573d6000803e3d6000fd5b505b50506010805460ff19169055565b60008082610ea157610e9c600b54610e9660095487610f9b90919063ffffffff16565b9061101d565b610ebc565b610ebc600b54610e96600a5487610f9b90919063ffffffff16565b30600090815260056020526040902054909150610ed99082610f3c565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f2a9085815260200190565b60405180910390a361090c848261105f565b600080610f4983856112fa565b9050838110156106d15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e2565b600082600003610fad575060006105b2565b6000610fb983856112ae565b905082610fc685836112c5565b146106d15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e2565b60006106d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110a1565b60006106d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108db565b600081836110c25760405162461bcd60e51b81526004016105e291906110cf565b50600061090c84866112c5565b600060208083528351808285015260005b818110156110fc578581018301518582016040015282016110e0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461089f57600080fd5b6000806040838503121561114557600080fd5b82356111508161111d565b946020939093013593505050565b6000806040838503121561117157600080fd5b50508035926020909101359150565b60008060006060848603121561119557600080fd5b83356111a08161111d565b925060208401356111b08161111d565b929592945050506040919091013590565b6000602082840312156111d357600080fd5b81356106d18161111d565b6000602082840312156111f057600080fd5b5035919050565b8035801515811461120757600080fd5b919050565b6000806040838503121561121f57600080fd5b611228836111f7565b9150611236602084016111f7565b90509250929050565b6000806040838503121561125257600080fd5b823561125d8161111d565b9150602083013561126d8161111d565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105b2576105b2611298565b6000826112e257634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105b2576105b2611298565b808201808211156105b2576105b2611298565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561133557600080fd5b81516106d18161111d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113905784516001600160a01b03168352938301939183019160010161136b565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205530d12acbae2d5b1e5de6dab44e45823d5283bddda9bd07839045450bd4695a64736f6c63430008120033

Deployed Bytecode Sourcemap

4249:7405:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5244:54:0;;;;;;;;6209:80;;;;;;;;;;-1:-1:-1;6281:5:0;;;;;;;;;;;;-1:-1:-1;;;6281:5:0;;;;6209:80;;;;;;;:::i;6631:216::-;;;;;;;;;;-1:-1:-1;6631:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6631:216:0;1205:187:1;11139:247:0;;;;;;;;;;-1:-1:-1;11139:247:0;;;;;:::i;:::-;;:::i;:::-;;5939:88;;;;;;;;;;-1:-1:-1;6012:12:0;;5939:88;;7149:370;;;;;;;;;;-1:-1:-1;7149:370:0;;;;;:::i;:::-;;:::i;2487:103::-;;;;;;;;;;-1:-1:-1;2487:103:0;;;;;:::i;:::-;2542:4;2577:5;-1:-1:-1;;;;;2566:16:0;;;2577:5;;2566:16;;2487:103;6033:80;;;;;;;;;;-1:-1:-1;6033:80:0;;4573:1;2505:36:1;;2493:2;2478:18;6033:80:0;2363:184:1;5206:31:0;;;;;;;;;;-1:-1:-1;5206:31:0;;;;-1:-1:-1;;;5206:31:0;;;;;;6855:122;;;;;;;;;;-1:-1:-1;6855:122:0;;;;;:::i;:::-;;:::i;4644:52::-;;;;;;;;;;;;;;;;5169:30;;;;;;;;;;-1:-1:-1;5169:30:0;;;;-1:-1:-1;;;5169:30:0;;;;;;6379:105;;;;;;;;;;-1:-1:-1;6379:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6463:18:0;6445:7;6463:18;;;:9;:18;;;;;;;6379:105;2596:131;;;;;;;;;;;;;:::i;6295:78::-;;;;;;;;;;-1:-1:-1;6347:7:0;6365:5;-1:-1:-1;;;;;6365:5:0;6295:78;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;6295:78:0;2552:203:1;6119:84:0;;;;;;;;;;-1:-1:-1;6193:7:0;;;;;;;;;;;;-1:-1:-1;;;6193:7:0;;;;6119:84;;11394:105;;;;;;;;;;-1:-1:-1;11394:105:0;;;;;:::i;:::-;;:::i;5141:19::-;;;;;;;;;;-1:-1:-1;5141:19:0;;;;-1:-1:-1;;;;;5141:19:0;;;6985:156;;;;;;;;;;-1:-1:-1;6985:156:0;;;;;:::i;:::-;;:::i;10981:150::-;;;;;;;;;;-1:-1:-1;10981:150:0;;;;;:::i;:::-;;:::i;6490:133::-;;;;;;;;;;-1:-1:-1;6490:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6592:19:0;;;6574:7;6592:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6490:133;11507:138;;;;;;;;;;-1:-1:-1;11507:138:0;;;;;:::i;:::-;;:::i;5021:80::-;;;;;;;;;;-1:-1:-1;5021:80:0;;;;-1:-1:-1;;;;;5021:80:0;;;10775:198;;;;;;;;;;-1:-1:-1;10775:198:0;;;;;:::i;:::-;;:::i;10656:111::-;;;;;;;;;;;;;:::i;5110:24::-;;;;;;;;;;-1:-1:-1;5110:24:0;;;;-1:-1:-1;;;;;5110:24:0;;;6631:216;6735:10;6706:4;6723:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6723:32:0;;;;;;;;;;:41;;;6780:37;6706:4;;6723:32;;6780:37;;;;6758:6;160:25:1;;148:2;133:18;;14:177;6780:37:0;;;;;;;;-1:-1:-1;6835:4:0;6631:216;;;;;:::o;11139:247::-;2542:4;2577:5;-1:-1:-1;;;;;2577:5:0;2448:10;2566:16;2432:38;;;;-1:-1:-1;;;2432:38:0;;;;;;;:::i;:::-;;;;;;;;;11237:12:::1;:28:::0;;;11277:16:::1;:36:::0;;;11349:2:::1;11333:18:::0;::::1;::::0;::::1;::::0;:44:::1;;;11375:2;11355:16;;:22;;11333:44;11325:53;;;::::0;::::1;;11139:247:::0;;:::o;7149:370::-;-1:-1:-1;;;;;7269:19:0;;7249:4;7269:19;;;:11;:19;;;;;;;;7289:10;7269:31;;;;;;;;-1:-1:-1;;7269:52:0;7266:186;;7371:69;;;;;;;;;;;-1:-1:-1;;;7371:69:0;;;;;;;;-1:-1:-1;;;;;7371:19:0;;-1:-1:-1;7371:19:0;;;:11;:19;;;;;7391:10;7371:31;;;;;;;;;;:69;;7407:6;;7371:35;:69::i;:::-;-1:-1:-1;;;;;7337:19:0;;;;;;:11;:19;;;;;;;;7357:10;7337:31;;;;;;;:103;7266:186;7471:40;7485:6;7493:9;7504:6;7471:13;:40::i;:::-;7464:47;;7149:370;;;;;;:::o;6855:122::-;6910:4;6934:35;6942:7;-1:-1:-1;;6934:7:0;:35::i;2596:131::-;2542:4;2577:5;-1:-1:-1;;;;;2577:5:0;2448:10;2566:16;2432:38;;;;-1:-1:-1;;;2432:38:0;;;;;;;:::i;:::-;2669:1:::1;2653:18:::0;;-1:-1:-1;;;;;;2653:18:0::1;::::0;;2687:32:::1;::::0;2698:51:1;;;2687:32:0::1;::::0;2686:2:1;2671:18;2687:32:0::1;;;;;;;2596:131::o:0;11394:105::-;2542:4;2577:5;-1:-1:-1;;;;;2577:5:0;2448:10;2566:16;2432:38;;;;-1:-1:-1;;;2432:38:0;;;;;;;:::i;:::-;11466:13:::1;:25:::0;11394:105::o;6985:156::-;7065:4;7089:44;7103:10;7115:9;7126:6;7089:13;:44::i;10981:150::-;2542:4;2577:5;-1:-1:-1;;;;;2577:5:0;2448:10;2566:16;2432:38;;;;-1:-1:-1;;;2432:38:0;;;;;;;:::i;:::-;11065:11:::1;:24:::0;;-1:-1:-1;;;;11100:23:0;-1:-1:-1;;;11065:24:0;::::1;;::::0;;;::::1;-1:-1:-1::0;;;;11100:23:0;;;;;-1:-1:-1;;;11100:23:0;::::1;;::::0;;;::::1;;::::0;;10981:150::o;11507:138::-;2542:4;2577:5;-1:-1:-1;;;;;2577:5:0;2448:10;2566:16;2432:38;;;;-1:-1:-1;;;2432:38:0;;;;;;;:::i;:::-;11593:20:::1;:44:::0;;-1:-1:-1;;;;;;11593:44:0::1;-1:-1:-1::0;;;;;11593:44:0;;;::::1;::::0;;;::::1;::::0;;11507:138::o;10775:198::-;2542:4;2577:5;-1:-1:-1;;;;;2577:5:0;2448:10;2566:16;2432:38;;;;-1:-1:-1;;;2432:38:0;;;;;;;:::i;:::-;10905:3:::1;10887:13;10872:12;;:28;;;;:::i;:::-;10871:37;;;;:::i;:::-;10852:16;:56:::0;10948:12:::1;::::0;:16:::1;::::0;10961:3:::1;::::0;10948:16:::1;:::i;:::-;10928;;:36;;10919:46;;;::::0;::::1;;10775:198:::0;:::o;10656:111::-;10706:20;;10698:61;;-1:-1:-1;;;;;10706:20:0;;;;10737:21;10698:61;;;;;10706:20;10698:61;10706:20;10698:61;10737:21;10706:20;10698:61;;;;;;;;;;;;;;;;;;;576:190;662:7;698:12;690:6;;;;682:29;;;;-1:-1:-1;;;682:29:0;;;;;;;;:::i;:::-;-1:-1:-1;722:9:0;734:5;738:1;734;:5;:::i;:::-;722:17;576:190;-1:-1:-1;;;;;576:190:0:o;7527:984::-;7639:6;;7619:4;;7639:6;;7636:63;;;7655:41;7670:6;7678:9;7689:6;7655:14;:41::i;:::-;7648:48;;;;7636:63;7736:4;;-1:-1:-1;;;;;7723:17:0;;;7736:4;;7723:17;;;;:38;;-1:-1:-1;7757:4:0;;-1:-1:-1;;;;;7744:17:0;;;7757:4;;7744:17;;7723:38;7719:200;;;-1:-1:-1;;;;;7786:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7849:16:0;;-1:-1:-1;;;;;7816:20:0;;;;;;:9;:20;;;;;;:29;;7839:6;;7816:29;:::i;:::-;:49;;7786:79;7778:129;;;;-1:-1:-1;;;7778:129:0;;5308:2:1;7778:129:0;;;5290:21:1;5347:2;5327:18;;;5320:30;5386:34;5366:18;;;5359:62;-1:-1:-1;;;5437:18:1;;;5430:35;5482:19;;7778:129:0;5106:401:1;7778:129:0;7934:16;:14;:16::i;:::-;7931:35;;;7953:10;:8;:10::i;:::-;7999:53;;;;;;;;;;;-1:-1:-1;;;7999:53:0;;;;;;;;-1:-1:-1;;;;;7999:17:0;;-1:-1:-1;7999:17:0;;;:9;:17;;;;;;;;:53;;8021:6;;7999:21;:53::i;:::-;-1:-1:-1;;;;;7979:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8948:11;:19;;;;8091:6;;8948:19;;8108:235;;8161:4;;-1:-1:-1;;;;;8161:4:0;;;8151:14;;;;8148:183;;8202:29;8210:6;8218;8225:5;8202:7;:29::i;:::-;8185:46;;8148:183;;;8287:28;8295:6;8303;8310:4;8287:7;:28::i;:::-;8270:45;;8148:183;-1:-1:-1;;;;;8380:20:0;;;;;;:9;:20;;;;;;:40;;8405:14;8380:24;:40::i;:::-;-1:-1:-1;;;;;8357:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8438:43;;;;;;;;;;8466:14;160:25:1;;148:2;133:18;;14:177;8438:43:0;;;;;;;;-1:-1:-1;8499:4:0;;7527:984;-1:-1:-1;;;;7527:984:0:o;8523:330::-;8653:53;;;;;;;;;;;-1:-1:-1;;;8653:53:0;;;;;;;;-1:-1:-1;;;;;8653:17:0;;8616:4;8653:17;;;:9;:17;;;;;;;:53;;8675:6;;8653:21;:53::i;:::-;-1:-1:-1;;;;;8633:17:0;;;;;;;:9;:17;;;;;;:73;;;;8740:20;;;;;;;:32;;8765:6;8740:24;:32::i;:::-;-1:-1:-1;;;;;8717:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8788:35;;;;;;;;;;8816:6;160:25:1;;148:2;133:18;;14:177;8788:35:0;;;;;;;;-1:-1:-1;8841:4:0;8523:330;;;;;:::o;9394:197::-;9481:4;;9443;;-1:-1:-1;;;;;9481:4:0;9467:10;:18;;;;:38;;-1:-1:-1;9499:6:0;;;;9498:7;9467:38;:62;;;;-1:-1:-1;9518:11:0;;-1:-1:-1;;;9518:11:0;;;;9467:62;:116;;;;-1:-1:-1;9570:13:0;;9560:4;9542:24;;;;:9;:24;;;;;;:41;;9467:116;9460:123;;9394:197;:::o;9599:671::-;5346:6;:13;;-1:-1:-1;;5346:13:0;5355:4;5346:13;;;;;;9689:4:::1;5346:6:::0;9671:24;;;:9:::1;:24;::::0;;;;;9710:11:::1;::::0;9671:24;;-1:-1:-1;;;9710:11:0;;::::1;5346:13:::0;9710:11:::1;:19;;::::0;;9706:83:::1;;-1:-1:-1::0;9764:13:0::1;::::0;9706:83:::1;9823:16;::::0;;9837:1:::1;9823:16:::0;;;;;::::1;::::0;;9799:21:::1;::::0;9823:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9823:16:0::1;9799:40;;9868:4;9850;9855:1;9850:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9850:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9894:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9894:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9850:7;;9894:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9884:4;9889:1;9884:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9884:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9920:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9920:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9992:12;;9920:6:::1;::::0;10035:4;;10062::::1;::::0;10082:15:::1;::::0;9920:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10149:17;10125:21;:41;10121:134;;;10190:20;::::0;10182:61:::1;::::0;-1:-1:-1;;;;;10190:20:0;;::::1;::::0;10221:21:::1;10182:61:::0;::::1;;;::::0;10190:20:::1;10182:61:::0;10190:20;10182:61;10221:21;10190:20;10182:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10121:134;-1:-1:-1::0;;5364:6:0;:14;;-1:-1:-1;;5364:14:0;;;9599:671::o;8983:403::-;9063:7;9083:14;9100:6;:104;;9160:44;9189:14;;9160:24;9171:12;;9160:6;:10;;:24;;;;:::i;:::-;:28;;:44::i;:::-;9100:104;;;9109:48;9142:14;;9109:28;9120:16;;9109:6;:10;;:28;;;;:::i;:48::-;9260:4;9242:24;;;;:9;:24;;;;;;9083:121;;-1:-1:-1;9242:39:0;;9083:121;9242:28;:39::i;:::-;9233:4;9215:24;;;;:9;:24;;;;;;;:66;;;;9297:42;;-1:-1:-1;;;;;9297:42:0;;;;;;;9329:9;160:25:1;;148:2;133:18;;14:177;9297:42:0;;;;;;;;9357:21;:6;9368:9;9357:10;:21::i;249:179::-;307:7;;339:5;343:1;339;:5;:::i;:::-;327:17;;368:1;363;:6;;355:46;;;;-1:-1:-1;;;355:46:0;;7219:2:1;355:46:0;;;7201:21:1;7258:2;7238:18;;;7231:30;7297:29;7277:18;;;7270:57;7344:18;;355:46:0;7017:351:1;772:246:0;830:7;854:1;859;854:6;850:47;;-1:-1:-1;884:1:0;877:8;;850:47;907:9;919:5;923:1;919;:5;:::i;:::-;907:17;-1:-1:-1;952:1:0;943:5;947:1;907:17;943:5;:::i;:::-;:10;935:56;;;;-1:-1:-1;;;935:56:0;;7575:2:1;935:56:0;;;7557:21:1;7614:2;7594:18;;;7587:30;7653:34;7633:18;;;7626:62;-1:-1:-1;;;7704:18:1;;;7697:31;7745:19;;935:56:0;7373:397:1;1024:132:0;1082:7;1109:39;1113:1;1116;1109:39;;;;;;;;;;;;;;;;;:3;:39::i;434:136::-;492:7;519:43;523:1;526;519:43;;;;;;;;;;;;;;;;;:3;:43::i;1162:189::-;1248:7;1283:12;1276:5;1268:28;;;;-1:-1:-1;;;1268:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1307:9:0;1319:5;1323:1;1319;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:248::-;1465:6;1473;1526:2;1514:9;1505:7;1501:23;1497:32;1494:52;;;1542:1;1539;1532:12;1494:52;-1:-1:-1;;1565:23:1;;;1635:2;1620:18;;;1607:32;;-1:-1:-1;1397:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2111:247::-;2170:6;2223:2;2211:9;2202:7;2198:23;2194:32;2191:52;;;2239:1;2236;2229:12;2191:52;2278:9;2265:23;2297:31;2322:5;2297:31;:::i;2760:180::-;2819:6;2872:2;2860:9;2851:7;2847:23;2843:32;2840:52;;;2888:1;2885;2878:12;2840:52;-1:-1:-1;2911:23:1;;2760:180;-1:-1:-1;2760:180:1:o;2945:160::-;3010:20;;3066:13;;3059:21;3049:32;;3039:60;;3095:1;3092;3085:12;3039:60;2945:160;;;:::o;3110:248::-;3172:6;3180;3233:2;3221:9;3212:7;3208:23;3204:32;3201:52;;;3249:1;3246;3239:12;3201:52;3272:26;3288:9;3272:26;:::i;:::-;3262:36;;3317:35;3348:2;3337:9;3333:18;3317:35;:::i;:::-;3307:45;;3110:248;;;;;:::o;3363:388::-;3431:6;3439;3492:2;3480:9;3471:7;3467:23;3463:32;3460:52;;;3508:1;3505;3498:12;3460:52;3547:9;3534:23;3566:31;3591:5;3566:31;:::i;:::-;3616:5;-1:-1:-1;3673:2:1;3658:18;;3645:32;3686:33;3645:32;3686:33;:::i;:::-;3738:7;3728:17;;;3363:388;;;;;:::o;3982:329::-;4184:2;4166:21;;;4223:1;4203:18;;;4196:29;-1:-1:-1;;;4256:2:1;4241:18;;4234:36;4302:2;4287:18;;3982:329::o;4316:127::-;4377:10;4372:3;4368:20;4365:1;4358:31;4408:4;4405:1;4398:15;4432:4;4429:1;4422:15;4448:168;4521:9;;;4552;;4569:15;;;4563:22;;4549:37;4539:71;;4590:18;;:::i;4621:217::-;4661:1;4687;4677:132;;4731:10;4726:3;4722:20;4719:1;4712:31;4766:4;4763:1;4756:15;4794:4;4791:1;4784:15;4677:132;-1:-1:-1;4823:9:1;;4621:217::o;4843:128::-;4910:9;;;4931:11;;;4928:37;;;4945:18;;:::i;4976:125::-;5041:9;;;5062:10;;;5059:36;;;5075:18;;:::i;5644:127::-;5705:10;5700:3;5696:20;5693:1;5686:31;5736:4;5733:1;5726:15;5760:4;5757:1;5750:15;5776:251;5846:6;5899:2;5887:9;5878:7;5874:23;5870:32;5867:52;;;5915:1;5912;5905:12;5867:52;5947:9;5941:16;5966:31;5991:5;5966:31;:::i;6032:980::-;6294:4;6342:3;6331:9;6327:19;6373:6;6362:9;6355:25;6399:2;6437:6;6432:2;6421:9;6417:18;6410:34;6480:3;6475:2;6464:9;6460:18;6453:31;6504:6;6539;6533:13;6570:6;6562;6555:22;6608:3;6597:9;6593:19;6586:26;;6647:2;6639:6;6635:15;6621:29;;6668:1;6678:195;6692:6;6689:1;6686:13;6678:195;;;6757:13;;-1:-1:-1;;;;;6753:39:1;6741:52;;6848:15;;;;6813:12;;;;6789:1;6707:9;6678:195;;;-1:-1:-1;;;;;;;6929:32:1;;;;6924:2;6909:18;;6902:60;-1:-1:-1;;;6993:3:1;6978:19;6971:35;6890:3;6032:980;-1:-1:-1;;;6032:980:1:o

Swarm Source

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