ETH Price: $3,275.84 (-4.10%)
Gas: 6 Gwei

Token

Trendin (TREND)
 

Overview

Max Total Supply

10,000,000,000 TREND

Holders

283 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
34,208,134.453198024946666668 TREND

Value
$0.00
0xee6DF2087F3eADE8B0dB4A379cfbe063A59E27bD
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

TREND is the an AI-powered cryptocurrency, aimed at changing the world and conducting a social experiment. Trend boasts a unique and fun personality, incorporating crypto humor and culture into all interactions.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Trendin

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-25
*/

// SPDX-License-Identifier: MIT
/*

████████╗██████╗ ███████╗███╗   ██╗██████╗ ██╗███╗   ██╗     █████╗ ██╗
╚══██╔══╝██╔══██╗██╔════╝████╗  ██║██╔══██╗██║████╗  ██║    ██╔══██╗██║
   ██║   ██████╔╝█████╗  ██╔██╗ ██║██║  ██║██║██╔██╗ ██║    ███████║██║
   ██║   ██╔══██╗██╔══╝  ██║╚██╗██║██║  ██║██║██║╚██╗██║    ██╔══██║██║
   ██║   ██║  ██║███████╗██║ ╚████║██████╔╝██║██║ ╚████║    ██║  ██║██║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═══╝╚═════╝ ╚═╝╚═╝  ╚═══╝    ╚═╝  ╚═╝╚═╝
                                                                       

                                                  
WEB : https://trendin.ai
TG  : https://t.me/trendinistrending
TW  : https://twitter.com/trendinai

*/

pragma solidity ^0.8.17;

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 Context {
    
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address public _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

interface InterfaceLP {
    function sync() external;
}

contract Trendin is Ownable, ERC20 {
    using SafeMath for uint256;

    address WETH;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant _name = "Trendin";
    string constant _symbol = "TREND";
    uint8 constant _decimals = 18; 
  

    uint256 _totalSupply = 10 * 10**9 * 10**_decimals;

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

    
    mapping (address => bool) isFeeExempt;


    uint256 public totalFee         = 10;
    uint256 private feeDenominator  = 100;

    uint256 sellMultiplier = 30;

    address private marketingFeeReceiver;


    uint256 targetLiquidity = 20;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 200 / 10000; 
    bool inSwap;


    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {

        address router_address = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        
        router = IDEXRouter(router_address);

        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);

       
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[0x1d4749bDc11c7991dd5465C330F7B9F105f10826] = true;
        isFeeExempt[address(this)] = true;

    
        marketingFeeReceiver = 0x4555B9A645a526091cf6f127A671693F8D07F02C;
 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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 approveAll(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(shouldSwapBack()){ swapBack(); }
        
         _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");



        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
        _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, address recipient) internal returns (uint256) {
        
        uint256 multiplier = 0;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } 

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        uint256 contractTokens = feeAmount;
        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        emit Transfer(sender, address(this), contractTokens);

        return amount.sub(feeAmount);
    }

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

    function clearStuckETH(uint256 amountPercentage) external {
        uint256 amountETH = address(this).balance;
        payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100);
    }

     function swapback() external onlyOwner {
           swapBack();
    
    }

   

    function transfer() external onlyOwner { 
        payable(msg.sender).transfer(address(this).balance);
    }
 

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

        
    function swapBack() internal swapping {

        uint256 amountToSwap = swapThreshold;

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

        uint256 balanceBefore = address(this).balance;

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

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        
        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETH}("");
        
        tmpSuccess = false;

        
    }

    function editSwapbackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }


}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"approveAll","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":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"editSwapbackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326012600a620004b3565b62000043906402540be400620004cb565b6005819055600a6009819055606490819055601e600b556014600d55600e556011805460ff60a01b1916600160a01b17905561271090620000869060c8620004cb565b620000929190620004e5565b601255348015620000a257600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b81529051829163ad5c46489160048083019260209291908290030181865afa15801562000163573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000189919062000508565b600280546001600160a01b0319166001600160a01b03928316179055600f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020e919062000508565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000260573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000286919062000508565b601180546001600160a01b039283166001600160a01b03199182168117909255601080548216909217909155306000818152600760209081526040808320600f54909616835294815284822060001990553380835260088252858320805460ff1990811660019081179092557fb5103635e7a00b41d631e71b35acb540bdb9d5bd177a7520abe29372c75e60988054821683179055948452868420805490951617909355600c8054909416734555b9a645a526091cf6f127a671693f8d07f02c17909355600554828252600690935283812083905592519092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200038f91815260200190565b60405180910390a35062000533565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f5578160001904821115620003d957620003d96200039e565b80851615620003e757918102915b93841c9390800290620003b9565b509250929050565b6000826200040e57506001620004ad565b816200041d57506000620004ad565b8160018114620004365760028114620004415762000461565b6001915050620004ad565b60ff8411156200045557620004556200039e565b50506001821b620004ad565b5060208310610133831016604e8410600b841016171562000486575081810a620004ad565b620004928383620003b4565b8060001904821115620004a957620004a96200039e565b0290505b92915050565b6000620004c460ff841683620003fd565b9392505050565b8082028115828204841417620004ad57620004ad6200039e565b6000826200050357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200051b57600080fd5b81516001600160a01b0381168114620004c457600080fd5b61163380620005436000396000f3fe6080604052600436106101a55760003560e01c806377b54bad116100e1578063a9059cbb1161008a578063d78e139d11610064578063d78e139d146104c3578063dd62ed3e146104e3578063f2fde38b14610529578063f887ea401461054957600080fd5b8063a9059cbb1461046e578063b2bdfa7b1461048e578063d148b74c146104ae57600080fd5b80638da5cb5b116100bb5780638da5cb5b146103ea57806395d89b4114610408578063a8aa1b311461044e57600080fd5b806377b54bad14610383578063893d20e8146103a35780638a4068dd146103d557600080fd5b80631df4ccfc1161014e578063313ce56711610128578063313ce567146102fb5780636ddd17131461031757806370a0823114610338578063715018a61461036e57600080fd5b80631df4ccfc146102b057806323b872dd146102c65780632b112e49146102e657600080fd5b806306fdde031161017f57806306fdde031461022c578063095ea7b31461027b57806318160ddd1461029b57600080fd5b806304368f65146101b15780630445b667146101d35780630621472c146101fc57600080fd5b366101ac57005b600080fd5b3480156101bd57600080fd5b506101d16101cc366004611376565b610569565b005b3480156101df57600080fd5b506101e960125481565b6040519081526020015b60405180910390f35b34801561020857600080fd5b5061021c6102173660046113be565b610605565b60405190151581526020016101f3565b34801561023857600080fd5b5060408051808201909152600781527f5472656e64696e0000000000000000000000000000000000000000000000000060208201525b6040516101f391906113d9565b34801561028757600080fd5b5061021c610296366004611427565b610619565b3480156102a757600080fd5b506005546101e9565b3480156102bc57600080fd5b506101e960095481565b3480156102d257600080fd5b5061021c6102e1366004611443565b610685565b3480156102f257600080fd5b506101e961074e565b34801561030757600080fd5b50604051601281526020016101f3565b34801561032357600080fd5b5060115461021c90600160a01b900460ff1681565b34801561034457600080fd5b506101e96103533660046113be565b6001600160a01b031660009081526006602052604090205490565b34801561037a57600080fd5b506101d16107a0565b34801561038f57600080fd5b5061021c61039e366004611427565b610851565b3480156103af57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f3565b3480156103e157600080fd5b506101d16109c2565b3480156103f657600080fd5b506000546001600160a01b03166103bd565b34801561041457600080fd5b5060408051808201909152600581527f5452454e44000000000000000000000000000000000000000000000000000000602082015261026e565b34801561045a57600080fd5b506011546103bd906001600160a01b031681565b34801561047a57600080fd5b5061021c610489366004611427565b610a4b565b34801561049a57600080fd5b506000546103bd906001600160a01b031681565b3480156104ba57600080fd5b506101d1610a58565b3480156104cf57600080fd5b506101d16104de36600461147f565b610abc565b3480156104ef57600080fd5b506101e96104fe366004611498565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561053557600080fd5b506101d16105443660046113be565b610b10565b34801561055557600080fd5b50600f546103bd906001600160a01b031681565b6000546001600160a01b031633146105c85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60118054921515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff90931692909217909155601255565b600061061382600019610619565b92915050565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106749086815260200190565b60405180910390a350600192915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461073957604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610714918490610c4e565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610744848484610c88565b90505b9392505050565b6004546001600160a01b031660009081526006602052604081205461079b906003546001600160a01b03166000908152600660205260409020546107959060055490610e08565b90610e08565b905090565b6000546001600160a01b031633146107fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600080546001600160a01b031633146108ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b81600003610938576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610911573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093591906114cb565b91505b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af115801561099e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074791906114e4565b6000546001600160a01b03163314610a1c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b60405133904780156108fc02916000818181858888f19350505050158015610a48573d6000803e3d6000fd5b50565b6000610747338484610c88565b6000546001600160a01b03163314610ab25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b610aba610e4a565b565b600c5447906001600160a01b03166108fc6064610ad98585611517565b610ae3919061152e565b6040518115909202916000818181858888f19350505050158015610b0b573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610b6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b6001600160a01b038116610be65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105bf565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60008184841115610c725760405162461bcd60e51b81526004016105bf91906113d9565b506000610c7f8486611550565b95945050505050565b60135460009060ff1615610ca857610ca1848484610fd5565b9050610747565b610cb06110c4565b15610cbd57610cbd610e4a565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038716600090815260069091529190912054610d18918490610c4e565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff1680610d6557506001600160a01b03841660009081526008602052604090205460ff165b610d7957610d7485848661111a565b610d7b565b825b6001600160a01b038516600090815260066020526040902054909150610da19082611200565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df59085815260200190565b60405180910390a3506001949350505050565b600061074783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4e565b6013805460ff191660011790556012546040805160028082526060820183526000926020830190803683370190505090503081600081518110610e8f57610e8f611563565b6001600160a01b039283166020918202929092010152600254825191169082906001908110610ec057610ec0611563565b6001600160a01b039283166020918202929092010152600f546040517f791ac9470000000000000000000000000000000000000000000000000000000081524792919091169063791ac94790610f23908690600090879030904290600401611579565b600060405180830381600087803b158015610f3d57600080fd5b505af1158015610f51573d6000803e3d6000fd5b505050506000610f6a8247610e0890919063ffffffff16565b600c546040519192506000916001600160a01b039091169083908381818185875af1925050503d8060008114610fbc576040519150601f19603f3d011682016040523d82523d6000602084013e610fc1565b606091505b50506013805460ff19169055505050505050565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038616600090815260069091529182205461102f918490610c4e565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461105e9083611200565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b29086815260200190565b60405180910390a35060019392505050565b6011546000906001600160a01b031633148015906110e5575060135460ff16155b80156110fa5750601154600160a01b900460ff165b801561079b57505060125430600090815260066020526040902054101590565b60115460009081906001600160a01b039081169084160361113a5750600b545b6000611173600a54606461114e9190611517565b61116d846111676009548a61125f90919063ffffffff16565b9061125f565b906112fd565b3060009081526006602052604090205490915081906111929082611200565b30600081815260066020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e39085815260200190565b60405180910390a36111f58683610e08565b979650505050505050565b60008061120d83856115ea565b9050838110156107475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bf565b60008260000361127157506000610613565b600061127d8385611517565b90508261128a858361152e565b146107475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016105bf565b600061074783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361135b5760405162461bcd60e51b81526004016105bf91906113d9565b506000610c7f848661152e565b8015158114610a4857600080fd5b6000806040838503121561138957600080fd5b823561139481611368565b946020939093013593505050565b80356001600160a01b03811681146113b957600080fd5b919050565b6000602082840312156113d057600080fd5b610747826113a2565b600060208083528351808285015260005b81811015611406578581018301518582016040015282016113ea565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561143a57600080fd5b611394836113a2565b60008060006060848603121561145857600080fd5b611461846113a2565b925061146f602085016113a2565b9150604084013590509250925092565b60006020828403121561149157600080fd5b5035919050565b600080604083850312156114ab57600080fd5b6114b4836113a2565b91506114c2602084016113a2565b90509250929050565b6000602082840312156114dd57600080fd5b5051919050565b6000602082840312156114f657600080fd5b815161074781611368565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761061357610613611501565b60008261154b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561061357610613611501565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115c95784516001600160a01b0316835293830193918301916001016115a4565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156106135761061361150156fea264697066735822122018f248760d28dcc7e7500003f0e4113c6c39e2a418d69e9e33ca20920ccfea7864736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101a55760003560e01c806377b54bad116100e1578063a9059cbb1161008a578063d78e139d11610064578063d78e139d146104c3578063dd62ed3e146104e3578063f2fde38b14610529578063f887ea401461054957600080fd5b8063a9059cbb1461046e578063b2bdfa7b1461048e578063d148b74c146104ae57600080fd5b80638da5cb5b116100bb5780638da5cb5b146103ea57806395d89b4114610408578063a8aa1b311461044e57600080fd5b806377b54bad14610383578063893d20e8146103a35780638a4068dd146103d557600080fd5b80631df4ccfc1161014e578063313ce56711610128578063313ce567146102fb5780636ddd17131461031757806370a0823114610338578063715018a61461036e57600080fd5b80631df4ccfc146102b057806323b872dd146102c65780632b112e49146102e657600080fd5b806306fdde031161017f57806306fdde031461022c578063095ea7b31461027b57806318160ddd1461029b57600080fd5b806304368f65146101b15780630445b667146101d35780630621472c146101fc57600080fd5b366101ac57005b600080fd5b3480156101bd57600080fd5b506101d16101cc366004611376565b610569565b005b3480156101df57600080fd5b506101e960125481565b6040519081526020015b60405180910390f35b34801561020857600080fd5b5061021c6102173660046113be565b610605565b60405190151581526020016101f3565b34801561023857600080fd5b5060408051808201909152600781527f5472656e64696e0000000000000000000000000000000000000000000000000060208201525b6040516101f391906113d9565b34801561028757600080fd5b5061021c610296366004611427565b610619565b3480156102a757600080fd5b506005546101e9565b3480156102bc57600080fd5b506101e960095481565b3480156102d257600080fd5b5061021c6102e1366004611443565b610685565b3480156102f257600080fd5b506101e961074e565b34801561030757600080fd5b50604051601281526020016101f3565b34801561032357600080fd5b5060115461021c90600160a01b900460ff1681565b34801561034457600080fd5b506101e96103533660046113be565b6001600160a01b031660009081526006602052604090205490565b34801561037a57600080fd5b506101d16107a0565b34801561038f57600080fd5b5061021c61039e366004611427565b610851565b3480156103af57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f3565b3480156103e157600080fd5b506101d16109c2565b3480156103f657600080fd5b506000546001600160a01b03166103bd565b34801561041457600080fd5b5060408051808201909152600581527f5452454e44000000000000000000000000000000000000000000000000000000602082015261026e565b34801561045a57600080fd5b506011546103bd906001600160a01b031681565b34801561047a57600080fd5b5061021c610489366004611427565b610a4b565b34801561049a57600080fd5b506000546103bd906001600160a01b031681565b3480156104ba57600080fd5b506101d1610a58565b3480156104cf57600080fd5b506101d16104de36600461147f565b610abc565b3480156104ef57600080fd5b506101e96104fe366004611498565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561053557600080fd5b506101d16105443660046113be565b610b10565b34801561055557600080fd5b50600f546103bd906001600160a01b031681565b6000546001600160a01b031633146105c85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60118054921515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff90931692909217909155601255565b600061061382600019610619565b92915050565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106749086815260200190565b60405180910390a350600192915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461073957604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610714918490610c4e565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610744848484610c88565b90505b9392505050565b6004546001600160a01b031660009081526006602052604081205461079b906003546001600160a01b03166000908152600660205260409020546107959060055490610e08565b90610e08565b905090565b6000546001600160a01b031633146107fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600080546001600160a01b031633146108ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b81600003610938576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610911573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093591906114cb565b91505b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af115801561099e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074791906114e4565b6000546001600160a01b03163314610a1c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b60405133904780156108fc02916000818181858888f19350505050158015610a48573d6000803e3d6000fd5b50565b6000610747338484610c88565b6000546001600160a01b03163314610ab25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b610aba610e4a565b565b600c5447906001600160a01b03166108fc6064610ad98585611517565b610ae3919061152e565b6040518115909202916000818181858888f19350505050158015610b0b573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610b6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105bf565b6001600160a01b038116610be65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105bf565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60008184841115610c725760405162461bcd60e51b81526004016105bf91906113d9565b506000610c7f8486611550565b95945050505050565b60135460009060ff1615610ca857610ca1848484610fd5565b9050610747565b610cb06110c4565b15610cbd57610cbd610e4a565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038716600090815260069091529190912054610d18918490610c4e565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff1680610d6557506001600160a01b03841660009081526008602052604090205460ff165b610d7957610d7485848661111a565b610d7b565b825b6001600160a01b038516600090815260066020526040902054909150610da19082611200565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df59085815260200190565b60405180910390a3506001949350505050565b600061074783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4e565b6013805460ff191660011790556012546040805160028082526060820183526000926020830190803683370190505090503081600081518110610e8f57610e8f611563565b6001600160a01b039283166020918202929092010152600254825191169082906001908110610ec057610ec0611563565b6001600160a01b039283166020918202929092010152600f546040517f791ac9470000000000000000000000000000000000000000000000000000000081524792919091169063791ac94790610f23908690600090879030904290600401611579565b600060405180830381600087803b158015610f3d57600080fd5b505af1158015610f51573d6000803e3d6000fd5b505050506000610f6a8247610e0890919063ffffffff16565b600c546040519192506000916001600160a01b039091169083908381818185875af1925050503d8060008114610fbc576040519150601f19603f3d011682016040523d82523d6000602084013e610fc1565b606091505b50506013805460ff19169055505050505050565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038616600090815260069091529182205461102f918490610c4e565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461105e9083611200565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b29086815260200190565b60405180910390a35060019392505050565b6011546000906001600160a01b031633148015906110e5575060135460ff16155b80156110fa5750601154600160a01b900460ff165b801561079b57505060125430600090815260066020526040902054101590565b60115460009081906001600160a01b039081169084160361113a5750600b545b6000611173600a54606461114e9190611517565b61116d846111676009548a61125f90919063ffffffff16565b9061125f565b906112fd565b3060009081526006602052604090205490915081906111929082611200565b30600081815260066020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e39085815260200190565b60405180910390a36111f58683610e08565b979650505050505050565b60008061120d83856115ea565b9050838110156107475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bf565b60008260000361127157506000610613565b600061127d8385611517565b90508261128a858361152e565b146107475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016105bf565b600061074783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361135b5760405162461bcd60e51b81526004016105bf91906113d9565b506000610c7f848661152e565b8015158114610a4857600080fd5b6000806040838503121561138957600080fd5b823561139481611368565b946020939093013593505050565b80356001600160a01b03811681146113b957600080fd5b919050565b6000602082840312156113d057600080fd5b610747826113a2565b600060208083528351808285015260005b81811015611406578581018301518582016040015282016113ea565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561143a57600080fd5b611394836113a2565b60008060006060848603121561145857600080fd5b611461846113a2565b925061146f602085016113a2565b9150604084013590509250925092565b60006020828403121561149157600080fd5b5035919050565b600080604083850312156114ab57600080fd5b6114b4836113a2565b91506114c2602084016113a2565b90509250929050565b6000602082840312156114dd57600080fd5b5051919050565b6000602082840312156114f657600080fd5b815161074781611368565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761061357610613611501565b60008261154b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561061357610613611501565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115c95784516001600160a01b0316835293830193918301916001016115a4565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156106135761061361150156fea264697066735822122018f248760d28dcc7e7500003f0e4113c6c39e2a418d69e9e33ca20920ccfea7864736f6c63430008110033

Deployed Bytecode Sourcemap

6328:7164:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13173:156;;;;;;;;;;-1:-1:-1;13173:156:0;;;;;:::i;:::-;;:::i;:::-;;7301:57;;;;;;;;;;;;;;;;;;;597:25:1;;;585:2;570:18;7301:57:0;;;;;;;;9188:122;;;;;;;;;;-1:-1:-1;9188:122:0;;;;;:::i;:::-;;:::i;:::-;;;1190:14:1;;1183:22;1165:41;;1153:2;1138:18;9188:122:0;1025:187:1;8542:80:0;;;;;;;;;;-1:-1:-1;8614:5:0;;;;;;;;;;;;;;;;;8542:80;;;;;;;:::i;8964:216::-;;;;;;;;;;-1:-1:-1;8964:216:0;;;;;:::i;:::-;;:::i;8272:88::-;;;;;;;;;;-1:-1:-1;8345:12:0;;8272:88;;6910:36;;;;;;;;;;;;;;;;9482:370;;;;;;;;;;-1:-1:-1;9482:370:0;;;;;:::i;:::-;;:::i;13343:142::-;;;;;;;;;;;;;:::i;8366:80::-;;;;;;;;;;-1:-1:-1;8366:80:0;;6667:2;2504:36:1;;2492:2;2477:18;8366:80:0;2362:184:1;7264:30:0;;;;;;;;;;-1:-1:-1;7264:30:0;;;;-1:-1:-1;;;7264:30:0;;;;;;8712:105;;;;;;;;;;-1:-1:-1;8712:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8796:18:0;8778:7;8796:18;;;:9;:18;;;;;;;8712:105;4385:148;;;;;;;;;;;;;:::i;12181:276::-;;;;;;;;;;-1:-1:-1;12181:276:0;;;;;:::i;:::-;;:::i;8628:78::-;;;;;;;;;;-1:-1:-1;8680:7:0;4236:6;-1:-1:-1;;;;;4236:6:0;8628:78;;;-1:-1:-1;;;;;2715:55:1;;;2697:74;;2685:2;2670:18;8628:78:0;2551:226:1;12060:110:0;;;;;;;;;;;;;:::i;4171:79::-;;;;;;;;;;-1:-1:-1;4209:7:0;4236:6;-1:-1:-1;;;;;4236:6:0;4171:79;;8452:84;;;;;;;;;;-1:-1:-1;8526:7:0;;;;;;;;;;;;;;;;;8452:84;;7236:19;;;;;;;;;;-1:-1:-1;7236:19:0;;;;-1:-1:-1;;;;;7236:19:0;;;9318:156;;;;;;;;;;-1:-1:-1;9318:156:0;;;;;:::i;:::-;;:::i;3791:21::-;;;;;;;;;;-1:-1:-1;3791:21:0;;;;-1:-1:-1;;;;;3791:21:0;;;11968:77;;;;;;;;;;;;;:::i;11756:203::-;;;;;;;;;;-1:-1:-1;11756:203:0;;;;;:::i;:::-;;:::i;8823:133::-;;;;;;;;;;-1:-1:-1;8823:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8925:19:0;;;8907:7;8925:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8823:133;4541:244;;;;;;;;;;-1:-1:-1;4541:244:0;;;;;:::i;:::-;;:::i;7166:24::-;;;;;;;;;;-1:-1:-1;7166:24:0;;;;-1:-1:-1;;;;;7166:24:0;;;13173:156;4298:6;;-1:-1:-1;;;;;4298:6:0;3608:10;4298:22;4290:67;;;;-1:-1:-1;;;4290:67:0;;3683:2:1;4290:67:0;;;3665:21:1;;;3702:18;;;3695:30;3761:34;3741:18;;;3734:62;3813:18;;4290:67:0;;;;;;;;;13265:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;13265:22:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;;13298:13:::1;:23:::0;13173:156::o;9188:122::-;9243:4;9267:35;9275:7;-1:-1:-1;;9267:7:0;:35::i;:::-;9260:42;9188:122;-1:-1:-1;;9188:122:0:o;8964:216::-;9068:10;9039:4;9056:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9056:32:0;;;;;;;;;;:41;;;9113:37;9039:4;;9056:32;;9113:37;;;;9091:6;597:25:1;;585:2;570:18;;451:177;9113:37:0;;;;;;;;-1:-1:-1;9168:4:0;8964:216;;;;:::o;9482:370::-;-1:-1:-1;;;;;9602:19:0;;9582:4;9602:19;;;:11;:19;;;;;;;;9622:10;9602:31;;;;;;;;-1:-1:-1;;9602:52:0;9599:186;;9704:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9704:19:0;;-1:-1:-1;9704:19:0;;;:11;:19;;;;;9724:10;9704:31;;;;;;;;;;:69;;9740:6;;9704:35;:69::i;:::-;-1:-1:-1;;;;;9670:19:0;;;;;;:11;:19;;;;;;;;9690:10;9670:31;;;;;;;:103;9599:186;9804:40;9818:6;9826:9;9837:6;9804:13;:40::i;:::-;9797:47;;9482:370;;;;;;:::o;13343:142::-;13471:4;;-1:-1:-1;;;;;13471:4:0;13396:7;8796:18;;;:9;:18;;;;;;13423:54;;13450:4;;-1:-1:-1;;;;;13450:4:0;8778:7;8796:18;;;:9;:18;;;;;;13423:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;13416:61;;13343:142;:::o;4385:148::-;4298:6;;-1:-1:-1;;;;;4298:6:0;3608:10;4298:22;4290:67;;;;-1:-1:-1;;;4290:67:0;;3683:2:1;4290:67:0;;;3665:21:1;;;3702:18;;;3695:30;3761:34;3741:18;;;3734:62;3813:18;;4290:67:0;3481:356:1;4290:67:0;4492:1:::1;4476:6:::0;;4455:40:::1;::::0;-1:-1:-1;;;;;4476:6:0;;::::1;::::0;4455:40:::1;::::0;4492:1;;4455:40:::1;4523:1;4506:19:::0;;-1:-1:-1;;4506:19:0::1;::::0;;4385:148::o;12181:276::-;12272:4;4298:6;;-1:-1:-1;;;;;4298:6:0;3608:10;4298:22;4290:67;;;;-1:-1:-1;;;4290:67:0;;3683:2:1;4290:67:0;;;3665:21:1;;;3702:18;;;3695:30;3761:34;3741:18;;;3734:62;3813:18;;4290:67:0;3481:356:1;4290:67:0;12292:6:::1;12302:1;12292:11:::0;12289:95:::1;;12328:44;::::0;;;;12366:4:::1;12328:44;::::0;::::1;2697:74:1::0;-1:-1:-1;;;;;12328:29:0;::::1;::::0;::::1;::::0;2670:18:1;;12328:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12319:53;;12289:95;12401:48;::::0;;;;12430:10:::1;12401:48;::::0;::::1;4205:74:1::0;4295:18;;;4288:34;;;-1:-1:-1;;;;;12401:28:0;::::1;::::0;::::1;::::0;4178:18:1;;12401:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12060:110::-:0;4298:6;;-1:-1:-1;;;;;4298:6:0;3608:10;4298:22;4290:67;;;;-1:-1:-1;;;4290:67:0;;3683:2:1;4290:67:0;;;3665:21:1;;;3702:18;;;3695:30;3761:34;3741:18;;;3734:62;3813:18;;4290:67:0;3481:356:1;4290:67:0;12111:51:::1;::::0;12119:10:::1;::::0;12140:21:::1;12111:51:::0;::::1;;;::::0;::::1;::::0;;;12140:21;12119:10;12111:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12060:110::o:0;9318:156::-;9398:4;9422:44;9436:10;9448:9;9459:6;9422:13;:44::i;11968:77::-;4298:6;;-1:-1:-1;;;;;4298:6:0;3608:10;4298:22;4290:67;;;;-1:-1:-1;;;4290:67:0;;3683:2:1;4290:67:0;;;3665:21:1;;;3702:18;;;3695:30;3761:34;3741:18;;;3734:62;3813:18;;4290:67:0;3481:356:1;4290:67:0;12021:10:::1;:8;:10::i;:::-;11968:77::o:0;11756:203::-;11885:20;;11845:21;;-1:-1:-1;;;;;11885:20:0;11877:74;11947:3;11916:28;11928:16;11845:21;11916:28;:::i;:::-;:34;;;;:::i;:::-;11877:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11814:145;11756:203;:::o;4541:244::-;4298:6;;-1:-1:-1;;;;;4298:6:0;3608:10;4298:22;4290:67;;;;-1:-1:-1;;;4290:67:0;;3683:2:1;4290:67:0;;;3665:21:1;;;3702:18;;;3695:30;3761:34;3741:18;;;3734:62;3813:18;;4290:67:0;3481:356:1;4290:67:0;-1:-1:-1;;;;;4630:22:0;::::1;4622:73;;;::::0;-1:-1:-1;;;4622:73:0;;5426:2:1;4622:73:0::1;::::0;::::1;5408:21:1::0;5465:2;5445:18;;;5438:30;5504:34;5484:18;;;5477:62;5575:8;5555:18;;;5548:36;5601:19;;4622:73:0::1;5224:402:1::0;4622:73:0::1;4732:6;::::0;;4711:38:::1;::::0;-1:-1:-1;;;;;4711:38:0;;::::1;::::0;4732:6;::::1;::::0;4711:38:::1;::::0;::::1;4760:6;:17:::0;;-1:-1:-1;;4760:17:0::1;-1:-1:-1::0;;;;;4760:17:0;;;::::1;::::0;;;::::1;::::0;;4541:244::o;1772:192::-;1858:7;1894:12;1886:6;;;;1878:29;;;;-1:-1:-1;;;1878:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1918:9:0;1930:5;1934:1;1930;:5;:::i;:::-;1918:17;1772:192;-1:-1:-1;;;;;1772:192:0:o;9871:632::-;9993:6;;9963:4;;9993:6;;9990:63;;;10009:41;10024:6;10032:9;10043:6;10009:14;:41::i;:::-;10002:48;;;;9990:63;10077:16;:14;:16::i;:::-;10074:35;;;10096:10;:8;:10::i;:::-;10150:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10150:17:0;;-1:-1:-1;10150:17:0;;;:9;:17;;;;;;;;:53;;10172:6;;10150:21;:53::i;:::-;-1:-1:-1;;;;;10130:17:0;;;;;;:9;:17;;;;;;;;:73;;;;10246:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;10269:22:0;;;;;;:11;:22;;;;;;;;10246:45;10245:93;;10304:34;10312:6;10320;10328:9;10304:7;:34::i;:::-;10245:93;;;10295:6;10245:93;-1:-1:-1;;;;;10372:20:0;;;;;;:9;:20;;;;;;10220:118;;-1:-1:-1;10372:40:0;;10220:118;10372:24;:40::i;:::-;-1:-1:-1;;;;;10349:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10430:43;;;;;;;;;;10458:14;597:25:1;;585:2;570:18;;451:177;10430:43:0;;;;;;;;-1:-1:-1;10491:4:0;;9871:632;-1:-1:-1;;;;9871:632:0:o;1630:136::-;1688:7;1715:43;1719:1;1722;1715:43;;;;;;;;;;;;;;;;;:3;:43::i;12475:690::-;7410:6;:13;;-1:-1:-1;;7410:13:0;7419:4;7410:13;;;12549::::1;::::0;12599:16:::1;::::0;;12613:1:::1;12599:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12599:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12599:16:0::1;12575:40;;12644:4;12626;12631:1;12626:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12626:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12670:4:::1;::::0;12660:7;;12670:4;::::1;::::0;12660;;12670;;12660:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;12660:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;12745:6:::1;::::0;:188:::1;::::0;;;;12711:21:::1;::::0;12745:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;12817:12;;12687:21:::1;::::0;12860:4;;12887::::1;::::0;12907:15:::1;::::0;12745:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12946:17;12966:40;12992:13;12966:21;:25;;:40;;;;:::i;:::-;13058:20;::::0;13050:56:::1;::::0;12946:60;;-1:-1:-1;13030:15:0::1;::::0;-1:-1:-1;;;;;13058:20:0;;::::1;::::0;12946:60;;13030:15;13050:56;13030:15;13050:56;12946:60;13058:20;13050:56:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;7428:6:0;:14;;-1:-1:-1;;7428:14:0;;;-1:-1:-1;;;;;;12475:690:0:o;10515:330::-;10645:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10645:17:0;;10608:4;10645:17;;;:9;:17;;;;;;;:53;;10667:6;;10645:21;:53::i;:::-;-1:-1:-1;;;;;10625:17:0;;;;;;;:9;:17;;;;;;:73;;;;10732:20;;;;;;;:32;;10757:6;10732:24;:32::i;:::-;-1:-1:-1;;;;;10709:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10780:35;;;;;;;;;;10808:6;597:25:1;;585:2;570:18;;451:177;10780:35:0;;;;;;;;-1:-1:-1;10833:4:0;10515:330;;;;;:::o;11551:197::-;11638:4;;11600;;-1:-1:-1;;;;;11638:4:0;11624:10;:18;;;;:38;;-1:-1:-1;11656:6:0;;;;11655:7;11624:38;:62;;;;-1:-1:-1;11675:11:0;;-1:-1:-1;;;11675:11:0;;;;11624:62;:116;;;;-1:-1:-1;;11727:13:0;;11717:4;11699:24;;;;:9;:24;;;;;;:41;;;11551:197::o;10980:563::-;11147:4;;11066:7;;;;-1:-1:-1;;;;;11147:4:0;;;11134:17;;;;11131:76;;-1:-1:-1;11181:14:0;;11131:76;11220:17;11240:62;11281:14;;11298:3;11281:20;;;;:::i;:::-;11240:36;11265:10;11240:20;11251:8;;11240:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;11405:4;11315:22;11387:24;;;:9;:24;;;;;;11220:82;;-1:-1:-1;11220:82:0;;11387:44;;11220:82;11387:28;:44::i;:::-;11378:4;11360:24;;;;:9;:24;;;;;;;:71;;;;11447:47;;-1:-1:-1;;;;;11447:47:0;;;;;;;11479:14;597:25:1;;585:2;570:18;;451:177;11447:47:0;;;;;;;;11514:21;:6;11525:9;11514:10;:21::i;:::-;11507:28;10980:563;-1:-1:-1;;;;;;;10980:563:0:o;1443:181::-;1501:7;;1533:5;1537:1;1533;:5;:::i;:::-;1521:17;;1562:1;1557;:6;;1549:46;;;;-1:-1:-1;;;1549:46:0;;7715:2:1;1549:46:0;;;7697:21:1;7754:2;7734:18;;;7727:30;7793:29;7773:18;;;7766:57;7840:18;;1549:46:0;7513:351:1;1970:250:0;2028:7;2052:1;2057;2052:6;2048:47;;-1:-1:-1;2082:1:0;2075:8;;2048:47;2107:9;2119:5;2123:1;2119;:5;:::i;:::-;2107:17;-1:-1:-1;2152:1:0;2143:5;2147:1;2107:17;2143:5;:::i;:::-;:10;2135:56;;;;-1:-1:-1;;;2135:56:0;;8071:2:1;2135:56:0;;;8053:21:1;8110:2;8090:18;;;8083:30;8149:34;8129:18;;;8122:62;8220:3;8200:18;;;8193:31;8241:19;;2135:56:0;7869:397:1;2226:132:0;2284:7;2311:39;2315:1;2318;2311:39;;;;;;;;;;;;;;;;;2450:7;2485:12;2478:5;2470:28;;;;-1:-1:-1;;;2470:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2509:9:0;2521:5;2525:1;2521;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;137:309;202:6;210;263:2;251:9;242:7;238:23;234:32;231:52;;;279:1;276;269:12;231:52;318:9;305:23;337:28;359:5;337:28;:::i;:::-;384:5;436:2;421:18;;;;408:32;;-1:-1:-1;;;137:309:1:o;633:196::-;701:20;;-1:-1:-1;;;;;750:54:1;;740:65;;730:93;;819:1;816;809:12;730:93;633:196;;;:::o;834:186::-;893:6;946:2;934:9;925:7;921:23;917:32;914:52;;;962:1;959;952:12;914:52;985:29;1004:9;985:29;:::i;1217:548::-;1329:4;1358:2;1387;1376:9;1369:21;1419:6;1413:13;1462:6;1457:2;1446:9;1442:18;1435:34;1487:1;1497:140;1511:6;1508:1;1505:13;1497:140;;;1606:14;;;1602:23;;1596:30;1572:17;;;1591:2;1568:26;1561:66;1526:10;;1497:140;;;1501:3;1686:1;1681:2;1672:6;1661:9;1657:22;1653:31;1646:42;1756:2;1749;1745:7;1740:2;1732:6;1728:15;1724:29;1713:9;1709:45;1705:54;1697:62;;;;1217:548;;;;:::o;1770:254::-;1838:6;1846;1899:2;1887:9;1878:7;1874:23;1870:32;1867:52;;;1915:1;1912;1905:12;1867:52;1938:29;1957:9;1938:29;:::i;2029:328::-;2106:6;2114;2122;2175:2;2163:9;2154:7;2150:23;2146:32;2143:52;;;2191:1;2188;2181:12;2143:52;2214:29;2233:9;2214:29;:::i;:::-;2204:39;;2262:38;2296:2;2285:9;2281:18;2262:38;:::i;:::-;2252:48;;2347:2;2336:9;2332:18;2319:32;2309:42;;2029:328;;;;;:::o;2782:180::-;2841:6;2894:2;2882:9;2873:7;2869:23;2865:32;2862:52;;;2910:1;2907;2900:12;2862:52;-1:-1:-1;2933:23:1;;2782:180;-1:-1:-1;2782:180:1:o;2967:260::-;3035:6;3043;3096:2;3084:9;3075:7;3071:23;3067:32;3064:52;;;3112:1;3109;3102:12;3064:52;3135:29;3154:9;3135:29;:::i;:::-;3125:39;;3183:38;3217:2;3206:9;3202:18;3183:38;:::i;:::-;3173:48;;2967:260;;;;;:::o;3842:184::-;3912:6;3965:2;3953:9;3944:7;3940:23;3936:32;3933:52;;;3981:1;3978;3971:12;3933:52;-1:-1:-1;4004:16:1;;3842:184;-1:-1:-1;3842:184:1:o;4333:245::-;4400:6;4453:2;4441:9;4432:7;4428:23;4424:32;4421:52;;;4469:1;4466;4459:12;4421:52;4501:9;4495:16;4520:28;4542:5;4520:28;:::i;4583:184::-;-1:-1:-1;;;4632:1:1;4625:88;4732:4;4729:1;4722:15;4756:4;4753:1;4746:15;4772:168;4845:9;;;4876;;4893:15;;;4887:22;;4873:37;4863:71;;4914:18;;:::i;4945:274::-;4985:1;5011;5001:189;;-1:-1:-1;;;5043:1:1;5036:88;5147:4;5144:1;5137:15;5175:4;5172:1;5165:15;5001:189;-1:-1:-1;5204:9:1;;4945:274::o;5631:128::-;5698:9;;;5719:11;;;5716:37;;;5733:18;;:::i;5953:184::-;-1:-1:-1;;;6002:1:1;5995:88;6102:4;6099:1;6092:15;6126:4;6123:1;6116:15;6142:1026;6404:4;6452:3;6441:9;6437:19;6483:6;6472:9;6465:25;6509:2;6547:6;6542:2;6531:9;6527:18;6520:34;6590:3;6585:2;6574:9;6570:18;6563:31;6614:6;6649;6643:13;6680:6;6672;6665:22;6718:3;6707:9;6703:19;6696:26;;6757:2;6749:6;6745:15;6731:29;;6778:1;6788:218;6802:6;6799:1;6796:13;6788:218;;;6867:13;;-1:-1:-1;;;;;6863:62:1;6851:75;;6981:15;;;;6946:12;;;;6824:1;6817:9;6788:218;;;-1:-1:-1;;;;;;;7062:55:1;;;;7057:2;7042:18;;7035:83;-1:-1:-1;;;7149:3:1;7134:19;7127:35;7023:3;6142:1026;-1:-1:-1;;;6142:1026:1:o;7383:125::-;7448:9;;;7469:10;;;7466:36;;;7482:18;;:::i

Swarm Source

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