ETH Price: $2,507.53 (+0.29%)

Token

Flubber (FLUB)
 

Overview

Max Total Supply

1,000,000,000 FLUB

Holders

73

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
spx-coach.eth
Balance
33,541,370.374779011 FLUB

Value
$0.00
0x3f7309ff948c8ccb4c6617b1f4955ca543534086
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:
FLUB

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-10-28
*/

// SPDX-License-Identifier: MIT

/*
Flubber token is a unique meme cryptocurrency project that stands out from the crowd. Unlike typical crypto ventures, it places a strong emphasis on community involvement and ownership. In Flubber token, there are no team members hoarding tokens; instead, every token is held by members of the lively community. This approach ensures a fair distribution of power.


Website: https://www.flubber.live
Telegram: https://t.me/flub_erc
Twitter: https://twitter.com/flub_erc
*/

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

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

interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address uniswapPair);
}

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

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

    string constant _name = "Flubber";
    string constant _symbol = "FLUB";
    uint8 constant _decimals = 9;

    uint256 _tTotal = 1_000_000_000 * (10 ** _decimals);
    uint256 public _maxWallet = (_tTotal * 2) / 100;
    uint256 public _maxFeeSwap = (_tTotal * 1) / 10000;

    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isExemptFee;
    mapping (address => bool) isTxExempt;

    uint256 liquidityFee = 0;
    uint256 marketingFee = 1;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address private _taxWallet = 0x707097c40056c3147DBE814949f0224B5A6Ac76d;

    IUniswapRouter public uniswapRouter;
    address public uniswapPair;

    bool public swapEnabled = true;
    uint256 public _swapThreshold = _tTotal / 10000; // 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

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

        address _owner = owner;
        isExemptFee[_taxWallet] = true;
        isTxExempt[_owner] = true;
        isTxExempt[_taxWallet] = true;
        isTxExempt[DEAD] = true;

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

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _tTotal; }
    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 transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
           
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != uniswapPair && recipient != DEAD) {
            require(isTxExempt[recipient] || _balances[recipient] + amount <= _maxWallet, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack() && recipient == uniswapPair && !isExemptFee[sender] && amount > _maxFeeSwap){ swapBack(); } 

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        uint256 amountSent = (!shouldTakeFee(sender) && _balances[sender] <= _maxWallet) ? amount - amountReceived: amount;
        _balances[sender] = _balances[sender].sub(amountSent, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function shouldSwapBack() internal view returns (bool) {
        return !inSwap
        && swapEnabled
        && _balances[address(this)] >= _swapThreshold;
    }
    
    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;
    }
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }
    
    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

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

    function swapBack() internal swapping {
        uint256 contractTokenBalance = _swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

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


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

        if(amountToLiquify > 0){
            uniswapRouter.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0x26B42fd301110B3e9784eBE4D13d3196e3DcdF57,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function removeLimits() external onlyOwner {
      _maxWallet = _tTotal;
    }
    
    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":"_maxFeeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","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":[{"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004a1565b6200002290633b9aca00620004b9565b60015560646001546002620000389190620004b9565b620000449190620004d3565b60025561271060015460016200005b9190620004b9565b620000679190620004d3565b600355600480546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556005805490911661dead1790556000600a8190556001600b819055620000b991620004f6565b600c556064600d55600e80546001600160a01b03191673707097c40056c3147dbe814949f0224b5a6ac76d1790556010805460ff60a01b1916600160a01b1790556001546200010c9061271090620004d3565b6011553480156200011c57600080fd5b5060008054336001600160a01b03199182161790915560048054600f80546001600160a01b039092169190931681179092556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa15801562000187573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ad91906200050c565b6001600160a01b031663c9c65396600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023591906200050c565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a891906200050c565b601080546001600160a01b0319166001600160a01b03928316179055306000908152600760209081526040808320600f5485168452825280832060001990558254600e80548616855260088452828520805460ff199081166001908117909255928716808752600986528487208054851683179055915487168652838620805484168217905560055490961685528285208054909216861790915593548484526006835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000537565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003e3578160001904821115620003c757620003c76200038c565b80851615620003d557918102915b93841c9390800290620003a7565b509250929050565b600082620003fc575060016200049b565b816200040b575060006200049b565b81600181146200042457600281146200042f576200044f565b60019150506200049b565b60ff8411156200044357620004436200038c565b50506001821b6200049b565b5060208310610133831016604e8410600b841016171562000474575081810a6200049b565b620004808383620003a2565b80600019048211156200049757620004976200038c565b0290505b92915050565b6000620004b260ff841683620003eb565b9392505050565b80820281158282048414176200049b576200049b6200038c565b600082620004f157634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200049b576200049b6200038c565b6000602082840312156200051f57600080fd5b81516001600160a01b0381168114620004b257600080fd5b6112db80620005476000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063893d20e811610064578063893d20e81461032157806395d89b411461033f578063a9059cbb1461036c578063c816841b1461038c578063dd62ed3e146103ac57600080fd5b806370a0823114610271578063715018a6146102a7578063735de9f7146102be578063751039fc146102f657806382247ec01461030b57600080fd5b806323b872dd116100e757806323b872dd146101cf5780632f54bf6e146101ef578063313ce5671461021e578063515c8db81461023a5780636ddd17131461025057600080fd5b806306fdde0314610124578063095ea7b3146101665780630e5a92311461019657806318160ddd146101ba57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600781526623363ab13132b960c91b60208201525b60405161015d9190611035565b60405180910390f35b34801561017257600080fd5b5061018661018136600461109b565b6103f2565b604051901515815260200161015d565b3480156101a257600080fd5b506101ac60115481565b60405190815260200161015d565b3480156101c657600080fd5b506001546101ac565b3480156101db57600080fd5b506101866101ea3660046110c7565b61045f565b3480156101fb57600080fd5b5061018661020a366004611108565b6000546001600160a01b0391821691161490565b34801561022a57600080fd5b506040516009815260200161015d565b34801561024657600080fd5b506101ac60035481565b34801561025c57600080fd5b5060105461018690600160a01b900460ff1681565b34801561027d57600080fd5b506101ac61028c366004611108565b6001600160a01b031660009081526006602052604090205490565b3480156102b357600080fd5b506102bc610521565b005b3480156102ca57600080fd5b50600f546102de906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b34801561030257600080fd5b506102bc6105ae565b34801561031757600080fd5b506101ac60025481565b34801561032d57600080fd5b506000546001600160a01b03166102de565b34801561034b57600080fd5b5060408051808201909152600481526323262aa160e11b6020820152610150565b34801561037857600080fd5b5061018661038736600461109b565b6105f9565b34801561039857600080fd5b506010546102de906001600160a01b031681565b3480156103b857600080fd5b506101ac6103c7366004611125565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061044d9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461050c576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546104e7918490610606565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610517848484610640565b90505b9392505050565b6000546001600160a01b031633146105695760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146105f15760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610560565b600154600255565b600061051a338484610640565b6000818484111561062a5760405162461bcd60e51b81526004016105609190611035565b5060006106378486611174565b95945050505050565b60125460009060ff161561066057610659848484610929565b905061051a565b6010546001600160a01b0384811691161480159061068c57506005546001600160a01b03848116911614155b15610737576001600160a01b03831660009081526009602052604090205460ff16806106dd57506002546001600160a01b0384166000908152600660205260409020546106da908490611187565b11155b6107375760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610560565b61073f610a0f565b801561075857506010546001600160a01b038481169116145b801561077d57506001600160a01b03841660009081526008602052604090205460ff16155b801561078a575060035482115b1561079757610797610a50565b6001600160a01b03841660009081526008602052604081205460ff16156107be57826107c8565b6107c88584610dfc565b905060006107ef866001600160a01b031660009081526008602052604090205460ff161590565b15801561081657506002546001600160a01b03871660009081526006602052604090205411155b610820578361082a565b61082a8285611174565b90506108928160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008a6001600160a01b03166001600160a01b03168152602001908152602001600020546106069092919063ffffffff16565b6001600160a01b0380881660009081526006602052604080822093909355908716815220546108c19083610ea2565b6001600160a01b0380871660008181526006602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109159086815260200190565b60405180910390a350600195945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461097a918490610606565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546109a99083610ea2565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109fd9086815260200190565b60405180910390a35060019392505050565b60125460009060ff16158015610a2e5750601054600160a01b900460ff165b8015610a4b57506011543060009081526006602052604090205410155b905090565b6012805460ff19166001179055601154600c54600a54600091610a8391600291610a7d9182908790610f01565b90610f83565b90506000610a918383610fc5565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610acb57610acb61119a565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4891906111b0565b81600181518110610b5b57610b5b61119a565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b81524792919091169063791ac94790610ba59086906000908790309042906004016111cd565b600060405180830381600087803b158015610bbf57600080fd5b505af1158015610bd3573d6000803e3d6000fd5b505050506000610bec8247610fc590919063ffffffff16565b90506000610c12610c096002600a54610f8390919063ffffffff16565b600c5490610fc5565b90506000610c346002610a7d84610a7d600a5488610f0190919063ffffffff16565b90506000610c5183610a7d600b5487610f0190919063ffffffff16565b600e546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610ca8576040519150601f19603f3d011682016040523d82523d6000602084013e610cad565b606091505b5050905080610cfe5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610560565b8815610de657600f5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527326b42fd301110b3e9784ebe4d13d3196e3dcdf5760848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610d84573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da9919061123e565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506012805460ff191690555050505050505050565b600080610e1a600d54610a7d600c5486610f0190919063ffffffff16565b30600090815260066020526040902054909150610e379082610ea2565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e889085815260200190565b60405180910390a3610e9a8382610fc5565b949350505050565b600080610eaf8385611187565b90508381101561051a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610560565b600082600003610f1357506000610459565b6000610f1f838561126c565b905082610f2c8583611283565b1461051a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610560565b600061051a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611007565b600061051a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610606565b600081836110285760405162461bcd60e51b81526004016105609190611035565b5060006106378486611283565b600060208083528351808285015260005b8181101561106257858101830151858201604001528201611046565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461109857600080fd5b50565b600080604083850312156110ae57600080fd5b82356110b981611083565b946020939093013593505050565b6000806000606084860312156110dc57600080fd5b83356110e781611083565b925060208401356110f781611083565b929592945050506040919091013590565b60006020828403121561111a57600080fd5b813561051a81611083565b6000806040838503121561113857600080fd5b823561114381611083565b9150602083013561115381611083565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104595761045961115e565b808201808211156104595761045961115e565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111c257600080fd5b815161051a81611083565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561121d5784516001600160a01b0316835293830193918301916001016111f8565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561125357600080fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176104595761045961115e565b6000826112a057634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212203192d1e0eb2074bd6ed7265560be772841e9d917d717ab976d075b646ef1810764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063893d20e811610064578063893d20e81461032157806395d89b411461033f578063a9059cbb1461036c578063c816841b1461038c578063dd62ed3e146103ac57600080fd5b806370a0823114610271578063715018a6146102a7578063735de9f7146102be578063751039fc146102f657806382247ec01461030b57600080fd5b806323b872dd116100e757806323b872dd146101cf5780632f54bf6e146101ef578063313ce5671461021e578063515c8db81461023a5780636ddd17131461025057600080fd5b806306fdde0314610124578063095ea7b3146101665780630e5a92311461019657806318160ddd146101ba57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600781526623363ab13132b960c91b60208201525b60405161015d9190611035565b60405180910390f35b34801561017257600080fd5b5061018661018136600461109b565b6103f2565b604051901515815260200161015d565b3480156101a257600080fd5b506101ac60115481565b60405190815260200161015d565b3480156101c657600080fd5b506001546101ac565b3480156101db57600080fd5b506101866101ea3660046110c7565b61045f565b3480156101fb57600080fd5b5061018661020a366004611108565b6000546001600160a01b0391821691161490565b34801561022a57600080fd5b506040516009815260200161015d565b34801561024657600080fd5b506101ac60035481565b34801561025c57600080fd5b5060105461018690600160a01b900460ff1681565b34801561027d57600080fd5b506101ac61028c366004611108565b6001600160a01b031660009081526006602052604090205490565b3480156102b357600080fd5b506102bc610521565b005b3480156102ca57600080fd5b50600f546102de906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b34801561030257600080fd5b506102bc6105ae565b34801561031757600080fd5b506101ac60025481565b34801561032d57600080fd5b506000546001600160a01b03166102de565b34801561034b57600080fd5b5060408051808201909152600481526323262aa160e11b6020820152610150565b34801561037857600080fd5b5061018661038736600461109b565b6105f9565b34801561039857600080fd5b506010546102de906001600160a01b031681565b3480156103b857600080fd5b506101ac6103c7366004611125565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061044d9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461050c576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546104e7918490610606565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610517848484610640565b90505b9392505050565b6000546001600160a01b031633146105695760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146105f15760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610560565b600154600255565b600061051a338484610640565b6000818484111561062a5760405162461bcd60e51b81526004016105609190611035565b5060006106378486611174565b95945050505050565b60125460009060ff161561066057610659848484610929565b905061051a565b6010546001600160a01b0384811691161480159061068c57506005546001600160a01b03848116911614155b15610737576001600160a01b03831660009081526009602052604090205460ff16806106dd57506002546001600160a01b0384166000908152600660205260409020546106da908490611187565b11155b6107375760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610560565b61073f610a0f565b801561075857506010546001600160a01b038481169116145b801561077d57506001600160a01b03841660009081526008602052604090205460ff16155b801561078a575060035482115b1561079757610797610a50565b6001600160a01b03841660009081526008602052604081205460ff16156107be57826107c8565b6107c88584610dfc565b905060006107ef866001600160a01b031660009081526008602052604090205460ff161590565b15801561081657506002546001600160a01b03871660009081526006602052604090205411155b610820578361082a565b61082a8285611174565b90506108928160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008a6001600160a01b03166001600160a01b03168152602001908152602001600020546106069092919063ffffffff16565b6001600160a01b0380881660009081526006602052604080822093909355908716815220546108c19083610ea2565b6001600160a01b0380871660008181526006602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109159086815260200190565b60405180910390a350600195945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461097a918490610606565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546109a99083610ea2565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109fd9086815260200190565b60405180910390a35060019392505050565b60125460009060ff16158015610a2e5750601054600160a01b900460ff165b8015610a4b57506011543060009081526006602052604090205410155b905090565b6012805460ff19166001179055601154600c54600a54600091610a8391600291610a7d9182908790610f01565b90610f83565b90506000610a918383610fc5565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610acb57610acb61119a565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4891906111b0565b81600181518110610b5b57610b5b61119a565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b81524792919091169063791ac94790610ba59086906000908790309042906004016111cd565b600060405180830381600087803b158015610bbf57600080fd5b505af1158015610bd3573d6000803e3d6000fd5b505050506000610bec8247610fc590919063ffffffff16565b90506000610c12610c096002600a54610f8390919063ffffffff16565b600c5490610fc5565b90506000610c346002610a7d84610a7d600a5488610f0190919063ffffffff16565b90506000610c5183610a7d600b5487610f0190919063ffffffff16565b600e546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610ca8576040519150601f19603f3d011682016040523d82523d6000602084013e610cad565b606091505b5050905080610cfe5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610560565b8815610de657600f5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527326b42fd301110b3e9784ebe4d13d3196e3dcdf5760848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610d84573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da9919061123e565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506012805460ff191690555050505050505050565b600080610e1a600d54610a7d600c5486610f0190919063ffffffff16565b30600090815260066020526040902054909150610e379082610ea2565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e889085815260200190565b60405180910390a3610e9a8382610fc5565b949350505050565b600080610eaf8385611187565b90508381101561051a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610560565b600082600003610f1357506000610459565b6000610f1f838561126c565b905082610f2c8583611283565b1461051a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610560565b600061051a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611007565b600061051a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610606565b600081836110285760405162461bcd60e51b81526004016105609190611035565b5060006106378486611283565b600060208083528351808285015260005b8181101561106257858101830151858201604001528201611046565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461109857600080fd5b50565b600080604083850312156110ae57600080fd5b82356110b981611083565b946020939093013593505050565b6000806000606084860312156110dc57600080fd5b83356110e781611083565b925060208401356110f781611083565b929592945050506040919091013590565b60006020828403121561111a57600080fd5b813561051a81611083565b6000806040838503121561113857600080fd5b823561114381611083565b9150602083013561115381611083565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104595761045961115e565b808201808211156104595761045961115e565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111c257600080fd5b815161051a81611083565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561121d5784516001600160a01b0316835293830193918301916001016111f8565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561125357600080fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176104595761045961115e565b6000826112a057634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212203192d1e0eb2074bd6ed7265560be772841e9d917d717ab976d075b646ef1810764736f6c63430008130033

Deployed Bytecode Sourcemap

4587:7005:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6663:80;;;;;;;;;;-1:-1:-1;6735:5:0;;;;;;;;;;;;-1:-1:-1;;;6735:5:0;;;;6663:80;;;;;;;:::i;:::-;;;;;;;;8848:216;;;;;;;;;;-1:-1:-1;8848:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8848:216:0;1023:187:1;5640:47:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5640:47:0;1215:177:1;6398:83:0;;;;;;;;;;-1:-1:-1;6471:7:0;;6398:83;;11219:370;;;;;;;;;;-1:-1:-1;11219:370:0;;;;;:::i;:::-;;:::i;1897:103::-;;;;;;;;;;-1:-1:-1;1897:103:0;;;;;:::i;:::-;1952:4;1987:5;-1:-1:-1;;;;;1976:16:0;;;1987:5;;1976:16;;1897:103;6487:80;;;;;;;;;;-1:-1:-1;6487:80:0;;4767:1;2252:36:1;;2240:2;2225:18;6487:80:0;2110:184:1;4889:50:0;;;;;;;;;;;;;;;;5603:30;;;;;;;;;;-1:-1:-1;5603:30:0;;;;-1:-1:-1;;;5603:30:0;;;;;;6833:105;;;;;;;;;;-1:-1:-1;6833:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6917:18:0;6899:7;6917:18;;;:9;:18;;;;;;;6833:105;2006:131;;;;;;;;;;;;;:::i;:::-;;5526:35;;;;;;;;;;-1:-1:-1;5526:35:0;;;;-1:-1:-1;;;;;5526:35:0;;;;;;-1:-1:-1;;;;;2485:32:1;;;2467:51;;2455:2;2440:18;5526:35:0;2299:225:1;11127:80:0;;;;;;;;;;;;;:::i;4835:47::-;;;;;;;;;;;;;;;;6749:78;;;;;;;;;;-1:-1:-1;6801:7:0;6819:5;-1:-1:-1;;;;;6819:5:0;6749:78;;6573:84;;;;;;;;;;-1:-1:-1;6647:7:0;;;;;;;;;;;;-1:-1:-1;;;6647:7:0;;;;6573:84;;7085:156;;;;;;;;;;-1:-1:-1;7085:156:0;;;;;:::i;:::-;;:::i;5568:26::-;;;;;;;;;;-1:-1:-1;5568:26:0;;;;-1:-1:-1;;;;;5568:26:0;;;6944:133;;;;;;;;;;-1:-1:-1;6944:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7046:19:0;;;7028:7;7046:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6944:133;8848:216;8952:10;8923:4;8940:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8940:32:0;;;;;;;;;;:41;;;8997:37;8923:4;;8940:32;;8997:37;;;;8975:6;1361:25:1;;1349:2;1334:18;;1215:177;8997:37:0;;;;;;;;-1:-1:-1;9052:4:0;8848:216;;;;;:::o;11219:370::-;-1:-1:-1;;;;;11339:19:0;;11319:4;11339:19;;;:11;:19;;;;;;;;11359:10;11339:31;;;;;;;;-1:-1:-1;;11339:52:0;11336:186;;11441:69;;;;;;;;;;;-1:-1:-1;;;11441:69:0;;;;;;;;-1:-1:-1;;;;;11441:19:0;;-1:-1:-1;11441:19:0;;;:11;:19;;;;;11461:10;11441:31;;;;;;;;;;:69;;11477:6;;11441:35;:69::i;:::-;-1:-1:-1;;;;;11407:19:0;;;;;;:11;:19;;;;;;;;11427:10;11407:31;;;;;;;:103;11336:186;11541:40;11555:6;11563:9;11574:6;11541:13;:40::i;:::-;11534:47;;11219:370;;;;;;:::o;2006:131::-;1952:4;1987:5;-1:-1:-1;;;;;1987:5:0;1858:10;1976:16;1842:38;;;;-1:-1:-1;;;1842:38:0;;3332:2:1;1842:38:0;;;3314:21:1;3371:1;3351:18;;;3344:29;-1:-1:-1;;;3389:18:1;;;3382:36;3435:18;;1842:38:0;;;;;;;;;2079:1:::1;2063:18:::0;;-1:-1:-1;;;;;;2063:18:0::1;::::0;;2097:32:::1;::::0;2467:51:1;;;2097:32:0::1;::::0;2455:2:1;2440:18;2097:32:0::1;;;;;;;2006:131::o:0;11127:80::-;1952:4;1987:5;-1:-1:-1;;;;;1987:5:0;1858:10;1976:16;1842:38;;;;-1:-1:-1;;;1842:38:0;;3332:2:1;1842:38:0;;;3314:21:1;3371:1;3351:18;;;3344:29;-1:-1:-1;;;3389:18:1;;;3382:36;3435:18;;1842:38:0;3130:329:1;1842:38:0;11192:7:::1;::::0;11179:10:::1;:20:::0;11127:80::o;7085:156::-;7165:4;7189:44;7203:10;7215:9;7226:6;7189:13;:44::i;899:190::-;985:7;1021:12;1013:6;;;;1005:29;;;;-1:-1:-1;;;1005:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1045:9:0;1057:5;1061:1;1057;:5;:::i;:::-;1045:17;899:190;-1:-1:-1;;;;;899:190:0:o;7260:991::-;7372:6;;7352:4;;7372:6;;7369:63;;;7388:41;7403:6;7411:9;7422:6;7388:14;:41::i;:::-;7381:48;;;;7369:63;7469:11;;-1:-1:-1;;;;;7456:24:0;;;7469:11;;7456:24;;;;:45;;-1:-1:-1;7497:4:0;;-1:-1:-1;;;;;7484:17:0;;;7497:4;;7484:17;;7456:45;7452:196;;;-1:-1:-1;;;;;7526:21:0;;;;;;:10;:21;;;;;;;;;:68;;-1:-1:-1;7584:10:0;;-1:-1:-1;;;;;7551:20:0;;;;;;:9;:20;;;;;;:29;;7574:6;;7551:29;:::i;:::-;:43;;7526:68;7518:118;;;;-1:-1:-1;;;7518:118:0;;4061:2:1;7518:118:0;;;4043:21:1;4100:2;4080:18;;;4073:30;4139:34;4119:18;;;4112:62;-1:-1:-1;;;4190:18:1;;;4183:35;4235:19;;7518:118:0;3859:401:1;7518:118:0;7671:16;:14;:16::i;:::-;:44;;;;-1:-1:-1;7704:11:0;;-1:-1:-1;;;;;7691:24:0;;;7704:11;;7691:24;7671:44;:68;;;;-1:-1:-1;;;;;;7720:19:0;;;;;;:11;:19;;;;;;;;7719:20;7671:68;:92;;;;;7752:11;;7743:6;:20;7671:92;7668:111;;;7766:10;:8;:10::i;:::-;-1:-1:-1;;;;;9500:19:0;;7792:22;9500:19;;;:11;:19;;;;;;;;9499:20;7817:56;;7867:6;7817:56;;;7841:23;7849:6;7857;7841:7;:23::i;:::-;7792:81;;7884:18;7907:21;7921:6;-1:-1:-1;;;;;9500:19:0;9475:4;9500:19;;;:11;:19;;;;;;;;9499:20;;9413:114;7907:21;7906:22;:57;;;;-1:-1:-1;7953:10:0;;-1:-1:-1;;;;;7932:17:0;;;;;;:9;:17;;;;;;:31;;7906:57;7905:93;;7992:6;7905:93;;;7967:23;7976:14;7967:6;:23;:::i;:::-;7884:114;;8029:57;8051:10;8029:57;;;;;;;;;;;;;-1:-1:-1;;;8029:57:0;;;:9;:17;8039:6;-1:-1:-1;;;;;8029:17:0;-1:-1:-1;;;;;8029:17:0;;;;;;;;;;;;;:21;;:57;;;;;:::i;:::-;-1:-1:-1;;;;;8009:17:0;;;;;;;:9;:17;;;;;;:77;;;;8120:20;;;;;;;:40;;8145:14;8120:24;:40::i;:::-;-1:-1:-1;;;;;8097:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8178:43;;;;;;;;;;8206:14;1361:25:1;;1349:2;1334:18;;1215:177;8178:43:0;;;;;;;;-1:-1:-1;8239:4:0;;7260:991;-1:-1:-1;;;;;7260:991:0:o;8438:330::-;8568:53;;;;;;;;;;;-1:-1:-1;;;8568:53:0;;;;;;;;-1:-1:-1;;;;;8568:17:0;;8531:4;8568:17;;;:9;:17;;;;;;;:53;;8590:6;;8568:21;:53::i;:::-;-1:-1:-1;;;;;8548:17:0;;;;;;;:9;:17;;;;;;:73;;;;8655:20;;;;;;;:32;;8680:6;8655:24;:32::i;:::-;-1:-1:-1;;;;;8632:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8703:35;;;;;;;;;;8731:6;1361:25:1;;1349:2;1334:18;;1215:177;8703:35:0;;;;;;;;-1:-1:-1;8756:4:0;8438:330;;;;;:::o;8259:167::-;8333:6;;8308:4;;8333:6;;8332:7;:31;;;;-1:-1:-1;8352:11:0;;-1:-1:-1;;;8352:11:0;;;;8332:31;:86;;;;-1:-1:-1;8404:14:0;;8394:4;8376:24;;;;:9;:24;;;;;;:42;;8332:86;8325:93;;8259:167;:::o;9535:1584::-;5738:6;:13;;-1:-1:-1;;5738:13:0;5747:4;5738:13;;;9615:14:::1;::::0;9709:8:::1;::::0;9691:12:::1;::::0;5738:6;;9666:59:::1;::::0;9723:1:::1;::::0;9666:52:::1;::::0;;;9615:14;;9666:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9640:85:::0;-1:-1:-1;9736:20:0::1;9759:41;:20:::0;9640:85;9759:24:::1;:41::i;:::-;9837:16;::::0;;9851:1:::1;9837:16:::0;;;;;::::1;::::0;;9736:64;;-1:-1:-1;9813:21:0::1;::::0;9837:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9837:16:0::1;9813:40;;9882:4;9864;9869:1;9864:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9864:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9908:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;9908:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;9864:7;;9908:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9898:4;9903:1;9898:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9898:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;9999:13:::1;::::0;:195:::1;::::0;-1:-1:-1;;;9999:195:0;;9965:21:::1;::::0;9999:13;;;::::1;::::0;:64:::1;::::0;:195:::1;::::0;10078:12;;9941:21:::1;::::0;10121:4;;10148::::1;::::0;10168:15:::1;::::0;9999:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10205:17;10225:40;10251:13;10225:21;:25;;:40;;;;:::i;:::-;10205:60;;10276:19;10298:33;10311:19;10328:1;10311:12;;:16;;:19;;;;:::i;:::-;10298:8;::::0;;:12:::1;:33::i;:::-;10276:55;;10342:26;10371:51;10420:1;10371:44;10403:11;10371:27;10385:12;;10371:9;:13;;:27;;;;:::i;:51::-;10342:80;;10433:26;10462:44;10494:11;10462:27;10476:12;;10462:9;:13;;:27;;;;:::i;:44::-;10580:10;::::0;10572:67:::1;::::0;10433:73;;-1:-1:-1;10522:21:0::1;::::0;-1:-1:-1;;;;;10580:10:0;;::::1;::::0;10629:5:::1;::::0;10433:73;;10522:21;10572:67;10522:21;10572:67;10433:73;10580:10;10629:5;10572:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10521:118;;;10658:16;10650:59;;;::::0;-1:-1:-1;;;10650:59:0;;6182:2:1;10650:59:0::1;::::0;::::1;6164:21:1::0;6221:2;6201:18;;;6194:30;6260:32;6240:18;;;6233:60;6310:18;;10650:59:0::1;5980:354:1::0;10650:59:0::1;10725:19:::0;;10722:390:::1;;10760:13;::::0;:272:::1;::::0;-1:-1:-1;;;10760:272:0;;10843:4:::1;10760:272;::::0;::::1;6680:34:1::0;6730:18;;;6723:34;;;10760:13:0::1;6773:18:1::0;;;6766:34;;;6816:18;;;6809:34;10941:42:0::1;6859:19:1::0;;;6852:44;11002:15:0::1;6912:19:1::0;;;6905:35;-1:-1:-1;;;;;10760:13:0;;::::1;::::0;:29:::1;::::0;10797:18;;6614:19:1;;10760:272:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11052:48:0::1;::::0;;7436:25:1;;;7492:2;7477:18;;7470:34;;;11052:48:0::1;::::0;-1:-1:-1;7409:18:1;11052:48:0::1;;;;;;;10722:390;-1:-1:-1::0;;5756:6:0;:14;;-1:-1:-1;;5756:14:0;;;-1:-1:-1;;;;;;;;9535:1584:0:o;9076:329::-;9143:7;9163:17;9183:40;9208:14;;9183:20;9194:8;;9183:6;:10;;:20;;;;:::i;:40::-;9279:4;9261:24;;;;:9;:24;;;;;;9163:60;;-1:-1:-1;9261:39:0;;9163:60;9261:28;:39::i;:::-;9252:4;9234:24;;;;:9;:24;;;;;;;:66;;;;9316:42;;-1:-1:-1;;;;;9316:42:0;;;;;;;9348:9;1361:25:1;;1349:2;1334:18;;1215:177;9316:42:0;;;;;;;;9376:21;:6;9387:9;9376:10;:21::i;:::-;9369:28;9076:329;-1:-1:-1;;;;9076:329:0:o;572:179::-;630:7;;662:5;666:1;662;:5;:::i;:::-;650:17;;691:1;686;:6;;678:46;;;;-1:-1:-1;;;678:46:0;;7717:2:1;678:46:0;;;7699:21:1;7756:2;7736:18;;;7729:30;7795:29;7775:18;;;7768:57;7842:18;;678:46:0;7515:351:1;1095:246:0;1153:7;1177:1;1182;1177:6;1173:47;;-1:-1:-1;1207:1:0;1200:8;;1173:47;1230:9;1242:5;1246:1;1242;:5;:::i;:::-;1230:17;-1:-1:-1;1275:1:0;1266:5;1270:1;1230:17;1266:5;:::i;:::-;:10;1258:56;;;;-1:-1:-1;;;1258:56:0;;8468:2:1;1258:56:0;;;8450:21:1;8507:2;8487:18;;;8480:30;8546:34;8526:18;;;8519:62;-1:-1:-1;;;8597:18:1;;;8590:31;8638:19;;1258:56:0;8266:397:1;1347:132:0;1405:7;1432:39;1436:1;1439;1432:39;;;;;;;;;;;;;;;;;:3;:39::i;757:136::-;815:7;842:43;846:1;849;842:43;;;;;;;;;;;;;;;;;:3;:43::i;1485:189::-;1571:7;1606:12;1599:5;1591:28;;;;-1:-1:-1;;;1591:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1630:9:0;1642:5;1646:1;1642;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;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;2737:388::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2921:9;2908:23;2940:31;2965:5;2940:31;:::i;:::-;2990:5;-1:-1:-1;3047:2:1;3032:18;;3019:32;3060:33;3019:32;3060:33;:::i;:::-;3112:7;3102:17;;;2737:388;;;;;:::o;3464:127::-;3525:10;3520:3;3516:20;3513:1;3506:31;3556:4;3553:1;3546:15;3580:4;3577:1;3570:15;3596:128;3663:9;;;3684:11;;;3681:37;;;3698:18;;:::i;3729:125::-;3794:9;;;3815:10;;;3812:36;;;3828:18;;:::i;4397:127::-;4458:10;4453:3;4449:20;4446:1;4439:31;4489:4;4486:1;4479:15;4513:4;4510:1;4503:15;4529:251;4599:6;4652:2;4640:9;4631:7;4627:23;4623:32;4620:52;;;4668:1;4665;4658:12;4620:52;4700:9;4694:16;4719:31;4744:5;4719:31;:::i;4785:980::-;5047:4;5095:3;5084:9;5080:19;5126:6;5115:9;5108:25;5152:2;5190:6;5185:2;5174:9;5170:18;5163:34;5233:3;5228:2;5217:9;5213:18;5206:31;5257:6;5292;5286:13;5323:6;5315;5308:22;5361:3;5350:9;5346:19;5339:26;;5400:2;5392:6;5388:15;5374:29;;5421:1;5431:195;5445:6;5442:1;5439:13;5431:195;;;5510:13;;-1:-1:-1;;;;;5506:39:1;5494:52;;5601:15;;;;5566:12;;;;5542:1;5460:9;5431:195;;;-1:-1:-1;;;;;;;5682:32:1;;;;5677:2;5662:18;;5655:60;-1:-1:-1;;;5746:3:1;5731:19;5724:35;5643:3;4785:980;-1:-1:-1;;;4785:980:1:o;6951:306::-;7039:6;7047;7055;7108:2;7096:9;7087:7;7083:23;7079:32;7076:52;;;7124:1;7121;7114:12;7076:52;7153:9;7147:16;7137:26;;7203:2;7192:9;7188:18;7182:25;7172:35;;7247:2;7236:9;7232:18;7226:25;7216:35;;6951:306;;;;;:::o;7871:168::-;7944:9;;;7975;;7992:15;;;7986:22;;7972:37;7962:71;;8013:18;;:::i;8044:217::-;8084:1;8110;8100:132;;8154:10;8149:3;8145:20;8142:1;8135:31;8189:4;8186:1;8179:15;8217:4;8214:1;8207:15;8100:132;-1:-1:-1;8246:9:1;;8044:217::o

Swarm Source

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