ETH Price: $2,989.20 (+4.47%)
Gas: 2 Gwei

Token

Falcon ($Rocket)
 

Overview

Max Total Supply

100,000,000 $Rocket

Holders

267

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
884.313551696131556977 $Rocket

Value
$0.00
0x500a8e161791b6434590Bd8eD6e1A24aBC15b461
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:
Falcon

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED


pragma solidity 0.8.7;

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(address(msg.sender));
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

}  


interface 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 Falcon is ERC20, Ownable {
    using SafeMath for uint256;

    uint256 private protection = 1; 
    uint256 public launchBlock;
    uint256 private protectionBlock;

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

    string constant private _name = "Falcon";
    string constant private _symbol = "$Rocket";
    uint8 constant private _decimals = 18;

    uint256 private _totalSupply = 100000000* 10**_decimals;

    uint256 public _maxWalletAmount = _totalSupply / 100;

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

    address[] public _markerPairs;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isMaxWalletExempt;

    uint256 private wlTime = 10 minutes; 
    uint256 private launchTimestamp; 
    mapping (address => bool) private isWL; 

    //Fees
    uint256 private constant transferFee = 0;

    uint256 private constant totalBuyFee = 2;
    uint256 private constant totalSellFee = 2;

    uint256 private constant feeDenominator  = 100;

    address private marketingFeeReceiver = 0x4f226c2fdC354d99FB6FC930D694d76E76566579;

    IDEXRouter public router;
    address public pair;

    bool public tradingEnabled = false;
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 1 / 5000;

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

    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));

        setAutomatedMarketMakerPair(pair, true);

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

        isFeeExempt[msg.sender] = true;
        isMaxWalletExempt[msg.sender] = true;

               
        isFeeExempt[address(this)] = true; 
        isMaxWalletExempt[address(this)] = true;

        isMaxWalletExempt[pair] = true;


        _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 approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

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

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){
            require(tradingEnabled,"Trading not open yet");
        }

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

        uint256 amountReceived = amount; 

        if(automatedMarketMakerPairs[sender]) { //buy
            if(!isFeeExempt[recipient]) {
                require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
                if(block.timestamp <= launchTimestamp.add(wlTime)) {require (isWL[recipient], "can't buy, yet");}
                amountReceived = takeBuyFee(sender, amount);
            }

        } else if(automatedMarketMakerPairs[recipient]) { //sell
            if(!isFeeExempt[sender]) {
                amountReceived = takeSellFee(sender, amount);

            }
        } else {	
            if (!isFeeExempt[sender]) {	
                require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
                amountReceived = takeTransferFee(sender, amount);

            }
        }

        _balances[sender] = _balances[sender].sub(amount);
        _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;
    }

    // Fees
    function takeBuyFee(address sender, uint256 amount) internal returns (uint256){
        uint256 _realFee = totalBuyFee;
        if (block.number < protectionBlock) {
                _realFee = 99;
            }

        uint256 feeAmount = amount.mul(_realFee).div(feeDenominator);

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

        return amount.sub(feeAmount);
    }

    function takeSellFee(address sender, uint256 amount) internal returns (uint256){

        uint256 feeAmount = amount.mul(totalSellFee).div(feeDenominator);

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

        return amount.sub(feeAmount);
            
    }

    function takeTransferFee(address sender, uint256 amount) internal returns (uint256){
        uint256 feeAmount = amount.mul(transferFee).div(feeDenominator);
        
        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);	
            emit Transfer(sender, address(this), feeAmount); 
        }
            	
        return amount.sub(feeAmount);	
    }    

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

    // switch Trading
    function enableTrading() external onlyOwner {
        tradingEnabled = true;
        launchBlock = block.number;
        launchTimestamp = block.timestamp; 
        protectionBlock = block.number.add(protection);
    }

    function swapBack() internal swapping {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            _balances[address(this)],
            0,
            path,
            marketingFeeReceiver,
            block.timestamp
        );
    }


    // Admin Functions
    function setAutomatedMarketMakerPair(address _pair, bool _value) internal {
            require(automatedMarketMakerPairs[_pair] != _value, "Value already set");

            automatedMarketMakerPairs[_pair] = _value;

            if(_value){
                _markerPairs.push(_pair);
            }else{
                require(_markerPairs.length > 1, "Required 1 pair");
                for (uint256 i = 0; i < _markerPairs.length; i++) {
                    if (_markerPairs[i] == _pair) {
                        _markerPairs[i] = _markerPairs[_markerPairs.length - 1];
                        _markerPairs.pop();
                        break;
                    }
                }
            }
        }

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

    function letsChangeIt (uint256 _number) external onlyOwner {
        require(_number < 15, "Can't go that high");
        protection = _number;
        
    }

    function setWallet(address _address, bool _bool) external onlyOwner {
        isWL[_address]=_bool;
    }


}

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":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_markerPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"enableTrading","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":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxWalletExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_number","type":"uint256"}],"name":"letsChangeIt","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"setWallet","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600255600680546001600160a01b031990811661dead17909155600780549091169055620000376012600a620006b3565b62000047906305f5e10062000774565b60085560646008546200005b919062000647565b600955610258601055601380546001600160a01b031916734f226c2fdc354d99fb6fc930d694d76e765665791790556015805461ffff60a01b1916600160a81b17905560085461138890620000b290600162000774565b620000be919062000647565b601655348015620000ce57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c464891600480820192602092909190829003018186803b1580156200017057600080fd5b505afa15801562000185573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ab919062000615565b600580546001600160a01b0319166001600160a01b039283161790556014546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b1580156200020557600080fd5b505afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000240919062000615565b6005546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b1580156200028d57600080fd5b505af1158015620002a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c8919062000615565b601580546001600160a01b0319166001600160a01b03929092169182179055620002f4906001620003c6565b306000818152600b602090815260408083206014546001600160a01b039081168552908352818420600019905533808552600e8085528386208054600160ff199182168117909255600f808852868920805483168417905598885291865284872080548316821790559685528386208054821688179055601554909216855282852080549092169095179055600854848452600a835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000810565b6001600160a01b0382166000908152600d602052604090205460ff16151581151514156200042f5760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b60448201526064015b60405180910390fd5b6001600160a01b0382166000908152600d60205260409020805460ff19168215801591909117909155620004ae57600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0384166001600160a01b03199091161790555050565b600c54600110620004f45760405162461bcd60e51b815260206004820152600f60248201526e2932b8bab4b932b21018903830b4b960891b604482015260640162000426565b60005b600c548110156200061057826001600160a01b0316600c8281548110620005225762000522620007fa565b6000918252602090912001546001600160a01b03161415620005fb57600c8054620005509060019062000796565b81548110620005635762000563620007fa565b600091825260209091200154600c80546001600160a01b039092169183908110620005925762000592620007fa565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600c805480620005d457620005d4620007e4565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b806200060781620007b0565b915050620004f7565b505050565b6000602082840312156200062857600080fd5b81516001600160a01b03811681146200064057600080fd5b9392505050565b6000826200066557634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620006ab5781600019048211156200068f576200068f620007ce565b808516156200069d57918102915b93841c93908002906200066f565b509250929050565b60006200064060ff841683600082620006cf575060016200076e565b81620006de575060006200076e565b8160018114620006f75760028114620007025762000722565b60019150506200076e565b60ff841115620007165762000716620007ce565b50506001821b6200076e565b5060208310610133831016604e8410600b841016171562000747575081810a6200076e565b6200075383836200066a565b80600019048211156200076a576200076a620007ce565b0290505b92915050565b6000816000190483118215151615620007915762000791620007ce565b500290565b600082821015620007ab57620007ab620007ce565b500390565b6000600019821415620007c757620007c7620007ce565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b61157980620008206000396000f3fe6080604052600436106101ba5760003560e01c806370a08231116100ec578063a8aa1b311161008a578063d00efb2f11610064578063d00efb2f14610527578063dd62ed3e1461053d578063e1d5584c14610583578063f887ea40146105a357600080fd5b8063a8aa1b31146104b7578063a9059cbb146104d7578063b62496f5146104f757600080fd5b8063893d20e8116100c6578063893d20e8146104225780638a8c523c146104545780638da5cb5b1461046957806395d89b411461048757600080fd5b806370a08231146103b7578063715018a6146103ed578063788cea161461040257600080fd5b80632b112e49116101595780634ada218b116101335780634ada218b1461033f578063571ac8b0146103605780636c0a24eb146103805780636ddd17131461039657600080fd5b80632b112e49146102de578063313ce567146102f35780633f4218e01461030f57600080fd5b8063095ea7b311610195578063095ea7b3146102495780630bd11f8a1461027957806318160ddd146102a957806323b872dd146102be57600080fd5b8062e136df146101c65780630445b667146101e857806306fdde031461021157600080fd5b366101c157005b600080fd5b3480156101d257600080fd5b506101e66101e1366004611373565b6105c3565b005b3480156101f457600080fd5b506101fe60165481565b6040519081526020015b60405180910390f35b34801561021d57600080fd5b506040805180820190915260068152652330b631b7b760d11b60208201525b604051610208919061138c565b34801561025557600080fd5b50610269610264366004611349565b610640565b6040519015158152602001610208565b34801561028557600080fd5b50610269610294366004611283565b600f6020526000908152604090205460ff1681565b3480156102b557600080fd5b506008546101fe565b3480156102ca57600080fd5b506102696102d93660046112d1565b6106ad565b3480156102ea57600080fd5b506101fe61076f565b3480156102ff57600080fd5b5060405160128152602001610208565b34801561031b57600080fd5b5061026961032a366004611283565b600e6020526000908152604090205460ff1681565b34801561034b57600080fd5b5060155461026990600160a01b900460ff1681565b34801561036c57600080fd5b5061026961037b366004611283565b6107c1565b34801561038c57600080fd5b506101fe60095481565b3480156103a257600080fd5b5060155461026990600160a81b900460ff1681565b3480156103c357600080fd5b506101fe6103d2366004611283565b6001600160a01b03166000908152600a602052604090205490565b3480156103f957600080fd5b506101e66107cf565b34801561040e57600080fd5b506101e661041d36600461130d565b610843565b34801561042e57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610208565b34801561046057600080fd5b506101e6610898565b34801561047557600080fd5b506000546001600160a01b031661043c565b34801561049357600080fd5b5060408051808201909152600781526609149bd8dad95d60ca1b602082015261023c565b3480156104c357600080fd5b5060155461043c906001600160a01b031681565b3480156104e357600080fd5b506102696104f2366004611349565b6108f1565b34801561050357600080fd5b50610269610512366004611283565b600d6020526000908152604090205460ff1681565b34801561053357600080fd5b506101fe60035481565b34801561054957600080fd5b506101fe61055836600461129e565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561058f57600080fd5b5061043c61059e366004611373565b6108fe565b3480156105af57600080fd5b5060145461043c906001600160a01b031681565b6000546001600160a01b031633146105f65760405162461bcd60e51b81526004016105ed906113e1565b60405180910390fd5b600f811061063b5760405162461bcd60e51b8152602060048201526012602482015271086c2dc4ee840cede40e8d0c2e840d0d2ced60731b60448201526064016105ed565b600255565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061069b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600b602090815260408083203384529091528120546000191461075a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610735918490610928565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610765848484610962565b90505b9392505050565b6007546001600160a01b03166000908152600a60205260408120546107bc906006546001600160a01b03166000908152600a60205260409020546107b69060085490610d3e565b90610d3e565b905090565b60006106a782600019610640565b6000546001600160a01b031633146107f95760405162461bcd60e51b81526004016105ed906113e1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461086d5760405162461bcd60e51b81526004016105ed906113e1565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108c25760405162461bcd60e51b81526004016105ed906113e1565b6015805460ff60a01b1916600160a01b179055436003819055426011556002546108ec9190610d80565b600455565b6000610768338484610962565b600c818154811061090e57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000818484111561094c5760405162461bcd60e51b81526004016105ed919061138c565b50600061095984866114e0565b95945050505050565b60175460009060ff16156109825761097b848484610ddf565b9050610768565b6001600160a01b0384166000908152600e602052604090205460ff161580156109c457506001600160a01b0383166000908152600e602052604090205460ff16155b15610a1957601554600160a01b900460ff16610a195760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016105ed565b610a21610eb3565b15610a2e57610a2e610f0b565b6001600160a01b0384166000908152600d6020526040902054829060ff1615610b88576001600160a01b0384166000908152600e602052604090205460ff16610b83576009546001600160a01b0385166000908152600a6020526040902054610a979085610d80565b111580610abc57506001600160a01b0384166000908152600f602052604090205460ff165b610b085760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d69742045786365656465640060448201526064016105ed565b601054601154610b1791610d80565b4211610b76576001600160a01b03841660009081526012602052604090205460ff16610b765760405162461bcd60e51b815260206004820152600e60248201526d18d85b89dd08189d5e4b081e595d60921b60448201526064016105ed565b610b80858461101d565b90505b610c97565b6001600160a01b0384166000908152600d602052604090205460ff1615610bd3576001600160a01b0385166000908152600e602052604090205460ff16610b8357610b8085846110b6565b6001600160a01b0385166000908152600e602052604090205460ff16610c97576009546001600160a01b0385166000908152600a6020526040902054610c199085610d80565b111580610c3e57506001600160a01b0384166000908152600f602052604090205460ff165b610c8a5760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d69742045786365656465640060448201526064016105ed565b610c94858461113f565b90505b6001600160a01b0385166000908152600a6020526040902054610cba9084610d3e565b6001600160a01b038087166000908152600a60205260408082209390935590861681522054610ce99082610d80565b6001600160a01b038086166000818152600a6020526040908190209390935591519087169060008051602061152483398151915290610d2b9085815260200190565b60405180910390a3506001949350505050565b600061076883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610928565b600080610d8d8385611487565b9050838110156107685760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ed565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054610e30918490610928565b6001600160a01b038086166000908152600a60205260408082209390935590851681522054610e5f9083610d80565b6001600160a01b038085166000818152600a6020526040908190209390935591519086169060008051602061152483398151915290610ea19086815260200190565b60405180910390a35060019392505050565b336000908152600d602052604081205460ff16158015610ed6575060175460ff16155b8015610eeb5750601554600160a81b900460ff165b80156107bc575050601654306000908152600a6020526040902054101590565b6017805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f4d57610f4d61150d565b6001600160a01b039283166020918202929092010152600554825191169082906001908110610f7e57610f7e61150d565b6001600160a01b03928316602091820292909201810191909152601454306000908152600a909252604080832054601354915163791ac94760e01b81529285169463791ac94794610fde9492939092889291909116904290600401611416565b600060405180830381600087803b158015610ff857600080fd5b505af115801561100c573d6000803e3d6000fd5b50506017805460ff19169055505050565b600454600090600290431015611031575060635b60006110486064611042868561117d565b906111fc565b306000908152600a60205260409020549091506110659082610d80565b306000818152600a6020526040908190209290925590516001600160a01b03871690600080516020611524833981519152906110a49085815260200190565b60405180910390a36109598482610d3e565b6000806110c9606461104285600261117d565b306000908152600a60205260409020549091506110e69082610d80565b306000818152600a6020526040908190209290925590516001600160a01b03861690600080516020611524833981519152906111259085815260200190565b60405180910390a36111378382610d3e565b949350505050565b6000806111516064611042858461117d565b9050801561117357306000908152600a60205260409020546110e69082610d80565b6111378382610d3e565b60008261118c575060006106a7565b600061119883856114c1565b9050826111a5858361149f565b146107685760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ed565b600061076883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361125a5760405162461bcd60e51b81526004016105ed919061138c565b506000610959848661149f565b80356001600160a01b038116811461127e57600080fd5b919050565b60006020828403121561129557600080fd5b61076882611267565b600080604083850312156112b157600080fd5b6112ba83611267565b91506112c860208401611267565b90509250929050565b6000806000606084860312156112e657600080fd5b6112ef84611267565b92506112fd60208501611267565b9150604084013590509250925092565b6000806040838503121561132057600080fd5b61132983611267565b91506020830135801515811461133e57600080fd5b809150509250929050565b6000806040838503121561135c57600080fd5b61136583611267565b946020939093013593505050565b60006020828403121561138557600080fd5b5035919050565b600060208083528351808285015260005b818110156113b95785810183015185820160400152820161139d565b818111156113cb576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114665784516001600160a01b031683529383019391830191600101611441565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561149a5761149a6114f7565b500190565b6000826114bc57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156114db576114db6114f7565b500290565b6000828210156114f2576114f26114f7565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201632fb25b42ef263caed23af5c4bcd0612a9dc5be2bb3ced8ac63311eb66dfb364736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101ba5760003560e01c806370a08231116100ec578063a8aa1b311161008a578063d00efb2f11610064578063d00efb2f14610527578063dd62ed3e1461053d578063e1d5584c14610583578063f887ea40146105a357600080fd5b8063a8aa1b31146104b7578063a9059cbb146104d7578063b62496f5146104f757600080fd5b8063893d20e8116100c6578063893d20e8146104225780638a8c523c146104545780638da5cb5b1461046957806395d89b411461048757600080fd5b806370a08231146103b7578063715018a6146103ed578063788cea161461040257600080fd5b80632b112e49116101595780634ada218b116101335780634ada218b1461033f578063571ac8b0146103605780636c0a24eb146103805780636ddd17131461039657600080fd5b80632b112e49146102de578063313ce567146102f35780633f4218e01461030f57600080fd5b8063095ea7b311610195578063095ea7b3146102495780630bd11f8a1461027957806318160ddd146102a957806323b872dd146102be57600080fd5b8062e136df146101c65780630445b667146101e857806306fdde031461021157600080fd5b366101c157005b600080fd5b3480156101d257600080fd5b506101e66101e1366004611373565b6105c3565b005b3480156101f457600080fd5b506101fe60165481565b6040519081526020015b60405180910390f35b34801561021d57600080fd5b506040805180820190915260068152652330b631b7b760d11b60208201525b604051610208919061138c565b34801561025557600080fd5b50610269610264366004611349565b610640565b6040519015158152602001610208565b34801561028557600080fd5b50610269610294366004611283565b600f6020526000908152604090205460ff1681565b3480156102b557600080fd5b506008546101fe565b3480156102ca57600080fd5b506102696102d93660046112d1565b6106ad565b3480156102ea57600080fd5b506101fe61076f565b3480156102ff57600080fd5b5060405160128152602001610208565b34801561031b57600080fd5b5061026961032a366004611283565b600e6020526000908152604090205460ff1681565b34801561034b57600080fd5b5060155461026990600160a01b900460ff1681565b34801561036c57600080fd5b5061026961037b366004611283565b6107c1565b34801561038c57600080fd5b506101fe60095481565b3480156103a257600080fd5b5060155461026990600160a81b900460ff1681565b3480156103c357600080fd5b506101fe6103d2366004611283565b6001600160a01b03166000908152600a602052604090205490565b3480156103f957600080fd5b506101e66107cf565b34801561040e57600080fd5b506101e661041d36600461130d565b610843565b34801561042e57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610208565b34801561046057600080fd5b506101e6610898565b34801561047557600080fd5b506000546001600160a01b031661043c565b34801561049357600080fd5b5060408051808201909152600781526609149bd8dad95d60ca1b602082015261023c565b3480156104c357600080fd5b5060155461043c906001600160a01b031681565b3480156104e357600080fd5b506102696104f2366004611349565b6108f1565b34801561050357600080fd5b50610269610512366004611283565b600d6020526000908152604090205460ff1681565b34801561053357600080fd5b506101fe60035481565b34801561054957600080fd5b506101fe61055836600461129e565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561058f57600080fd5b5061043c61059e366004611373565b6108fe565b3480156105af57600080fd5b5060145461043c906001600160a01b031681565b6000546001600160a01b031633146105f65760405162461bcd60e51b81526004016105ed906113e1565b60405180910390fd5b600f811061063b5760405162461bcd60e51b8152602060048201526012602482015271086c2dc4ee840cede40e8d0c2e840d0d2ced60731b60448201526064016105ed565b600255565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061069b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600b602090815260408083203384529091528120546000191461075a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610735918490610928565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610765848484610962565b90505b9392505050565b6007546001600160a01b03166000908152600a60205260408120546107bc906006546001600160a01b03166000908152600a60205260409020546107b69060085490610d3e565b90610d3e565b905090565b60006106a782600019610640565b6000546001600160a01b031633146107f95760405162461bcd60e51b81526004016105ed906113e1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461086d5760405162461bcd60e51b81526004016105ed906113e1565b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108c25760405162461bcd60e51b81526004016105ed906113e1565b6015805460ff60a01b1916600160a01b179055436003819055426011556002546108ec9190610d80565b600455565b6000610768338484610962565b600c818154811061090e57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000818484111561094c5760405162461bcd60e51b81526004016105ed919061138c565b50600061095984866114e0565b95945050505050565b60175460009060ff16156109825761097b848484610ddf565b9050610768565b6001600160a01b0384166000908152600e602052604090205460ff161580156109c457506001600160a01b0383166000908152600e602052604090205460ff16155b15610a1957601554600160a01b900460ff16610a195760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016105ed565b610a21610eb3565b15610a2e57610a2e610f0b565b6001600160a01b0384166000908152600d6020526040902054829060ff1615610b88576001600160a01b0384166000908152600e602052604090205460ff16610b83576009546001600160a01b0385166000908152600a6020526040902054610a979085610d80565b111580610abc57506001600160a01b0384166000908152600f602052604090205460ff165b610b085760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d69742045786365656465640060448201526064016105ed565b601054601154610b1791610d80565b4211610b76576001600160a01b03841660009081526012602052604090205460ff16610b765760405162461bcd60e51b815260206004820152600e60248201526d18d85b89dd08189d5e4b081e595d60921b60448201526064016105ed565b610b80858461101d565b90505b610c97565b6001600160a01b0384166000908152600d602052604090205460ff1615610bd3576001600160a01b0385166000908152600e602052604090205460ff16610b8357610b8085846110b6565b6001600160a01b0385166000908152600e602052604090205460ff16610c97576009546001600160a01b0385166000908152600a6020526040902054610c199085610d80565b111580610c3e57506001600160a01b0384166000908152600f602052604090205460ff165b610c8a5760405162461bcd60e51b815260206004820152601f60248201527f4d61782057616c6c6574204c696d6974204c696d69742045786365656465640060448201526064016105ed565b610c94858461113f565b90505b6001600160a01b0385166000908152600a6020526040902054610cba9084610d3e565b6001600160a01b038087166000908152600a60205260408082209390935590861681522054610ce99082610d80565b6001600160a01b038086166000818152600a6020526040908190209390935591519087169060008051602061152483398151915290610d2b9085815260200190565b60405180910390a3506001949350505050565b600061076883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610928565b600080610d8d8385611487565b9050838110156107685760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ed565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054610e30918490610928565b6001600160a01b038086166000908152600a60205260408082209390935590851681522054610e5f9083610d80565b6001600160a01b038085166000818152600a6020526040908190209390935591519086169060008051602061152483398151915290610ea19086815260200190565b60405180910390a35060019392505050565b336000908152600d602052604081205460ff16158015610ed6575060175460ff16155b8015610eeb5750601554600160a81b900460ff165b80156107bc575050601654306000908152600a6020526040902054101590565b6017805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f4d57610f4d61150d565b6001600160a01b039283166020918202929092010152600554825191169082906001908110610f7e57610f7e61150d565b6001600160a01b03928316602091820292909201810191909152601454306000908152600a909252604080832054601354915163791ac94760e01b81529285169463791ac94794610fde9492939092889291909116904290600401611416565b600060405180830381600087803b158015610ff857600080fd5b505af115801561100c573d6000803e3d6000fd5b50506017805460ff19169055505050565b600454600090600290431015611031575060635b60006110486064611042868561117d565b906111fc565b306000908152600a60205260409020549091506110659082610d80565b306000818152600a6020526040908190209290925590516001600160a01b03871690600080516020611524833981519152906110a49085815260200190565b60405180910390a36109598482610d3e565b6000806110c9606461104285600261117d565b306000908152600a60205260409020549091506110e69082610d80565b306000818152600a6020526040908190209290925590516001600160a01b03861690600080516020611524833981519152906111259085815260200190565b60405180910390a36111378382610d3e565b949350505050565b6000806111516064611042858461117d565b9050801561117357306000908152600a60205260409020546110e69082610d80565b6111378382610d3e565b60008261118c575060006106a7565b600061119883856114c1565b9050826111a5858361149f565b146107685760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ed565b600061076883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361125a5760405162461bcd60e51b81526004016105ed919061138c565b506000610959848661149f565b80356001600160a01b038116811461127e57600080fd5b919050565b60006020828403121561129557600080fd5b61076882611267565b600080604083850312156112b157600080fd5b6112ba83611267565b91506112c860208401611267565b90509250929050565b6000806000606084860312156112e657600080fd5b6112ef84611267565b92506112fd60208501611267565b9150604084013590509250925092565b6000806040838503121561132057600080fd5b61132983611267565b91506020830135801515811461133e57600080fd5b809150509250929050565b6000806040838503121561135c57600080fd5b61136583611267565b946020939093013593505050565b60006020828403121561138557600080fd5b5035919050565b600060208083528351808285015260005b818110156113b95785810183015185820160400152820161139d565b818111156113cb576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114665784516001600160a01b031683529383019391830191600101611441565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561149a5761149a6114f7565b500190565b6000826114bc57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156114db576114db6114f7565b500290565b6000828210156114f2576114f26114f7565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201632fb25b42ef263caed23af5c4bcd0612a9dc5be2bb3ced8ac63311eb66dfb364736f6c63430008070033

Deployed Bytecode Sourcemap

4795:9295:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13806:162;;;;;;;;;;-1:-1:-1;13806:162:0;;;;;:::i;:::-;;:::i;:::-;;6335:54;;;;;;;;;;;;;;;;;;;5669:25:1;;;5657:2;5642:18;6335:54:0;;;;;;;;7500:80;;;;;;;;;;-1:-1:-1;7572:5:0;;;;;;;;;;;;-1:-1:-1;;;7572:5:0;;;;7500:80;;;;;;;:::i;7924:216::-;;;;;;;;;;-1:-1:-1;7924:216:0;;;;;:::i;:::-;;:::i;:::-;;;2150:14:1;;2143:22;2125:41;;2113:2;2098:18;7924:216:0;1985:187:1;5706:50:0;;;;;;;;;;-1:-1:-1;5706:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7230:88;;;;;;;;;;-1:-1:-1;7303:12:0;;7230:88;;8442:370;;;;;;;;;;-1:-1:-1;8442:370:0;;;;;:::i;:::-;;:::i;13656:142::-;;;;;;;;;;;;;:::i;7324:80::-;;;;;;;;;;-1:-1:-1;7324:80:0;;5287:2;6832:36:1;;6820:2;6805:18;7324:80:0;6690:184:1;5655:44:0;;;;;;;;;;-1:-1:-1;5655:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6257:34;;;;;;;;;;-1:-1:-1;6257:34:0;;;;-1:-1:-1;;;6257:34:0;;;;;;8148:122;;;;;;;;;;-1:-1:-1;8148:122:0;;;;;:::i;:::-;;:::i;5362:52::-;;;;;;;;;;;;;;;;6298:30;;;;;;;;;;-1:-1:-1;6298:30:0;;;;-1:-1:-1;;;6298:30:0;;;;;;7672:105;;;;;;;;;;-1:-1:-1;7672:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;7756:18:0;7738:7;7756:18;;;:9;:18;;;;;;;7672:105;3098:148;;;;;;;;;;;;;:::i;13976:107::-;;;;;;;;;;-1:-1:-1;13976:107:0;;;;;:::i;:::-;;:::i;7586:80::-;;;;;;;;;;-1:-1:-1;7638:7:0;2949:6;-1:-1:-1;;;;;2949:6:0;7586:80;;;-1:-1:-1;;;;;1941:32:1;;;1923:51;;1911:2;1896:18;7586:80:0;1777:203:1;12278:223:0;;;;;;;;;;;;;:::i;2884:79::-;;;;;;;;;;-1:-1:-1;2922:7:0;2949:6;-1:-1:-1;;;;;2949:6:0;2884:79;;7410:84;;;;;;;;;;-1:-1:-1;7484:7:0;;;;;;;;;;;;-1:-1:-1;;;7484:7:0;;;;7410:84;;6229:19;;;;;;;;;;-1:-1:-1;6229:19:0;;;;-1:-1:-1;;;;;6229:19:0;;;8278:156;;;;;;;;;;-1:-1:-1;8278:156:0;;;;;:::i;:::-;;:::i;5590:58::-;;;;;;;;;;-1:-1:-1;5590:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4909:26;;;;;;;;;;;;;;;;7783:133;;;;;;;;;;-1:-1:-1;7783:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7885:19:0;;;7867:7;7885:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7783:133;5554:29;;;;;;;;;;-1:-1:-1;5554:29:0;;;;;:::i;:::-;;:::i;6198:24::-;;;;;;;;;;-1:-1:-1;6198:24:0;;;;-1:-1:-1;;;;;6198:24:0;;;13806:162;3011:6;;-1:-1:-1;;;;;3011:6:0;2261:10;3011:22;3003:67;;;;-1:-1:-1;;;3003:67:0;;;;;;;:::i;:::-;;;;;;;;;13894:2:::1;13884:7;:12;13876:43;;;::::0;-1:-1:-1;;;13876:43:0;;3207:2:1;13876:43:0::1;::::0;::::1;3189:21:1::0;3246:2;3226:18;;;3219:30;-1:-1:-1;;;3265:18:1;;;3258:48;3323:18;;13876:43:0::1;3005:342:1::0;13876:43:0::1;13930:10;:20:::0;13806:162::o;7924:216::-;8028:10;7999:4;8016:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8016:32:0;;;;;;;;;;:41;;;8073:37;7999:4;;8016:32;;8073:37;;;;8051:6;5669:25:1;;5657:2;5642:18;;5523:177;8073:37:0;;;;;;;;-1:-1:-1;8128:4:0;7924:216;;;;;:::o;8442:370::-;-1:-1:-1;;;;;8562:19:0;;8542:4;8562:19;;;:11;:19;;;;;;;;8582:10;8562:31;;;;;;;;-1:-1:-1;;8562:52:0;8559:186;;8664:69;;;;;;;;;;;-1:-1:-1;;;8664:69:0;;;;;;;;-1:-1:-1;;;;;8664:19:0;;-1:-1:-1;8664:19:0;;;:11;:19;;;;;8684:10;8664:31;;;;;;;;;;:69;;8700:6;;8664:35;:69::i;:::-;-1:-1:-1;;;;;8630:19:0;;;;;;:11;:19;;;;;;;;8650:10;8630:31;;;;;;;:103;8559:186;8764:40;8778:6;8786:9;8797:6;8764:13;:40::i;:::-;8757:47;;8442:370;;;;;;:::o;13656:142::-;13784:4;;-1:-1:-1;;;;;13784:4:0;13709:7;7756:18;;;:9;:18;;;;;;13736:54;;13763:4;;-1:-1:-1;;;;;13763:4:0;7738:7;7756:18;;;:9;:18;;;;;;13736:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;13729:61;;13656:142;:::o;8148:122::-;8203:4;8227:35;8235:7;-1:-1:-1;;8227:7:0;:35::i;3098:148::-;3011:6;;-1:-1:-1;;;;;3011:6:0;2261:10;3011:22;3003:67;;;;-1:-1:-1;;;3003:67:0;;;;;;;:::i;:::-;3205:1:::1;3189:6:::0;;3168:40:::1;::::0;-1:-1:-1;;;;;3189:6:0;;::::1;::::0;3168:40:::1;::::0;3205:1;;3168:40:::1;3236:1;3219:19:::0;;-1:-1:-1;;;;;;3219:19:0::1;::::0;;3098:148::o;13976:107::-;3011:6;;-1:-1:-1;;;;;3011:6:0;2261:10;3011:22;3003:67;;;;-1:-1:-1;;;3003:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14055:14:0;;;::::1;;::::0;;;:4:::1;:14;::::0;;;;:20;;-1:-1:-1;;14055:20:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13976:107::o;12278:223::-;3011:6;;-1:-1:-1;;;;;3011:6:0;2261:10;3011:22;3003:67;;;;-1:-1:-1;;;3003:67:0;;;;;;;:::i;:::-;12333:14:::1;:21:::0;;-1:-1:-1;;;;12333:21:0::1;-1:-1:-1::0;;;12333:21:0::1;::::0;;12379:12:::1;12365:11;:26:::0;;;12420:15:::1;12402;:33:::0;12482:10:::1;::::0;12465:28:::1;::::0;12379:12;12465:16:::1;:28::i;:::-;12447:15;:46:::0;12278:223::o;8278:156::-;8358:4;8382:44;8396:10;8408:9;8419:6;8382:13;:44::i;5554:29::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5554:29:0;;-1:-1:-1;5554:29:0;:::o;423:192::-;509:7;545:12;537:6;;;;529:29;;;;-1:-1:-1;;;529:29:0;;;;;;;;:::i;:::-;-1:-1:-1;569:9:0;581:5;585:1;581;:5;:::i;:::-;569:17;423:192;-1:-1:-1;;;;;423:192:0:o;8820:1566::-;8932:6;;8912:4;;8932:6;;8929:63;;;8948:41;8963:6;8971:9;8982:6;8948:14;:41::i;:::-;8941:48;;;;8929:63;-1:-1:-1;;;;;9008:19:0;;;;;;:11;:19;;;;;;;;9007:20;:47;;;;-1:-1:-1;;;;;;9032:22:0;;;;;;:11;:22;;;;;;;;9031:23;9007:47;9004:124;;;9078:14;;-1:-1:-1;;;9078:14:0;;;;9070:46;;;;-1:-1:-1;;;9070:46:0;;4613:2:1;9070:46:0;;;4595:21:1;4652:2;4632:18;;;4625:30;-1:-1:-1;;;4671:18:1;;;4664:50;4731:18;;9070:46:0;4411:344:1;9070:46:0;9143:16;:14;:16::i;:::-;9140:35;;;9162:10;:8;:10::i;:::-;-1:-1:-1;;;;;9235:33:0;;9187:22;9235:33;;;:25;:33;;;;;;9212:6;;9235:33;;9232:918;;;-1:-1:-1;;;;;9295:22:0;;;;;;:11;:22;;;;;;;;9291:368;;9382:16;;-1:-1:-1;;;;;9346:20:0;;;;;;:9;:20;;;;;;:32;;9371:6;9346:24;:32::i;:::-;:52;;:84;;;-1:-1:-1;;;;;;9402:28:0;;;;;;:17;:28;;;;;;;;9346:84;9338:128;;;;-1:-1:-1;;;9338:128:0;;3554:2:1;9338:128:0;;;3536:21:1;3593:2;3573:18;;;3566:30;3632:33;3612:18;;;3605:61;3683:18;;9338:128:0;3352:355:1;9338:128:0;9527:6;;9507:15;;:27;;:19;:27::i;:::-;9488:15;:46;9485:97;;-1:-1:-1;;;;;9546:15:0;;;;;;:4;:15;;;;;;;;9537:43;;;;-1:-1:-1;;;9537:43:0;;4270:2:1;9537:43:0;;;4252:21:1;4309:2;4289:18;;;4282:30;-1:-1:-1;;;4328:18:1;;;4321:44;4382:18;;9537:43:0;4068:338:1;9537:43:0;9617:26;9628:6;9636;9617:10;:26::i;:::-;9600:43;;9291:368;9232:918;;;-1:-1:-1;;;;;9681:36:0;;;;;;:25;:36;;;;;;;;9678:472;;;-1:-1:-1;;;;;9745:19:0;;;;;;:11;:19;;;;;;;;9741:106;;9802:27;9814:6;9822;9802:11;:27::i;9678:472::-;-1:-1:-1;;;;;9885:19:0;;;;;;:11;:19;;;;;;;;9880:259;;9970:16;;-1:-1:-1;;;;;9934:20:0;;;;;;:9;:20;;;;;;:32;;9959:6;9934:24;:32::i;:::-;:52;;:84;;;-1:-1:-1;;;;;;9990:28:0;;;;;;:17;:28;;;;;;;;9934:84;9926:128;;;;-1:-1:-1;;;9926:128:0;;3554:2:1;9926:128:0;;;3536:21:1;3593:2;3573:18;;;3566:30;3632:33;3612:18;;;3605:61;3683:18;;9926:128:0;3352:355:1;9926:128:0;10090:31;10106:6;10114;10090:15;:31::i;:::-;10073:48;;9880:259;-1:-1:-1;;;;;10182:17:0;;;;;;:9;:17;;;;;;:29;;10204:6;10182:21;:29::i;:::-;-1:-1:-1;;;;;10162:17:0;;;;;;;:9;:17;;;;;;:49;;;;10245:20;;;;;;;:40;;10270:14;10245:24;:40::i;:::-;-1:-1:-1;;;;;10222:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10313:43;;;;;;-1:-1:-1;;;;;;;;;;;10313:43:0;;;10341:14;5669:25:1;;5657:2;5642:18;;5523:177;10313:43:0;;;;;;;;-1:-1:-1;10374:4:0;;8820:1566;-1:-1:-1;;;;8820:1566:0:o;281:136::-;339:7;366:43;370:1;373;366:43;;;;;;;;;;;;;;;;;:3;:43::i;94:181::-;152:7;;184:5;188:1;184;:5;:::i;:::-;172:17;;213:1;208;:6;;200:46;;;;-1:-1:-1;;;200:46:0;;3914:2:1;200:46:0;;;3896:21:1;3953:2;3933:18;;;3926:30;3992:29;3972:18;;;3965:57;4039:18;;200:46:0;3712:351:1;10398:330:0;10528:53;;;;;;;;;;;-1:-1:-1;;;10528:53:0;;;;;;;;-1:-1:-1;;;;;10528:17:0;;10491:4;10528:17;;;:9;:17;;;;;;;:53;;10550:6;;10528:21;:53::i;:::-;-1:-1:-1;;;;;10508:17:0;;;;;;;:9;:17;;;;;;:73;;;;10615:20;;;;;;;:32;;10640:6;10615:24;:32::i;:::-;-1:-1:-1;;;;;10592:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10663:35;;;;;;-1:-1:-1;;;;;;;;;;;10663:35:0;;;10691:6;5669:25:1;;5657:2;5642:18;;5523:177;10663:35:0;;;;;;;;-1:-1:-1;10716:4:0;10398:330;;;;;:::o;12021:226::-;12130:10;12070:4;12104:37;;;:25;:37;;;;;;;;12103:38;:58;;;;-1:-1:-1;12155:6:0;;;;12154:7;12103:58;:82;;;;-1:-1:-1;12174:11:0;;-1:-1:-1;;;12174:11:0;;;;12103:82;:136;;;;-1:-1:-1;;12226:13:0;;12216:4;12198:24;;;;:9;:24;;;;;;:41;;;12021:226::o;12509:376::-;6446:6;:13;;-1:-1:-1;;6446:13:0;6455:4;6446:13;;;12582:16:::1;::::0;;12596:1:::1;12582:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12582:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12582:16:0::1;12558:40;;12627:4;12609;12614:1;12609:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12609:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12653:4:::1;::::0;12643:7;;12653:4;::::1;::::0;12643;;12653;;12643:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;12643:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;12670:6:::1;::::0;12760:4:::1;12670:6;12742:24:::0;;;:9:::1;:24:::0;;;;;;;;12816:20:::1;::::0;12670:207;;-1:-1:-1;;;12670:207:0;;:6;;::::1;::::0;:57:::1;::::0;:207:::1;::::0;12742:24;;12670:6;;12797:4;;12816:20;;;::::1;::::0;12851:15:::1;::::0;12670:207:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6464:6:0;:14;;-1:-1:-1;;6464:14:0;;;-1:-1:-1;;;12509:376:0:o;10749:472::-;10898:15;;10819:7;;5995:1;;10883:12;:30;10879:84;;;-1:-1:-1;10945:2:0;10879:84;10975:17;10995:40;6096:3;10995:20;:6;11006:8;10995:10;:20::i;:::-;:24;;:40::i;:::-;11093:4;11075:24;;;;:9;:24;;;;;;10975:60;;-1:-1:-1;11075:39:0;;10975:60;11075:28;:39::i;:::-;11066:4;11048:24;;;;:9;:24;;;;;;;:66;;;;11130:42;;-1:-1:-1;;;;;11130:42:0;;;-1:-1:-1;;;;;;;;;;;11130:42:0;;;11162:9;5669:25:1;;5657:2;5642:18;;5523:177;11130:42:0;;;;;;;;11192:21;:6;11203:9;11192:10;:21::i;11229:356::-;11300:7;;11341:44;6096:3;11341:24;:6;6043:1;11341:10;:24::i;:44::-;11443:4;11425:24;;;;:9;:24;;;;;;11321:64;;-1:-1:-1;11425:39:0;;11321:64;11425:28;:39::i;:::-;11416:4;11398:24;;;;:9;:24;;;;;;;:66;;;;11480:42;;-1:-1:-1;;;;;11480:42:0;;;-1:-1:-1;;;;;;;;;;;11480:42:0;;;11512:9;5669:25:1;;5657:2;5642:18;;5523:177;11480:42:0;;;;;;;;11542:21;:6;11553:9;11542:10;:21::i;:::-;11535:28;11229:356;-1:-1:-1;;;;11229:356:0:o;11593:416::-;11668:7;;11707:43;6096:3;11707:23;:6;11668:7;11707:10;:23::i;:43::-;11687:63;-1:-1:-1;11775:13:0;;11771:176;;11850:4;11832:24;;;;:9;:24;;;;;;:39;;11861:9;11832:28;:39::i;11771:176::-;11979:21;:6;11990:9;11979:10;:21::i;621:250::-;679:7;703:6;699:47;;-1:-1:-1;733:1:0;726:8;;699:47;758:9;770:5;774:1;770;:5;:::i;:::-;758:17;-1:-1:-1;803:1:0;794:5;798:1;758:17;794:5;:::i;:::-;:10;786:56;;;;-1:-1:-1;;;786:56:0;;4962:2:1;786:56:0;;;4944:21:1;5001:2;4981:18;;;4974:30;5040:34;5020:18;;;5013:62;-1:-1:-1;;;5091:18:1;;;5084:31;5132:19;;786:56:0;4760:397:1;877:132:0;935:7;962:39;966:1;969;962:39;;;;;;;;;;;;;;;;;1101:7;1136:12;1129:5;1121:28;;;;-1:-1:-1;;;1121:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1160:9:0;1172:5;1176:1;1172;:5;:::i;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;383:260;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:52;;;810:1;807;800:12;762:52;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;648:328;;;;;:::o;981:347::-;1046:6;1054;1107:2;1095:9;1086:7;1082:23;1078:32;1075:52;;;1123:1;1120;1113:12;1075:52;1146:29;1165:9;1146:29;:::i;:::-;1136:39;;1225:2;1214:9;1210:18;1197:32;1272:5;1265:13;1258:21;1251:5;1248:32;1238:60;;1294:1;1291;1284:12;1238:60;1317:5;1307:15;;;981:347;;;;;:::o;1333:254::-;1401:6;1409;1462:2;1450:9;1441:7;1437:23;1433:32;1430:52;;;1478:1;1475;1468:12;1430:52;1501:29;1520:9;1501:29;:::i;:::-;1491:39;1577:2;1562:18;;;;1549:32;;-1:-1:-1;;;1333:254:1:o;1592:180::-;1651:6;1704:2;1692:9;1683:7;1679:23;1675:32;1672:52;;;1720:1;1717;1710:12;1672:52;-1:-1:-1;1743:23:1;;1592:180;-1:-1:-1;1592:180:1:o;2403:597::-;2515:4;2544:2;2573;2562:9;2555:21;2605:6;2599:13;2648:6;2643:2;2632:9;2628:18;2621:34;2673:1;2683:140;2697:6;2694:1;2691:13;2683:140;;;2792:14;;;2788:23;;2782:30;2758:17;;;2777:2;2754:26;2747:66;2712:10;;2683:140;;;2841:6;2838:1;2835:13;2832:91;;;2911:1;2906:2;2897:6;2886:9;2882:22;2878:31;2871:42;2832:91;-1:-1:-1;2984:2:1;2963:15;-1:-1:-1;;2959:29:1;2944:45;;;;2991:2;2940:54;;2403:597;-1:-1:-1;;;2403:597:1:o;5162:356::-;5364:2;5346:21;;;5383:18;;;5376:30;5442:34;5437:2;5422:18;;5415:62;5509:2;5494:18;;5162:356::o;5705:980::-;5967:4;6015:3;6004:9;6000:19;6046:6;6035:9;6028:25;6072:2;6110:6;6105:2;6094:9;6090:18;6083:34;6153:3;6148:2;6137:9;6133:18;6126:31;6177:6;6212;6206:13;6243:6;6235;6228:22;6281:3;6270:9;6266:19;6259:26;;6320:2;6312:6;6308:15;6294:29;;6341:1;6351:195;6365:6;6362:1;6359:13;6351:195;;;6430:13;;-1:-1:-1;;;;;6426:39:1;6414:52;;6521:15;;;;6486:12;;;;6462:1;6380:9;6351:195;;;-1:-1:-1;;;;;;;6602:32:1;;;;6597:2;6582:18;;6575:60;-1:-1:-1;;;6666:3:1;6651:19;6644:35;6563:3;5705:980;-1:-1:-1;;;5705:980:1:o;6879:128::-;6919:3;6950:1;6946:6;6943:1;6940:13;6937:39;;;6956:18;;:::i;:::-;-1:-1:-1;6992:9:1;;6879:128::o;7012:217::-;7052:1;7078;7068:132;;7122:10;7117:3;7113:20;7110:1;7103:31;7157:4;7154:1;7147:15;7185:4;7182:1;7175:15;7068:132;-1:-1:-1;7214:9:1;;7012:217::o;7234:168::-;7274:7;7340:1;7336;7332:6;7328:14;7325:1;7322:21;7317:1;7310:9;7303:17;7299:45;7296:71;;;7347:18;;:::i;:::-;-1:-1:-1;7387:9:1;;7234:168::o;7407:125::-;7447:4;7475:1;7472;7469:8;7466:34;;;7480:18;;:::i;:::-;-1:-1:-1;7517:9:1;;7407:125::o;7537:127::-;7598:10;7593:3;7589:20;7586:1;7579:31;7629:4;7626:1;7619:15;7653:4;7650:1;7643:15;7669:127;7730:10;7725:3;7721:20;7718:1;7711:31;7761:4;7758:1;7751:15;7785:4;7782:1;7775:15

Swarm Source

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