ETH Price: $2,642.22 (+1.42%)

Token

SEND IT (SEND)
 

Overview

Max Total Supply

1,000,000,000 SEND

Holders

76

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
11,824,113.597620831 SEND

Value
$0.00
0x19908fc111D89be2BEB4aAB2Bc6C218dB888e27e
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:
SENDIT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-15
*/

// SPDX-License-Identifier: MIT

/**
There is no phrase uttered more frequently in the crypto space than 'SEND IT'.
A meme-coin should be simple and catch instantly when the name is heard. A meme-coin team should be dedicated and professional yet approachable. The $SEND team is experienced and prepared to bring MASS ADOPTION AND AWARENESS TO $SEND.

Web: https://senditmoon.vip
Tg: https://t.me/sendit_moon
X: https://twitter.com/sendit_moon
 */

pragma solidity 0.8.19;

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 IERC20 {
    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 IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapRouter {
    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 SENDIT is IERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "SEND IT";
    string constant _symbol = "SEND";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 10 ** 9 * (10 ** _decimals);
    uint256 public _maxWallet = (_totalSupply * 15) / 1000;

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

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

    uint256 lpFee = 0; 
    uint256 mktFee = 29;
    uint256 totalFee = lpFee + mktFee;
    uint256 denominator = 100;

    address public teamWallet;

    IUniswapRouter public router;
    address public pair;

    bool public hasSwapEnabled = false;
    uint256 public swapThreshold = _totalSupply / 10000; // 0.5%
    bool swapping;
    modifier lockSwap() { swapping = true; _; swapping = false; }
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);

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

        address _owner = owner;
        teamWallet = 0xe022A2f77eDAb9E4492b7d5EFddb659B6716A362;
        isFeeExempt[teamWallet] = true;
        isMaxTxExempt[_owner] = true;
        isMaxTxExempt[teamWallet] = true;
        isMaxTxExempt[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 shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWallet = (_totalSupply * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         lpFee = _liquidityFee; 
         mktFee = _marketingFee;
         totalFee = lpFee + mktFee;
    }    

    function setSwapEnabled(bool value) external onlyOwner {
        hasSwapEnabled = value;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(swapping){ return _transferStandard(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isMaxTxExempt[recipient] || _balances[recipient] + amount <= _maxWallet, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack() && shouldTakeFee(sender) && recipient == pair && amount > swapThreshold){ swapBackAndLiquidify(); } 


        uint256 amountReceived = shouldTakeFee(sender) || !hasSwapEnabled ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _transferStandard(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 swapBackAndLiquidify() internal lockSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(lpFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(lpFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(lpFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(mktFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(teamWallet).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                teamWallet,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    
    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        uint256 feeAmount = amount.mul(totalFee).div(denominator);
        _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 !swapping
        && hasSwapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

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

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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","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":"_maxWallet","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":"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":[],"name":"hasSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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 IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200048c565b6200005890633b9aca00620004a4565b6003556103e8600354600f6200006f9190620004a4565b6200007b9190620004be565b60045560006009819055601d600a8190556200009791620004e1565b600b556064600c55600f805460ff60a01b19169055600354620000be9061271090620004be565b601055348015620000ce57600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200013b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001619190620004f7565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e99190620004f7565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000236573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025c9190620004f7565b600f80546001600160a01b039283166001600160a01b031991821617909155306000908152600660209081526040808320600e5486168452825280832060001990558254600d805490951673e022a2f77edab9e4492b7d5efddb659b6716a3621785557fa4982868d667b691bd5b4e733c9f9e9949a102e17a06fb98a7c16c899266dca9805460ff199081166001908117909255918716808652600885528386208054841683179055955487168552828520805483168217905560025490961684528184208054909116909517909455600354838352600582528483208190559351938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000522565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ce578160001904821115620003b257620003b262000377565b80851615620003c057918102915b93841c939080029062000392565b509250929050565b600082620003e75750600162000486565b81620003f65750600062000486565b81600181146200040f57600281146200041a576200043a565b600191505062000486565b60ff8411156200042e576200042e62000377565b50506001821b62000486565b5060208310610133831016604e8410600b84101617156200045f575081810a62000486565b6200046b83836200038d565b806000190482111562000482576200048262000377565b0290505b92915050565b60006200049d60ff841683620003d6565b9392505050565b808202811582820484141762000486576200048662000377565b600082620004dc57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000486576200048662000377565b6000602082840312156200050a57600080fd5b81516001600160a01b03811681146200049d57600080fd5b6113e180620005326000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a8aa1b311161006f578063a8aa1b3114610373578063a9059cbb14610393578063dd62ed3e146103b3578063e01af92c146103f9578063f1d5f51714610419578063f887ea401461043957600080fd5b806370a08231146102c7578063715018a6146102fd57806382247ec014610312578063893d20e81461032857806395d89b411461034657600080fd5b80632a0ab2c1116100f25780632a0ab2c1146102015780632f54bf6e14610222578063313ce5671461025157806352f7c9881461026d578063599270441461028f57600080fd5b80630445b6671461013a57806306fdde0314610163578063095ea7b31461019c57806318160ddd146101cc57806323b872dd146101e157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060105481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5060408051808201909152600781526614d1539108125560ca1b60208201525b60405161015a91906110be565b3480156101a857600080fd5b506101bc6101b7366004611124565b610459565b604051901515815260200161015a565b3480156101d857600080fd5b50600354610150565b3480156101ed57600080fd5b506101bc6101fc366004611150565b6104c6565b34801561020d57600080fd5b50600f546101bc90600160a01b900460ff1681565b34801561022e57600080fd5b506101bc61023d366004611191565b6000546001600160a01b0391821691161490565b34801561025d57600080fd5b506040516009815260200161015a565b34801561027957600080fd5b5061028d6102883660046111ae565b610588565b005b34801561029b57600080fd5b50600d546102af906001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b3480156102d357600080fd5b506101506102e2366004611191565b6001600160a01b031660009081526005602052604090205490565b34801561030957600080fd5b5061028d6105d6565b34801561031e57600080fd5b5061015060045481565b34801561033457600080fd5b506000546001600160a01b03166102af565b34801561035257600080fd5b5060408051808201909152600481526314d1539160e21b602082015261018f565b34801561037f57600080fd5b50600f546102af906001600160a01b031681565b34801561039f57600080fd5b506101bc6103ae366004611124565b610645565b3480156103bf57600080fd5b506101506103ce3660046111d0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561040557600080fd5b5061028d610414366004611209565b610652565b34801561042557600080fd5b5061028d61043436600461122b565b61069a565b34801561044557600080fd5b50600e546102af906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b49086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610573576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461054e9184906106e5565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61057e84848461071f565b90505b9392505050565b6000546001600160a01b031633146105bb5760405162461bcd60e51b81526004016105b290611244565b60405180910390fd5b6009829055600a8190556105cf818361127a565b600b555050565b6000546001600160a01b031633146106005760405162461bcd60e51b81526004016105b290611244565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061058133848461071f565b6000546001600160a01b0316331461067c5760405162461bcd60e51b81526004016105b290611244565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c45760405162461bcd60e51b81526004016105b290611244565b6103e8816003546106d5919061128d565b6106df91906112a4565b60045550565b600081848411156107095760405162461bcd60e51b81526004016105b291906110be565b50600061071684866112c6565b95945050505050565b60115460009060ff161561073f57610738848484610949565b9050610581565b600f546001600160a01b0384811691161480159061076b57506002546001600160a01b03848116911614155b15610816576001600160a01b03831660009081526008602052604090205460ff16806107bc57506004546001600160a01b0384166000908152600560205260409020546107b990849061127a565b11155b6108165760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105b2565b61081e610a2f565b801561084357506001600160a01b03841660009081526007602052604090205460ff16155b801561085c5750600f546001600160a01b038481169116145b8015610869575060105482115b1561087657610876610a70565b6001600160a01b03841660009081526007602052604081205460ff1615806108a85750600f54600160a01b900460ff16155b6108b257826108bc565b6108bc8584610e20565b6001600160a01b0385166000908152600560205260409020549091506108e29082610f2b565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109369085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461099a9184906106e5565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109c99083610f2b565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a1d9086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a4e5750600f54600160a01b900460ff165b8015610a6b57506010543060009081526005602052604090205410155b905090565b6011805460ff191660011790553060009081526005602052604081205490506000610ab76002610ab1600b54610ab160095487610f8a90919063ffffffff16565b9061100c565b90506000610ac5838361104e565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610aff57610aff6112d9565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906112ef565b81600181518110610b8f57610b8f6112d9565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bd990869060009087903090429060040161130c565b600060405180830381600087803b158015610bf357600080fd5b505af1158015610c07573d6000803e3d6000fd5b505050506000610c20824761104e90919063ffffffff16565b90506000610c46610c3d600260095461100c90919063ffffffff16565b600b549061104e565b90506000610c686002610ab184610ab160095488610f8a90919063ffffffff16565b90506000610c8583610ab1600a5487610f8a90919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610cdc576040519150601f19603f3d011682016040523d82523d6000602084013e610ce1565b606091505b5050905080610d325760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105b2565b8815610e0a57600e54600d5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610da8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dcd919061137d565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600590915291822054610e719184906106e5565b6001600160a01b038416600090815260056020526040812091909155600c54600b54610ea39190610ab1908690610f8a565b30600090815260056020526040902054909150610ec09082610f2b565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f119085815260200190565b60405180910390a3610f23838261104e565b949350505050565b600080610f38838561127a565b9050838110156105815760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b2565b600082600003610f9c575060006104c0565b6000610fa8838561128d565b905082610fb585836112a4565b146105815760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b2565b600061058183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611090565b600061058183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e5565b600081836110b15760405162461bcd60e51b81526004016105b291906110be565b50600061071684866112a4565b600060208083528351808285015260005b818110156110eb578581018301518582016040015282016110cf565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112157600080fd5b50565b6000806040838503121561113757600080fd5b82356111428161110c565b946020939093013593505050565b60008060006060848603121561116557600080fd5b83356111708161110c565b925060208401356111808161110c565b929592945050506040919091013590565b6000602082840312156111a357600080fd5b81356105818161110c565b600080604083850312156111c157600080fd5b50508035926020909101359150565b600080604083850312156111e357600080fd5b82356111ee8161110c565b915060208301356111fe8161110c565b809150509250929050565b60006020828403121561121b57600080fd5b8135801515811461058157600080fd5b60006020828403121561123d57600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c0576104c0611264565b80820281158282048414176104c0576104c0611264565b6000826112c157634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104c0576104c0611264565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561130157600080fd5b81516105818161110c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561135c5784516001600160a01b031683529383019391830191600101611337565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561139257600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212203f8b2153183fd4ed53b3e24a20177c1bd87d5478e2172a7fb51b1ed1525b091d64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab578063a8aa1b311161006f578063a8aa1b3114610373578063a9059cbb14610393578063dd62ed3e146103b3578063e01af92c146103f9578063f1d5f51714610419578063f887ea401461043957600080fd5b806370a08231146102c7578063715018a6146102fd57806382247ec014610312578063893d20e81461032857806395d89b411461034657600080fd5b80632a0ab2c1116100f25780632a0ab2c1146102015780632f54bf6e14610222578063313ce5671461025157806352f7c9881461026d578063599270441461028f57600080fd5b80630445b6671461013a57806306fdde0314610163578063095ea7b31461019c57806318160ddd146101cc57806323b872dd146101e157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060105481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5060408051808201909152600781526614d1539108125560ca1b60208201525b60405161015a91906110be565b3480156101a857600080fd5b506101bc6101b7366004611124565b610459565b604051901515815260200161015a565b3480156101d857600080fd5b50600354610150565b3480156101ed57600080fd5b506101bc6101fc366004611150565b6104c6565b34801561020d57600080fd5b50600f546101bc90600160a01b900460ff1681565b34801561022e57600080fd5b506101bc61023d366004611191565b6000546001600160a01b0391821691161490565b34801561025d57600080fd5b506040516009815260200161015a565b34801561027957600080fd5b5061028d6102883660046111ae565b610588565b005b34801561029b57600080fd5b50600d546102af906001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b3480156102d357600080fd5b506101506102e2366004611191565b6001600160a01b031660009081526005602052604090205490565b34801561030957600080fd5b5061028d6105d6565b34801561031e57600080fd5b5061015060045481565b34801561033457600080fd5b506000546001600160a01b03166102af565b34801561035257600080fd5b5060408051808201909152600481526314d1539160e21b602082015261018f565b34801561037f57600080fd5b50600f546102af906001600160a01b031681565b34801561039f57600080fd5b506101bc6103ae366004611124565b610645565b3480156103bf57600080fd5b506101506103ce3660046111d0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561040557600080fd5b5061028d610414366004611209565b610652565b34801561042557600080fd5b5061028d61043436600461122b565b61069a565b34801561044557600080fd5b50600e546102af906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b49086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610573576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461054e9184906106e5565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61057e84848461071f565b90505b9392505050565b6000546001600160a01b031633146105bb5760405162461bcd60e51b81526004016105b290611244565b60405180910390fd5b6009829055600a8190556105cf818361127a565b600b555050565b6000546001600160a01b031633146106005760405162461bcd60e51b81526004016105b290611244565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061058133848461071f565b6000546001600160a01b0316331461067c5760405162461bcd60e51b81526004016105b290611244565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c45760405162461bcd60e51b81526004016105b290611244565b6103e8816003546106d5919061128d565b6106df91906112a4565b60045550565b600081848411156107095760405162461bcd60e51b81526004016105b291906110be565b50600061071684866112c6565b95945050505050565b60115460009060ff161561073f57610738848484610949565b9050610581565b600f546001600160a01b0384811691161480159061076b57506002546001600160a01b03848116911614155b15610816576001600160a01b03831660009081526008602052604090205460ff16806107bc57506004546001600160a01b0384166000908152600560205260409020546107b990849061127a565b11155b6108165760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105b2565b61081e610a2f565b801561084357506001600160a01b03841660009081526007602052604090205460ff16155b801561085c5750600f546001600160a01b038481169116145b8015610869575060105482115b1561087657610876610a70565b6001600160a01b03841660009081526007602052604081205460ff1615806108a85750600f54600160a01b900460ff16155b6108b257826108bc565b6108bc8584610e20565b6001600160a01b0385166000908152600560205260409020549091506108e29082610f2b565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109369085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461099a9184906106e5565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109c99083610f2b565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a1d9086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a4e5750600f54600160a01b900460ff165b8015610a6b57506010543060009081526005602052604090205410155b905090565b6011805460ff191660011790553060009081526005602052604081205490506000610ab76002610ab1600b54610ab160095487610f8a90919063ffffffff16565b9061100c565b90506000610ac5838361104e565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610aff57610aff6112d9565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906112ef565b81600181518110610b8f57610b8f6112d9565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bd990869060009087903090429060040161130c565b600060405180830381600087803b158015610bf357600080fd5b505af1158015610c07573d6000803e3d6000fd5b505050506000610c20824761104e90919063ffffffff16565b90506000610c46610c3d600260095461100c90919063ffffffff16565b600b549061104e565b90506000610c686002610ab184610ab160095488610f8a90919063ffffffff16565b90506000610c8583610ab1600a5487610f8a90919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610cdc576040519150601f19603f3d011682016040523d82523d6000602084013e610ce1565b606091505b5050905080610d325760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105b2565b8815610e0a57600e54600d5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610da8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dcd919061137d565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600590915291822054610e719184906106e5565b6001600160a01b038416600090815260056020526040812091909155600c54600b54610ea39190610ab1908690610f8a565b30600090815260056020526040902054909150610ec09082610f2b565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f119085815260200190565b60405180910390a3610f23838261104e565b949350505050565b600080610f38838561127a565b9050838110156105815760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b2565b600082600003610f9c575060006104c0565b6000610fa8838561128d565b905082610fb585836112a4565b146105815760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b2565b600061058183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611090565b600061058183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e5565b600081836110b15760405162461bcd60e51b81526004016105b291906110be565b50600061071684866112a4565b600060208083528351808285015260005b818110156110eb578581018301518582016040015282016110cf565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112157600080fd5b50565b6000806040838503121561113757600080fd5b82356111428161110c565b946020939093013593505050565b60008060006060848603121561116557600080fd5b83356111708161110c565b925060208401356111808161110c565b929592945050506040919091013590565b6000602082840312156111a357600080fd5b81356105818161110c565b600080604083850312156111c157600080fd5b50508035926020909101359150565b600080604083850312156111e357600080fd5b82356111ee8161110c565b915060208301356111fe8161110c565b809150509250929050565b60006020828403121561121b57600080fd5b8135801515811461058157600080fd5b60006020828403121561123d57600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c0576104c0611264565b80820281158282048414176104c0576104c0611264565b6000826112c157634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104c0576104c0611264565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561130157600080fd5b81516105818161110c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561135c5784516001600160a01b031683529383019391830191600101611337565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561139257600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212203f8b2153183fd4ed53b3e24a20177c1bd87d5478e2172a7fb51b1ed1525b091d64736f6c63430008130033

Deployed Bytecode Sourcemap

4520:7134:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5439:51;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5439:51:0;;;;;;;;6599:80;;;;;;;;;;-1:-1:-1;6671:5:0;;;;;;;;;;;;-1:-1:-1;;;6671:5:0;;;;6599:80;;;;;;;:::i;7021:216::-;;;;;;;;;;-1:-1:-1;7021:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7021:216:0;1205:187:1;6329:88:0;;;;;;;;;;-1:-1:-1;6402:12:0;;6329:88;;11281:370;;;;;;;;;;-1:-1:-1;11281:370:0;;;;;:::i;:::-;;:::i;5398:34::-;;;;;;;;;;-1:-1:-1;5398:34:0;;;;-1:-1:-1;;;5398:34:0;;;;;;2750:103;;;;;;;;;;-1:-1:-1;2750:103:0;;;;;:::i;:::-;2805:4;2840:5;-1:-1:-1;;;;;2829:16:0;;;2840:5;;2829:16;;2750:103;6423:80;;;;;;;;;;-1:-1:-1;6423:80:0;;4839:1;2252:36:1;;2240:2;2225:18;6423:80:0;2110:184:1;7511:194:0;;;;;;;;;;-1:-1:-1;7511:194:0;;;;;:::i;:::-;;:::i;:::-;;5301:25;;;;;;;;;;-1:-1:-1;5301:25:0;;;;-1:-1:-1;;;;;5301:25:0;;;;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;5301:25:0;2552:203:1;6769:105:0;;;;;;;;;;-1:-1:-1;6769:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6853:18:0;6835:7;6853:18;;;:9;:18;;;;;;;6769:105;2859:131;;;;;;;;;;;;;:::i;4906:54::-;;;;;;;;;;;;;;;;6685:78;;;;;;;;;;-1:-1:-1;6737:7:0;6755:5;-1:-1:-1;;;;;6755:5:0;6685:78;;6509:84;;;;;;;;;;-1:-1:-1;6583:7:0;;;;;;;;;;;;-1:-1:-1;;;6583:7:0;;;;6509:84;;5370:19;;;;;;;;;;-1:-1:-1;5370:19:0;;;;-1:-1:-1;;;;;5370:19:0;;;11117:156;;;;;;;;;;-1:-1:-1;11117:156:0;;;;;:::i;:::-;;:::i;6880:133::-;;;;;;;;;;-1:-1:-1;6880:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6982:19:0;;;6964:7;6982:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6880:133;7717:96;;;;;;;;;;-1:-1:-1;7717:96:0;;;;;:::i;:::-;;:::i;7367:136::-;;;;;;;;;;-1:-1:-1;7367:136:0;;;;;:::i;:::-;;:::i;5335:28::-;;;;;;;;;;-1:-1:-1;5335:28:0;;;;-1:-1:-1;;;;;5335:28:0;;;7021:216;7125:10;7096:4;7113:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7113:32:0;;;;;;;;;;:41;;;7170:37;7096:4;;7113:32;;7170:37;;;;7148:6;160:25:1;;148:2;133:18;;14:177;7170:37:0;;;;;;;;-1:-1:-1;7225:4:0;7021:216;;;;;:::o;11281:370::-;-1:-1:-1;;;;;11401:19:0;;11381:4;11401:19;;;:11;:19;;;;;;;;11421:10;11401:31;;;;;;;;-1:-1:-1;;11401:52:0;11398:186;;11503:69;;;;;;;;;;;-1:-1:-1;;;11503:69:0;;;;;;;;-1:-1:-1;;;;;11503:19:0;;-1:-1:-1;11503:19:0;;;:11;:19;;;;;11523:10;11503:31;;;;;;;;;;:69;;11539:6;;11503:35;:69::i;:::-;-1:-1:-1;;;;;11469:19:0;;;;;;:11;:19;;;;;;;;11489:10;11469:31;;;;;;;:103;11398:186;11603:40;11617:6;11625:9;11636:6;11603:13;:40::i;:::-;11596:47;;11281:370;;;;;;:::o;7511:194::-;2805:4;2840:5;-1:-1:-1;;;;;2840:5:0;2711:10;2829:16;2695:38;;;;-1:-1:-1;;;2695:38:0;;;;;;;:::i;:::-;;;;;;;;;7604:5:::1;:21:::0;;;7638:6:::1;:22:::0;;;7683:14:::1;7647:13:::0;7612;7683:14:::1;:::i;:::-;7672:8;:25:::0;-1:-1:-1;;7511:194:0:o;2859:131::-;2805:4;2840:5;-1:-1:-1;;;;;2840:5:0;2711:10;2829:16;2695:38;;;;-1:-1:-1;;;2695:38:0;;;;;;;:::i;:::-;2932:1:::1;2916:18:::0;;-1:-1:-1;;;;;;2916:18:0::1;::::0;;2950:32:::1;::::0;2698:51:1;;;2950:32:0::1;::::0;2686:2:1;2671:18;2950:32:0::1;;;;;;;2859:131::o:0;11117:156::-;11197:4;11221:44;11235:10;11247:9;11258:6;11221:13;:44::i;7717:96::-;2805:4;2840:5;-1:-1:-1;;;;;2840:5:0;2711:10;2829:16;2695:38;;;;-1:-1:-1;;;2695:38:0;;;;;;;:::i;:::-;7783:14:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;7783:22:0::1;-1:-1:-1::0;;;;7783:22:0;;::::1;::::0;;;::::1;::::0;;7717:96::o;7367:136::-;2805:4;2840:5;-1:-1:-1;;;;;2840:5:0;2711:10;2829:16;2695:38;;;;-1:-1:-1;;;2695:38:0;;;;;;;:::i;:::-;7491:4:::1;7473:13;7458:12;;:28;;;;:::i;:::-;7457:38;;;;:::i;:::-;7444:10;:51:::0;-1:-1:-1;7367:136:0:o;838:190::-;924:7;960:12;952:6;;;;944:29;;;;-1:-1:-1;;;944:29:0;;;;;;;;:::i;:::-;-1:-1:-1;984:9:0;996:5;1000:1;996;:5;:::i;:::-;984:17;838:190;-1:-1:-1;;;;;838:190:0:o;7821:808::-;7933:8;;7913:4;;7933:8;;7930:68;;;7951:44;7969:6;7977:9;7988:6;7951:17;:44::i;:::-;7944:51;;;;7930:68;8035:4;;-1:-1:-1;;;;;8022:17:0;;;8035:4;;8022:17;;;;:38;;-1:-1:-1;8056:4:0;;-1:-1:-1;;;;;8043:17:0;;;8056:4;;8043:17;;8022:38;8018:192;;;-1:-1:-1;;;;;8085:24:0;;;;;;:13;:24;;;;;;;;;:71;;-1:-1:-1;8146:10:0;;-1:-1:-1;;;;;8113:20:0;;;;;;:9;:20;;;;;;:29;;8136:6;;8113:29;:::i;:::-;:43;;8085:71;8077:121;;;;-1:-1:-1;;;8077:121:0;;5172:2:1;8077:121:0;;;5154:21:1;5211:2;5191:18;;;5184:30;5250:34;5230:18;;;5223:62;-1:-1:-1;;;5301:18:1;;;5294:35;5346:19;;8077:121:0;4970:401:1;8077:121:0;8233:16;:14;:16::i;:::-;:41;;;;-1:-1:-1;;;;;;7332:19:0;;7307:4;7332:19;;;:11;:19;;;;;;;;7331:20;8253:21;8233:62;;;;-1:-1:-1;8291:4:0;;-1:-1:-1;;;;;8278:17:0;;;8291:4;;8278:17;8233:62;:88;;;;;8308:13;;8299:6;:22;8233:88;8230:119;;;8324:22;:20;:22::i;:::-;-1:-1:-1;;;;;7332:19:0;;8364:22;7332:19;;;:11;:19;;;;;;;;7331:20;8389:40;;;-1:-1:-1;8415:14:0;;-1:-1:-1;;;8415:14:0;;;;8414:15;8389:40;:75;;8458:6;8389:75;;;8432:23;8440:6;8448;8432:7;:23::i;:::-;-1:-1:-1;;;;;8498:20:0;;;;;;:9;:20;;;;;;8364:100;;-1:-1:-1;8498:40:0;;8364:100;8498:24;:40::i;:::-;-1:-1:-1;;;;;8475:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8556:43;;;;;;;;;;8584:14;160:25:1;;148:2;133:18;;14:177;8556:43:0;;;;;;;;-1:-1:-1;8617:4:0;;7821:808;-1:-1:-1;;;;7821:808:0:o;8641:333::-;8774:53;;;;;;;;;;;-1:-1:-1;;;8774:53:0;;;;;;;;-1:-1:-1;;;;;8774:17:0;;8737:4;8774:17;;;:9;:17;;;;;;;:53;;8796:6;;8774:21;:53::i;:::-;-1:-1:-1;;;;;8754:17:0;;;;;;;:9;:17;;;;;;:73;;;;8861:20;;;;;;;:32;;8886:6;8861:24;:32::i;:::-;-1:-1:-1;;;;;8838:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8909:35;;;;;;;;;;8937:6;160:25:1;;148:2;133:18;;14:177;8909:35:0;;;;;;;;-1:-1:-1;8962:4:0;8641:333;;;;;:::o;10938:171::-;11012:8;;10987:4;;11012:8;;11011:9;:36;;;;-1:-1:-1;11033:14:0;;-1:-1:-1;;;11033:14:0;;;;11011:36;:90;;;;-1:-1:-1;11088:13:0;;11078:4;11060:24;;;;:9;:24;;;;;;:41;;11011:90;11004:97;;10938:171;:::o;8982:1526::-;5547:8;:15;;-1:-1:-1;;5547:15:0;5558:4;5547:15;;;9092:4:::1;-1:-1:-1::0;6853:18:0;;;:9;:18;;;;;;9043:55:::1;;9109:23;9135:52;9185:1;9135:45;9171:8;;9135:31;9160:5;;9135:20;:24;;:31;;;;:::i;:::-;:35:::0;::::1;:45::i;:52::-;9109:78:::0;-1:-1:-1;9198:20:0::1;9221:41;:20:::0;9109:78;9221:24:::1;:41::i;:::-;9299:16;::::0;;9313:1:::1;9299:16:::0;;;;;::::1;::::0;;9198:64;;-1:-1:-1;9275:21:0::1;::::0;9299:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9299:16:0::1;9275:40;;9344:4;9326;9331:1;9326:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9326:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9370:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9370:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9326:7;;9370:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9360:4;9365:1;9360:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9360:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9454:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9454:188:0;;9420:21:::1;::::0;9454:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9526:12;;9396:21:::1;::::0;9569:4;;9596::::1;::::0;9616:15:::1;::::0;9454:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9653:17;9673:40;9699:13;9673:21;:25;;:40;;;;:::i;:::-;9653:60;;9724:19;9746:26;9759:12;9769:1;9759:5;;:9;;:12;;;;:::i;:::-;9746:8;::::0;;:12:::1;:26::i;:::-;9724:48;;9783:26;9812:44;9854:1;9812:37;9837:11;9812:20;9826:5;;9812:9;:13;;:20;;;;:::i;:44::-;9783:73;;9867:26;9896:38;9922:11;9896:21;9910:6;;9896:9;:13;;:21;;;;:::i;:38::-;10008:10;::::0;10000:67:::1;::::0;9867;;-1:-1:-1;9950:21:0::1;::::0;-1:-1:-1;;;;;10008:10:0;;::::1;::::0;10057:5:::1;::::0;9867:67;;9950:21;10000:67;9950:21;10000:67;9867;10008:10;10057:5;10000:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9949:118;;;10086:16;10078:59;;;::::0;-1:-1:-1;;;10078:59:0;;7293:2:1;10078:59:0::1;::::0;::::1;7275:21:1::0;7332:2;7312:18;;;7305:30;7371:32;7351:18;;;7344:60;7421:18;;10078:59:0::1;7091:354:1::0;10078:59:0::1;10153:19:::0;;10150:351:::1;;10188:6;::::0;10362:10:::1;::::0;10188:233:::1;::::0;-1:-1:-1;;;10188:233:0;;10264:4:::1;10188:233;::::0;::::1;7791:34:1::0;7841:18;;;7834:34;;;10188:6:0::1;7884:18:1::0;;;7877:34;;;7927:18;;;7920:34;-1:-1:-1;;;;;10362:10:0;;::::1;7970:19:1::0;;;7963:44;10391:15:0::1;8023:19:1::0;;;8016:35;10188:6:0;::::1;::::0;:22:::1;::::0;10218:18;;7725:19:1;;10188:233:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10441:48:0::1;::::0;;8547:25:1;;;8603:2;8588:18;;8581:34;;;10441:48:0::1;::::0;-1:-1:-1;8520:18:1;10441:48:0::1;;;;;;;10150:351;-1:-1:-1::0;;5567:8:0;:16;;-1:-1:-1;;5567:16:0;;;-1:-1:-1;;;;;;;;8982:1526:0:o;10520:410::-;10627:53;;;;;;;;;;;-1:-1:-1;;;10627:53:0;;;;;;;;-1:-1:-1;;;;;10627:17:0;;10587:7;10627:17;;;:9;:17;;;;;;;:53;;10649:6;;10627:21;:53::i;:::-;-1:-1:-1;;;;;10607:17:0;;;;;;:9;:17;;;;;:73;;;;10736:11;;10722:8;;10711:37;;10736:11;10711:20;;:6;;:10;:20::i;:37::-;10804:4;10786:24;;;;:9;:24;;;;;;10691:57;;-1:-1:-1;10786:39:0;;10691:57;10786:28;:39::i;:::-;10777:4;10759:24;;;;:9;:24;;;;;;;:66;;;;10841:42;;-1:-1:-1;;;;;10841:42:0;;;;;;;10873:9;160:25:1;;148:2;133:18;;14:177;10841:42:0;;;;;;;;10901:21;:6;10912:9;10901:10;:21::i;:::-;10894:28;10520:410;-1:-1:-1;;;;10520:410:0:o;511:179::-;569:7;;601:5;605:1;601;:5;:::i;:::-;589:17;;630:1;625;:6;;617:46;;;;-1:-1:-1;;;617:46:0;;8828:2:1;617:46:0;;;8810:21:1;8867:2;8847:18;;;8840:30;8906:29;8886:18;;;8879:57;8953:18;;617:46:0;8626:351:1;1034:246:0;1092:7;1116:1;1121;1116:6;1112:47;;-1:-1:-1;1146:1:0;1139:8;;1112:47;1169:9;1181:5;1185:1;1181;:5;:::i;:::-;1169:17;-1:-1:-1;1214:1:0;1205:5;1209:1;1169:17;1205:5;:::i;:::-;:10;1197:56;;;;-1:-1:-1;;;1197:56:0;;9184:2:1;1197:56:0;;;9166:21:1;9223:2;9203:18;;;9196:30;9262:34;9242:18;;;9235:62;-1:-1:-1;;;9313:18:1;;;9306:31;9354:19;;1197:56:0;8982:397:1;1286:132:0;1344:7;1371:39;1375:1;1378;1371:39;;;;;;;;;;;;;;;;;:3;:39::i;696:136::-;754:7;781:43;785:1;788;781:43;;;;;;;;;;;;;;;;;:3;:43::i;1424:189::-;1510:7;1545:12;1538:5;1530:28;;;;-1:-1:-1;;;1530:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1569:9:0;1581:5;1585:1;1581;: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;804:70;749:131;:::o;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:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:273::-;3209:6;3262:2;3250:9;3241:7;3237:23;3233:32;3230:52;;;3278:1;3275;3268:12;3230:52;3317:9;3304:23;3370:5;3363:13;3356:21;3349:5;3346:32;3336:60;;3392:1;3389;3382:12;3431:180;3490:6;3543:2;3531:9;3522:7;3518:23;3514:32;3511:52;;;3559:1;3556;3549:12;3511:52;-1:-1:-1;3582:23:1;;3431:180;-1:-1:-1;3431:180:1:o;3846:329::-;4048:2;4030:21;;;4087:1;4067:18;;;4060:29;-1:-1:-1;;;4120:2:1;4105:18;;4098:36;4166:2;4151:18;;3846:329::o;4180:127::-;4241:10;4236:3;4232:20;4229:1;4222:31;4272:4;4269:1;4262:15;4296:4;4293:1;4286:15;4312:125;4377:9;;;4398:10;;;4395:36;;;4411:18;;:::i;4442:168::-;4515:9;;;4546;;4563:15;;;4557:22;;4543:37;4533:71;;4584:18;;:::i;4615:217::-;4655:1;4681;4671:132;;4725:10;4720:3;4716:20;4713:1;4706:31;4760:4;4757:1;4750:15;4788:4;4785:1;4778:15;4671:132;-1:-1:-1;4817:9:1;;4615:217::o;4837:128::-;4904:9;;;4925:11;;;4922:37;;;4939:18;;:::i;5508:127::-;5569:10;5564:3;5560:20;5557:1;5550:31;5600:4;5597:1;5590:15;5624:4;5621:1;5614:15;5640:251;5710:6;5763:2;5751:9;5742:7;5738:23;5734:32;5731:52;;;5779:1;5776;5769:12;5731:52;5811:9;5805:16;5830:31;5855:5;5830:31;:::i;5896:980::-;6158:4;6206:3;6195:9;6191:19;6237:6;6226:9;6219:25;6263:2;6301:6;6296:2;6285:9;6281:18;6274:34;6344:3;6339:2;6328:9;6324:18;6317:31;6368:6;6403;6397:13;6434:6;6426;6419:22;6472:3;6461:9;6457:19;6450:26;;6511:2;6503:6;6499:15;6485:29;;6532:1;6542:195;6556:6;6553:1;6550:13;6542:195;;;6621:13;;-1:-1:-1;;;;;6617:39:1;6605:52;;6712:15;;;;6677:12;;;;6653:1;6571:9;6542:195;;;-1:-1:-1;;;;;;;6793:32:1;;;;6788:2;6773:18;;6766:60;-1:-1:-1;;;6857:3:1;6842:19;6835:35;6754:3;5896:980;-1:-1:-1;;;5896:980:1:o;8062:306::-;8150:6;8158;8166;8219:2;8207:9;8198:7;8194:23;8190:32;8187:52;;;8235:1;8232;8225:12;8187:52;8264:9;8258:16;8248:26;;8314:2;8303:9;8299:18;8293:25;8283:35;;8358:2;8347:9;8343:18;8337:25;8327:35;;8062:306;;;;;:::o

Swarm Source

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