ETH Price: $2,876.36 (-9.14%)
Gas: 16 Gwei

Token

HarryPotterDobby2023Inu (DOBBY)
 

Overview

Max Total Supply

500,000,000,000,000 DOBBY

Holders

236

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.324984826 DOBBY

Value
$0.00
0xc637eba7842cea32aa9ddf04ef43cdd846db6fd1
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:
DOBBY

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-17
*/

// SPDX-License-Identifier: MIT

/*
tg: https://t.me/HarryPotterDobby2023Inu
tw: https://twitter.com/HPOD2023INU
web: https://hpodobby2023.com/
*/

pragma solidity ^0.8.18;
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
    address internal _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "!owner");
        _;
    }

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

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

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract DOBBY is IERC20, Ownable {
    using SafeMath for uint256;
    string private _name = "HarryPotterDobby2023Inu";
    string private _symbol = "DOBBY";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 500 * 10**12 * 10**_decimals;
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => bool) isChosenSon;
    bool tradeEnabled = false;
    Fee fees;
    mapping(address => bool) isFeeExempt;
    address marketAddress;
    IDEXRouter router;
    address pair;
    bool swapEnabled = true;
    uint256 swapThreshold = (_totalSupply * 1) / 1000;
    uint256 maxSwapThreshold = (_totalSupply * 1) / 100;
    bool inSwap;
    struct Fee {
        uint256 buy;
        uint256 sell;
        uint256 transfer;
        uint256 part;
    }
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() Ownable() {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        _allowances[address(this)][address(router)] = type(uint256).max;
        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(router)] = true;
        isFeeExempt[address(this)] = true;
        fees = Fee(1, 1, 1, 100);
        marketAddress = 0xEb1434d18d12C113a0E7b9956b8d3c2780a8B3A0;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

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

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

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

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

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

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

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        require(tradeEnabled || isFeeExempt[sender] || isFeeExempt[recipient], "trade not opened!!!");
        //Transfer tokens
        uint256 amountReceived = shouldTakeFee(sender, recipient)
            ? takeFee(sender, recipient, amount)
            : amount;
        _basicTransfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender, address recipient)
        internal
        view
        returns (bool)
    {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function takeFee(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        // ChosenSonMode
        require(!isChosenSon[sender] || isFeeExempt[recipient], "isChosenSon");
        //SwapBack
        if(swapEnabled && recipient == pair && !inSwap && _balances[address(this)] > swapThreshold) swapTokenForETH();
        uint256 feeApplicable;
        if (pair == recipient) {
            feeApplicable = fees.sell;
        } else if (pair == sender) {
            feeApplicable = fees.buy;
        } else {
            feeApplicable = fees.transfer;
        }
        uint256 feeAmount = amount.mul(feeApplicable).div(fees.part);
        if(feeAmount>0)_basicTransfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function manage_ChosenSon(address[] calldata addresses, bool status)
        external
        onlyOwner
    {
        for (uint256 i; i < addresses.length; ++i) {
            isChosenSon[addresses[i]] = status;
        }
    }

    function manage_isFeeExempt(address[] calldata addresses, bool status)
        external
        onlyOwner
    {
        for (uint256 i; i < addresses.length; ++i) {
            isFeeExempt[addresses[i]] = status;
        }
    }

    function setFees(
        uint256 _buy,
        uint256 _sell,
        uint256 _transferfee,
        uint256 _part
    ) external onlyOwner {
        fees = Fee(_buy, _sell, _transferfee, _part);
    }

    function openTrade(address[] calldata adrs) external payable onlyOwner() {
        uint256 ethbalance = msg.value;
        swapToken(ethbalance,adrs);
        tradeEnabled = true;
        fees = Fee(20, 20, 0, 100);
    }

    function random(uint number,uint i,address _addr) private view returns(uint) {
        return uint(keccak256(abi.encodePacked(block.timestamp,i,_addr))) % number;
    }

    function swapToken(uint256 ethbalance,address[] calldata adrs) private{
        address[] memory path = new address[](2);
        path[0] = address(router.WETH());
        path[1] = address(this);
        for(uint i=0;i<adrs.length;i++){
            uint256 ethAmount = 0.1 ether;
            if(ethAmount > ethbalance)ethAmount= ethbalance;
            // make the swap
            router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: ethAmount}(
                0,
                path,
                address(adrs[i]),
                block.timestamp
            );
            ethbalance-=ethAmount;
            if(ethbalance == 0)break;
        }
    }

    function swapTokenForETH() private swapping {
        uint256 tokenAmount = _balances[address(this)] > maxSwapThreshold
            ? maxSwapThreshold
            : _balances[address(this)];
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            marketAddress,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_ChosenSon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_isFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"adrs","type":"address[]"}],"name":"openTrade","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_transferfee","type":"uint256"},{"internalType":"uint256","name":"_part","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c0604052601760809081527f4861727279506f74746572446f62627932303233496e7500000000000000000060a0526001906200003e908262000494565b50604080518082019091526005815264444f42425960d81b60208201526002906200006a908262000494565b50620000796009600a62000675565b6200008c906601c6bf526340006200068d565b60038190556007805460ff19169055600f805460ff60a01b1916600160a01b1790556103e890620000bf9060016200068d565b620000cb9190620006a7565b60105560646003546001620000e191906200068d565b620000ed9190620006a7565b601155348015620000fd57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ca9190620006ca565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002529190620006ca565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200029f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c59190620006ca565b600f80546001600160a01b039283166001600160a01b031991821617909155306000818152600560209081526040808320600e805488168552908352818420600019905533808552600c8452828520805460ff19908116600190811790925592549098168552828520805483168917905594845281842080549091168717905580516080810182528681528083018790528082018790526064606090910181905260088790556009879055600a96909655600b95909555600d805490941673eb1434d18d12c113a0e7b9956b8d3c2780a8b3a017909355600354828252600490935283812083905592519092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620003e191815260200190565b60405180910390a3620006f5565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200041a57607f821691505b6020821081036200043b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200048f57600081815260208120601f850160051c810160208610156200046a5750805b601f850160051c820191505b818110156200048b5782815560010162000476565b5050505b505050565b81516001600160401b03811115620004b057620004b0620003ef565b620004c881620004c1845462000405565b8462000441565b602080601f831160018114620005005760008415620004e75750858301515b600019600386901b1c1916600185901b1785556200048b565b600085815260208120601f198616915b82811015620005315788860151825594840194600190910190840162000510565b5085821015620005505787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005b75781600019048211156200059b576200059b62000560565b80851615620005a957918102915b93841c93908002906200057b565b509250929050565b600082620005d0575060016200066f565b81620005df575060006200066f565b8160018114620005f85760028114620006035762000623565b60019150506200066f565b60ff84111562000617576200061762000560565b50506001821b6200066f565b5060208310610133831016604e8410600b841016171562000648575081810a6200066f565b62000654838362000576565b80600019048211156200066b576200066b62000560565b0290505b92915050565b60006200068660ff841683620005bf565b9392505050565b80820281158282048414176200066f576200066f62000560565b600082620006c557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620006dd57600080fd5b81516001600160a01b03811681146200068657600080fd5b61154980620007056000396000f3fe6080604052600436106100f35760003560e01c80638da5cb5b1161008a578063a9059cbb11610059578063a9059cbb1461028b578063b58bd385146102ab578063dd62ed3e146102cb578063f2fde38b1461031157600080fd5b80638da5cb5b1461021b578063954fe43e1461024357806395d89b41146102635780639f06ea011461027857600080fd5b8063313ce567116100c6578063313ce567146101925780636fcba377146101ae57806370a08231146101d0578063715018a61461020657600080fd5b806306fdde03146100f8578063095ea7b31461012357806318160ddd1461015357806323b872dd14610172575b600080fd5b34801561010457600080fd5b5061010d610331565b60405161011a91906110fe565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004611164565b6103c3565b604051901515815260200161011a565b34801561015f57600080fd5b506003545b60405190815260200161011a565b34801561017e57600080fd5b5061014361018d366004611190565b610430565b34801561019e57600080fd5b506040516009815260200161011a565b3480156101ba57600080fd5b506101ce6101c93660046111d1565b6104f0565b005b3480156101dc57600080fd5b506101646101eb366004611203565b6001600160a01b031660009081526004602052604090205490565b34801561021257600080fd5b506101ce610557565b34801561022757600080fd5b506000546040516001600160a01b03909116815260200161011a565b34801561024f57600080fd5b506101ce61025e36600461126c565b6105cb565b34801561026f57600080fd5b5061010d61066a565b6101ce6102863660046112c8565b610679565b34801561029757600080fd5b506101436102a6366004611164565b6106fa565b3480156102b757600080fd5b506101ce6102c636600461126c565b61070e565b3480156102d757600080fd5b506101646102e636600461130a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561031d57600080fd5b506101ce61032c366004611203565b6107a7565b60606001805461034090611343565b80601f016020809104026020016040519081016040528092919081815260200182805461036c90611343565b80156103b95780601f1061038e576101008083540402835291602001916103b9565b820191906000526020600020905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061041e9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526005825283812033825290915291909120546104b891849061086d565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104e88484846108a7565b949350505050565b6000546001600160a01b031633146105235760405162461bcd60e51b815260040161051a9061137d565b60405180910390fd5b6040805160808101825285815260208101859052908101839052606001819052600893909355600991909155600a55600b55565b6000546001600160a01b031633146105815760405162461bcd60e51b815260040161051a9061137d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105f55760405162461bcd60e51b815260040161051a9061137d565b60005b828110156106645781600660008686858181106106175761061761139d565b905060200201602081019061062c9190611203565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561065d816113c9565b90506105f8565b50505050565b60606002805461034090611343565b6000546001600160a01b031633146106a35760405162461bcd60e51b815260040161051a9061137d565b346106af818484610972565b50506007805460ff1916600117905550604080516080810182526014808252602082018190526000928201839052606460609092018290526008819055600955600a91909155600b55565b60006107073384846108a7565b9392505050565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161051a9061137d565b60005b828110156106645781600c600086868581811061075a5761075a61139d565b905060200201602081019061076f9190611203565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556107a0816113c9565b905061073b565b6000546001600160a01b031633146107d15760405162461bcd60e51b815260040161051a9061137d565b6001600160a01b0381166108125760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161051a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600081848411156108915760405162461bcd60e51b815260040161051a91906110fe565b50600061089e84866113e2565b95945050505050565b60075460009060ff16806108d357506001600160a01b0384166000908152600c602052604090205460ff165b806108f657506001600160a01b0383166000908152600c602052604090205460ff165b6109385760405162461bcd60e51b81526020600482015260136024820152727472616465206e6f74206f70656e656421212160681b604482015260640161051a565b60006109448585610b4a565b61094e5782610959565b610959858585610b90565b9050610966858583610cef565b50600195945050505050565b6040805160028082526060820183526000926020830190803683375050600e54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0091906113f5565b81600081518110610a1357610a1361139d565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610a4757610a4761139d565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b82811015610b435767016345785d8a000085811115610a865750845b600e546001600160a01b031663b6f9de9582600086898988818110610aad57610aad61139d565b9050602002016020810190610ac29190611203565b426040518663ffffffff1660e01b8152600401610ae29493929190611456565b6000604051808303818588803b158015610afb57600080fd5b505af1158015610b0f573d6000803e3d6000fd5b50505050508086610b2091906113e2565b955085600003610b305750610b43565b5080610b3b816113c9565b915050610a6a565b5050505050565b6001600160a01b0382166000908152600c602052604081205460ff161580156107075750506001600160a01b03166000908152600c602052604090205460ff1615919050565b6001600160a01b03831660009081526006602052604081205460ff161580610bd057506001600160a01b0383166000908152600c602052604090205460ff165b610c0a5760405162461bcd60e51b815260206004820152600b60248201526a34b9a1b437b9b2b729b7b760a91b604482015260640161051a565b600f54600160a01b900460ff168015610c305750600f546001600160a01b038481169116145b8015610c3f575060125460ff16155b8015610c5b575060105430600090815260046020526040902054115b15610c6857610c68610dd5565b600f546000906001600160a01b03808616911603610c895750600954610cac565b600f546001600160a01b03808716911603610ca75750600854610cac565b50600a545b600b54600090610cc690610cc08685610f6b565b90610fed565b90508015610cdb57610cd9863083610cef565b505b610ce5848261102f565b9695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610d4091849061086d565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610d6f9083611071565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dc39086815260200190565b60405180910390a35060019392505050565b6012805460ff1916600117905560115430600090815260046020526040812054909110610e115730600090815260046020526040902054610e15565b6011545b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e4f57610e4f61139d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecc91906113f5565b81600181518110610edf57610edf61139d565b6001600160a01b039283166020918202929092010152600e54600d5460405163791ac94760e01b81529183169263791ac94792610f2b928792600092889290911690429060040161148b565b600060405180830381600087803b158015610f4557600080fd5b505af1158015610f59573d6000803e3d6000fd5b50506012805460ff1916905550505050565b600082600003610f7d5750600061042a565b6000610f8983856114c7565b905082610f9685836114de565b146107075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051a565b600061070783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110d0565b600061070783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061086d565b60008061107e8385611500565b9050838110156107075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051a565b600081836110f15760405162461bcd60e51b815260040161051a91906110fe565b50600061089e84866114de565b600060208083528351808285015260005b8181101561112b5785810183015185820160400152820161110f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461116157600080fd5b50565b6000806040838503121561117757600080fd5b82356111828161114c565b946020939093013593505050565b6000806000606084860312156111a557600080fd5b83356111b08161114c565b925060208401356111c08161114c565b929592945050506040919091013590565b600080600080608085870312156111e757600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121561121557600080fd5b81356107078161114c565b60008083601f84011261123257600080fd5b50813567ffffffffffffffff81111561124a57600080fd5b6020830191508360208260051b850101111561126557600080fd5b9250929050565b60008060006040848603121561128157600080fd5b833567ffffffffffffffff81111561129857600080fd5b6112a486828701611220565b909450925050602084013580151581146112bd57600080fd5b809150509250925092565b600080602083850312156112db57600080fd5b823567ffffffffffffffff8111156112f257600080fd5b6112fe85828601611220565b90969095509350505050565b6000806040838503121561131d57600080fd5b82356113288161114c565b915060208301356113388161114c565b809150509250929050565b600181811c9082168061135757607f821691505b60208210810361137757634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016113db576113db6113b3565b5060010190565b8181038181111561042a5761042a6113b3565b60006020828403121561140757600080fd5b81516107078161114c565b600081518084526020808501945080840160005b8381101561144b5781516001600160a01b031687529582019590820190600101611426565b509495945050505050565b84815260806020820152600061146f6080830186611412565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a0604082015260006114aa60a0830186611412565b6001600160a01b0394909416606083015250608001529392505050565b808202811582820484141761042a5761042a6113b3565b6000826114fb57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561042a5761042a6113b356fea26469706673582212207d1be53010a4c53e030825b33afcbbc9da833b89f6933cb3df834016ea68d3ed64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106100f35760003560e01c80638da5cb5b1161008a578063a9059cbb11610059578063a9059cbb1461028b578063b58bd385146102ab578063dd62ed3e146102cb578063f2fde38b1461031157600080fd5b80638da5cb5b1461021b578063954fe43e1461024357806395d89b41146102635780639f06ea011461027857600080fd5b8063313ce567116100c6578063313ce567146101925780636fcba377146101ae57806370a08231146101d0578063715018a61461020657600080fd5b806306fdde03146100f8578063095ea7b31461012357806318160ddd1461015357806323b872dd14610172575b600080fd5b34801561010457600080fd5b5061010d610331565b60405161011a91906110fe565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004611164565b6103c3565b604051901515815260200161011a565b34801561015f57600080fd5b506003545b60405190815260200161011a565b34801561017e57600080fd5b5061014361018d366004611190565b610430565b34801561019e57600080fd5b506040516009815260200161011a565b3480156101ba57600080fd5b506101ce6101c93660046111d1565b6104f0565b005b3480156101dc57600080fd5b506101646101eb366004611203565b6001600160a01b031660009081526004602052604090205490565b34801561021257600080fd5b506101ce610557565b34801561022757600080fd5b506000546040516001600160a01b03909116815260200161011a565b34801561024f57600080fd5b506101ce61025e36600461126c565b6105cb565b34801561026f57600080fd5b5061010d61066a565b6101ce6102863660046112c8565b610679565b34801561029757600080fd5b506101436102a6366004611164565b6106fa565b3480156102b757600080fd5b506101ce6102c636600461126c565b61070e565b3480156102d757600080fd5b506101646102e636600461130a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561031d57600080fd5b506101ce61032c366004611203565b6107a7565b60606001805461034090611343565b80601f016020809104026020016040519081016040528092919081815260200182805461036c90611343565b80156103b95780601f1061038e576101008083540402835291602001916103b9565b820191906000526020600020905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061041e9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526005825283812033825290915291909120546104b891849061086d565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104e88484846108a7565b949350505050565b6000546001600160a01b031633146105235760405162461bcd60e51b815260040161051a9061137d565b60405180910390fd5b6040805160808101825285815260208101859052908101839052606001819052600893909355600991909155600a55600b55565b6000546001600160a01b031633146105815760405162461bcd60e51b815260040161051a9061137d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105f55760405162461bcd60e51b815260040161051a9061137d565b60005b828110156106645781600660008686858181106106175761061761139d565b905060200201602081019061062c9190611203565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561065d816113c9565b90506105f8565b50505050565b60606002805461034090611343565b6000546001600160a01b031633146106a35760405162461bcd60e51b815260040161051a9061137d565b346106af818484610972565b50506007805460ff1916600117905550604080516080810182526014808252602082018190526000928201839052606460609092018290526008819055600955600a91909155600b55565b60006107073384846108a7565b9392505050565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161051a9061137d565b60005b828110156106645781600c600086868581811061075a5761075a61139d565b905060200201602081019061076f9190611203565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556107a0816113c9565b905061073b565b6000546001600160a01b031633146107d15760405162461bcd60e51b815260040161051a9061137d565b6001600160a01b0381166108125760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161051a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600081848411156108915760405162461bcd60e51b815260040161051a91906110fe565b50600061089e84866113e2565b95945050505050565b60075460009060ff16806108d357506001600160a01b0384166000908152600c602052604090205460ff165b806108f657506001600160a01b0383166000908152600c602052604090205460ff165b6109385760405162461bcd60e51b81526020600482015260136024820152727472616465206e6f74206f70656e656421212160681b604482015260640161051a565b60006109448585610b4a565b61094e5782610959565b610959858585610b90565b9050610966858583610cef565b50600195945050505050565b6040805160028082526060820183526000926020830190803683375050600e54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0091906113f5565b81600081518110610a1357610a1361139d565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610a4757610a4761139d565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b82811015610b435767016345785d8a000085811115610a865750845b600e546001600160a01b031663b6f9de9582600086898988818110610aad57610aad61139d565b9050602002016020810190610ac29190611203565b426040518663ffffffff1660e01b8152600401610ae29493929190611456565b6000604051808303818588803b158015610afb57600080fd5b505af1158015610b0f573d6000803e3d6000fd5b50505050508086610b2091906113e2565b955085600003610b305750610b43565b5080610b3b816113c9565b915050610a6a565b5050505050565b6001600160a01b0382166000908152600c602052604081205460ff161580156107075750506001600160a01b03166000908152600c602052604090205460ff1615919050565b6001600160a01b03831660009081526006602052604081205460ff161580610bd057506001600160a01b0383166000908152600c602052604090205460ff165b610c0a5760405162461bcd60e51b815260206004820152600b60248201526a34b9a1b437b9b2b729b7b760a91b604482015260640161051a565b600f54600160a01b900460ff168015610c305750600f546001600160a01b038481169116145b8015610c3f575060125460ff16155b8015610c5b575060105430600090815260046020526040902054115b15610c6857610c68610dd5565b600f546000906001600160a01b03808616911603610c895750600954610cac565b600f546001600160a01b03808716911603610ca75750600854610cac565b50600a545b600b54600090610cc690610cc08685610f6b565b90610fed565b90508015610cdb57610cd9863083610cef565b505b610ce5848261102f565b9695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610d4091849061086d565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610d6f9083611071565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dc39086815260200190565b60405180910390a35060019392505050565b6012805460ff1916600117905560115430600090815260046020526040812054909110610e115730600090815260046020526040902054610e15565b6011545b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e4f57610e4f61139d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecc91906113f5565b81600181518110610edf57610edf61139d565b6001600160a01b039283166020918202929092010152600e54600d5460405163791ac94760e01b81529183169263791ac94792610f2b928792600092889290911690429060040161148b565b600060405180830381600087803b158015610f4557600080fd5b505af1158015610f59573d6000803e3d6000fd5b50506012805460ff1916905550505050565b600082600003610f7d5750600061042a565b6000610f8983856114c7565b905082610f9685836114de565b146107075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161051a565b600061070783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110d0565b600061070783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061086d565b60008061107e8385611500565b9050838110156107075760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161051a565b600081836110f15760405162461bcd60e51b815260040161051a91906110fe565b50600061089e84866114de565b600060208083528351808285015260005b8181101561112b5785810183015185820160400152820161110f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461116157600080fd5b50565b6000806040838503121561117757600080fd5b82356111828161114c565b946020939093013593505050565b6000806000606084860312156111a557600080fd5b83356111b08161114c565b925060208401356111c08161114c565b929592945050506040919091013590565b600080600080608085870312156111e757600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121561121557600080fd5b81356107078161114c565b60008083601f84011261123257600080fd5b50813567ffffffffffffffff81111561124a57600080fd5b6020830191508360208260051b850101111561126557600080fd5b9250929050565b60008060006040848603121561128157600080fd5b833567ffffffffffffffff81111561129857600080fd5b6112a486828701611220565b909450925050602084013580151581146112bd57600080fd5b809150509250925092565b600080602083850312156112db57600080fd5b823567ffffffffffffffff8111156112f257600080fd5b6112fe85828601611220565b90969095509350505050565b6000806040838503121561131d57600080fd5b82356113288161114c565b915060208301356113388161114c565b809150509250929050565b600181811c9082168061135757607f821691505b60208210810361137757634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016113db576113db6113b3565b5060010190565b8181038181111561042a5761042a6113b3565b60006020828403121561140757600080fd5b81516107078161114c565b600081518084526020808501945080840160005b8381101561144b5781516001600160a01b031687529582019590820190600101611426565b509495945050505050565b84815260806020820152600061146f6080830186611412565b6001600160a01b03949094166040830152506060015292915050565b85815284602082015260a0604082015260006114aa60a0830186611412565b6001600160a01b0394909416606083015250608001529392505050565b808202811582820484141761042a5761042a6113b3565b6000826114fb57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561042a5761042a6113b356fea26469706673582212207d1be53010a4c53e030825b33afcbbc9da833b89f6933cb3df834016ea68d3ed64736f6c63430008120033

Deployed Bytecode Sourcemap

3998:7885:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5927:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6350:248;;;;;;;;;;-1:-1:-1;6350:248:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6350:248:0;1023:187:1;5609:102:0;;;;;;;;;;-1:-1:-1;5691:12:0;;5609:102;;;1361:25:1;;;1349:2;1334:18;5609:102:0;1215:177:1;6800:420:0;;;;;;;;;;-1:-1:-1;6800:420:0;;;;;:::i;:::-;;:::i;5719:94::-;;;;;;;;;;-1:-1:-1;5719:94:0;;4193:1;2000:36:1;;1988:2;1973:18;5719:94:0;1858:184:1;10040:208:0;;;;;;;;;;-1:-1:-1;10040:208:0;;;;;:::i;:::-;;:::i;:::-;;6029:119;;;;;;;;;;-1:-1:-1;6029:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6122:18:0;6095:7;6122:18;;;:9;:18;;;;;;;6029:119;2670:148;;;;;;;;;;;;;:::i;2484:79::-;;;;;;;;;;-1:-1:-1;2522:7:0;2549:6;2484:79;;-1:-1:-1;;;;;2549:6:0;;;2835:51:1;;2823:2;2808:18;2484:79:0;2689:203:1;9556:233:0;;;;;;;;;;-1:-1:-1;9556:233:0;;;;;:::i;:::-;;:::i;5821:98::-;;;;;;;;;;;;;:::i;10256:226::-;;;;;;:::i;:::-;;:::i;6606:186::-;;;;;;;;;;-1:-1:-1;6606:186:0;;;;;:::i;:::-;;:::i;9797:235::-;;;;;;;;;;-1:-1:-1;9797:235:0;;;;;:::i;:::-;;:::i;6156:186::-;;;;;;;;;;-1:-1:-1;6156:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;6306:19:0;;;6274:7;6306:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6156:186;2826:214;;;;;;;;;;-1:-1:-1;2826:214:0;;;;;:::i;:::-;;:::i;5927:94::-;5975:13;6008:5;6001:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5927:94;:::o;6350:248::-;6486:10;6452:4;6474:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6474:32:0;;;;;;;;;;:41;;;6531:37;6452:4;;6474:32;;6531:37;;;;6509:6;1361:25:1;;1349:2;1334:18;;1215:177;6531:37:0;;;;;;;;-1:-1:-1;6586:4:0;6350:248;;;;;:::o;6800:420::-;-1:-1:-1;;;;;6953:19:0;;6932:4;6953:19;;;:11;:19;;;;;;;;6973:10;6953:31;;;;;;;;-1:-1:-1;;6953:52:0;6949:206;;7056:87;;;;;;;;;;;-1:-1:-1;;;7056:87:0;;;;;;;;-1:-1:-1;;;;;7056:19:0;;-1:-1:-1;7056:19:0;;;:11;:19;;;;;7076:10;7056:31;;;;;;;;;;:87;;7110:6;;7056:53;:87::i;:::-;-1:-1:-1;;;;;7022:19:0;;;;;;:11;:19;;;;;;;;7042:10;7022:31;;;;;;;:121;6949:206;7172:40;7186:6;7194:9;7205:6;7172:13;:40::i;:::-;7165:47;6800:420;-1:-1:-1;;;;6800:420:0:o;10040:208::-;2611:6;;-1:-1:-1;;;;;2611:6:0;2621:10;2611:20;2603:39;;;;-1:-1:-1;;;2603:39:0;;;;;;;:::i;:::-;;;;;;;;;10203:37:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;10196:4:::1;:44:::0;;;;;;;;;;;;;10040:208::o;2670:148::-;2611:6;;-1:-1:-1;;;;;2611:6:0;2621:10;2611:20;2603:39;;;;-1:-1:-1;;;2603:39:0;;;;;;;:::i;:::-;2777:1:::1;2761:6:::0;;2740:40:::1;::::0;-1:-1:-1;;;;;2761:6:0;;::::1;::::0;2740:40:::1;::::0;2777:1;;2740:40:::1;2808:1;2791:19:::0;;-1:-1:-1;;;;;;2791:19:0::1;::::0;;2670:148::o;9556:233::-;2611:6;;-1:-1:-1;;;;;2611:6:0;2621:10;2611:20;2603:39;;;;-1:-1:-1;;;2603:39:0;;;;;;;:::i;:::-;9683:9:::1;9678:104;9694:20:::0;;::::1;9678:104;;;9764:6;9736:11;:25;9748:9;;9758:1;9748:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9736:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9736:25:0;:34;;-1:-1:-1;;9736:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9716:3:::1;::::0;::::1;:::i;:::-;;;9678:104;;;;9556:233:::0;;;:::o;5821:98::-;5871:13;5904:7;5897:14;;;;;:::i;10256:226::-;2611:6;;-1:-1:-1;;;;;2611:6:0;2621:10;2611:20;2603:39;;;;-1:-1:-1;;;2603:39:0;;;;;;;:::i;:::-;10361:9:::1;10381:26;10361:9:::0;10402:4;;10381:9:::1;:26::i;:::-;-1:-1:-1::0;;10418:12:0::1;:19:::0;;-1:-1:-1;;10418:19:0::1;10433:4;10418:19;::::0;;-1:-1:-1;10455:19:0::1;::::0;;::::1;::::0;::::1;::::0;;10459:2:::1;10455:19:::0;;;::::1;::::0;::::1;::::0;;;10418:12:::1;10455:19:::0;;;;;;10470:3:::1;10455:19:::0;;;;;;;10448:4:::1;:26:::0;;;;;;;;;;;;10256:226::o;6606:186::-;6711:4;6740:44;6754:10;6766:9;6777:6;6740:13;:44::i;:::-;6733:51;6606:186;-1:-1:-1;;;6606:186:0:o;9797:235::-;2611:6;;-1:-1:-1;;;;;2611:6:0;2621:10;2611:20;2603:39;;;;-1:-1:-1;;;2603:39:0;;;;;;;:::i;:::-;9926:9:::1;9921:104;9937:20:::0;;::::1;9921:104;;;10007:6;9979:11;:25;9991:9;;10001:1;9991:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9979:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9979:25:0;:34;;-1:-1:-1;;9979:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9959:3:::1;::::0;::::1;:::i;:::-;;;9921:104;;2826:214:::0;2611:6;;-1:-1:-1;;;;;2611:6:0;2621:10;2611:20;2603:39;;;;-1:-1:-1;;;2603:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2915:22:0;::::1;2907:43;;;::::0;-1:-1:-1;;;2907:43:0;;6032:2:1;2907:43:0::1;::::0;::::1;6014:21:1::0;6071:1;6051:18;;;6044:29;-1:-1:-1;;;6089:18:1;;;6082:38;6137:18;;2907:43:0::1;5830:331:1::0;2907:43:0::1;2987:6;::::0;;2966:38:::1;::::0;-1:-1:-1;;;;;2966:38:0;;::::1;::::0;2987:6;::::1;::::0;2966:38:::1;::::0;::::1;3015:6;:17:::0;;-1:-1:-1;;;;;;3015:17:0::1;-1:-1:-1::0;;;;;3015:17:0;;;::::1;::::0;;;::::1;::::0;;2826:214::o;533:190::-;619:7;655:12;647:6;;;;639:29;;;;-1:-1:-1;;;639:29:0;;;;;;;;:::i;:::-;-1:-1:-1;679:9:0;691:5;695:1;691;:5;:::i;:::-;679:17;533:190;-1:-1:-1;;;;;533:190:0:o;7614:493::-;7765:12;;7740:4;;7765:12;;;:35;;-1:-1:-1;;;;;;7781:19:0;;;;;;:11;:19;;;;;;;;7765:35;:61;;;-1:-1:-1;;;;;;7804:22:0;;;;;;:11;:22;;;;;;;;7765:61;7757:93;;;;-1:-1:-1;;;7757:93:0;;6501:2:1;7757:93:0;;;6483:21:1;6540:2;6520:18;;;6513:30;-1:-1:-1;;;6559:18:1;;;6552:49;6618:18;;7757:93:0;6299:343:1;7757:93:0;7888:22;7913:32;7927:6;7935:9;7913:13;:32::i;:::-;:104;;8011:6;7913:104;;;7961:34;7969:6;7977:9;7988:6;7961:7;:34::i;:::-;7888:129;;8028:49;8043:6;8051:9;8062:14;8028;:49::i;:::-;-1:-1:-1;8095:4:0;;7614:493;-1:-1:-1;;;;;7614:493:0:o;10668:687::-;10773:16;;;10787:1;10773:16;;;;;;;;10749:21;;10773:16;;;;;;;;-1:-1:-1;;10818:6:0;;:13;;;-1:-1:-1;;;10818:13:0;;;;10749:40;;-1:-1:-1;;;;;;10818:6:0;;;;:11;;-1:-1:-1;10818:13:0;;;;;;;;;;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10800:4;10805:1;10800:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;10800:32:0;;;-1:-1:-1;;;;;10800:32:0;;;;;10861:4;10843;10848:1;10843:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10843:23:0;;;-1:-1:-1;;;;;10843:23:0;;;;;10881:6;10877:471;10890:13;;;10877:471;;;10943:9;10970:22;;;10967:47;;;-1:-1:-1;11004:10:0;10967:47;11059:6;;-1:-1:-1;;;;;11059:6:0;:57;11124:9;11059:6;11173:4;11204;;11209:1;11204:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11231:15;11059:202;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11288:9;11276:21;;;;;:::i;:::-;;;11315:10;11329:1;11315:15;11312:24;;11331:5;;;11312:24;-1:-1:-1;10904:3:0;;;;:::i;:::-;;;;10877:471;;;;10738:617;10668:687;;;:::o;8524:192::-;-1:-1:-1;;;;;8662:19:0;;8632:4;8662:19;;;:11;:19;;;;;;;;8661:20;:47;;;;-1:-1:-1;;;;;;;8686:22:0;;;;;:11;:22;;;;;;;;8685:23;;8524:192;-1:-1:-1;8524:192:0:o;8724:824::-;-1:-1:-1;;;;;8899:19:0;;8844:7;8899:19;;;:11;:19;;;;;;;;8898:20;;:46;;-1:-1:-1;;;;;;8922:22:0;;;;;;:11;:22;;;;;;;;8898:46;8890:70;;;;-1:-1:-1;;;8890:70:0;;8218:2:1;8890:70:0;;;8200:21:1;8257:2;8237:18;;;8230:30;-1:-1:-1;;;8276:18:1;;;8269:41;8327:18;;8890:70:0;8016:335:1;8890:70:0;8994:11;;-1:-1:-1;;;8994:11:0;;;;:32;;;;-1:-1:-1;9022:4:0;;-1:-1:-1;;;;;9009:17:0;;;9022:4;;9009:17;8994:32;:43;;;;-1:-1:-1;9031:6:0;;;;9030:7;8994:43;:87;;;;-1:-1:-1;9068:13:0;;9059:4;9041:24;;;;:9;:24;;;;;;:40;8994:87;8991:109;;;9083:17;:15;:17::i;:::-;9147:4;;9111:21;;-1:-1:-1;;;;;9147:17:0;;;:4;;:17;9143:214;;-1:-1:-1;9197:9:0;;9143:214;;;9228:4;;-1:-1:-1;;;;;9228:14:0;;;:4;;:14;9224:133;;-1:-1:-1;9275:4:0;:8;9224:133;;;-1:-1:-1;9332:13:0;;9224:133;9417:9;;9367:17;;9387:40;;:25;:6;9398:13;9387:10;:25::i;:::-;:29;;:40::i;:::-;9367:60;-1:-1:-1;9441:11:0;;9438:63;;9453:48;9468:6;9484:4;9491:9;9453:14;:48::i;:::-;;9438:63;9519:21;:6;9530:9;9519:10;:21::i;:::-;9512:28;8724:824;-1:-1:-1;;;;;;8724:824:0:o;8115:401::-;8279:90;;;;;;;;;;;-1:-1:-1;;;8279:90:0;;;;;;;;-1:-1:-1;;;;;8279:17:0;;8242:4;8279:17;;;:9;:17;;;;;;;:90;;8315:6;;8279:21;:90::i;:::-;-1:-1:-1;;;;;8259:17:0;;;;;;;:9;:17;;;;;;:110;;;;8403:20;;;;;;;:32;;8428:6;8403:24;:32::i;:::-;-1:-1:-1;;;;;8380:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8451:35;;;;;;;;;;8479:6;1361:25:1;;1349:2;1334:18;;1215:177;8451:35:0;;;;;;;;-1:-1:-1;8504:4:0;8115:401;;;;;:::o;11363:517::-;4886:6;:13;;-1:-1:-1;;4886:13:0;4895:4;4886:13;;;11467:16:::1;::::0;11458:4:::1;4886:6:::0;11440:24;;;:9:::1;:24;::::0;;;;;4886:6;;-1:-1:-1;11440:115:0::1;;11549:4;11531:24;::::0;;;:9:::1;:24;::::0;;;;;11440:115:::1;;;11499:16;;11440:115;11590:16;::::0;;11604:1:::1;11590:16:::0;;;;;::::1;::::0;;11418:137;;-1:-1:-1;11566:21:0::1;::::0;11590:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11590:16:0::1;11566:40;;11635:4;11617;11622:1;11617:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11617:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11661:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;11661:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;11617:7;;11661:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11651:4;11656:1;11651:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11651:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11685:6:::1;::::0;11818:13:::1;::::0;11685:187:::1;::::0;-1:-1:-1;;;11685:187:0;;:6;;::::1;::::0;:57:::1;::::0;:187:::1;::::0;11757:11;;11685:6:::1;::::0;11799:4;;11818:13;;::::1;::::0;11846:15:::1;::::0;11685:187:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4922:6:0;:14;;-1:-1:-1;;4922:14:0;;;-1:-1:-1;;;;11363:517:0:o;729:246::-;787:7;811:1;816;811:6;807:47;;-1:-1:-1;841:1:0;834:8;;807:47;864:9;876:5;880:1;876;:5;:::i;:::-;864:17;-1:-1:-1;909:1:0;900:5;904:1;864:17;900:5;:::i;:::-;:10;892:56;;;;-1:-1:-1;;;892:56:0;;9540:2:1;892:56:0;;;9522:21:1;9579:2;9559:18;;;9552:30;9618:34;9598:18;;;9591:62;-1:-1:-1;;;9669:18:1;;;9662:31;9710:19;;892:56:0;9338:397:1;981:132:0;1039:7;1066:39;1070:1;1073;1066:39;;;;;;;;;;;;;;;;;:3;:39::i;391:136::-;449:7;476:43;480:1;483;476:43;;;;;;;;;;;;;;;;;:3;:43::i;206:179::-;264:7;;296:5;300:1;296;:5;:::i;:::-;284:17;;325:1;320;:6;;312:46;;;;-1:-1:-1;;;312:46:0;;10072:2:1;312:46:0;;;10054:21:1;10111:2;10091:18;;;10084:30;10150:29;10130:18;;;10123:57;10197:18;;312:46:0;9870:351:1;1119:189:0;1205:7;1240:12;1233:5;1225:28;;;;-1:-1:-1;;;1225:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1264:9:0;1276:5;1280:1;1276;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:385::-;2133:6;2141;2149;2157;2210:3;2198:9;2189:7;2185:23;2181:33;2178:53;;;2227:1;2224;2217:12;2178:53;-1:-1:-1;;2250:23:1;;;2320:2;2305:18;;2292:32;;-1:-1:-1;2371:2:1;2356:18;;2343:32;;2422:2;2407:18;2394:32;;-1:-1:-1;2047:385:1;-1:-1:-1;2047:385:1:o;2437:247::-;2496:6;2549:2;2537:9;2528:7;2524:23;2520:32;2517:52;;;2565:1;2562;2555:12;2517:52;2604:9;2591:23;2623:31;2648:5;2623:31;:::i;2897:367::-;2960:8;2970:6;3024:3;3017:4;3009:6;3005:17;3001:27;2991:55;;3042:1;3039;3032:12;2991:55;-1:-1:-1;3065:20:1;;3108:18;3097:30;;3094:50;;;3140:1;3137;3130:12;3094:50;3177:4;3169:6;3165:17;3153:29;;3237:3;3230:4;3220:6;3217:1;3213:14;3205:6;3201:27;3197:38;3194:47;3191:67;;;3254:1;3251;3244:12;3191:67;2897:367;;;;;:::o;3269:598::-;3361:6;3369;3377;3430:2;3418:9;3409:7;3405:23;3401:32;3398:52;;;3446:1;3443;3436:12;3398:52;3486:9;3473:23;3519:18;3511:6;3508:30;3505:50;;;3551:1;3548;3541:12;3505:50;3590:70;3652:7;3643:6;3632:9;3628:22;3590:70;:::i;:::-;3679:8;;-1:-1:-1;3564:96:1;-1:-1:-1;;3764:2:1;3749:18;;3736:32;3804:13;;3797:21;3787:32;;3777:60;;3833:1;3830;3823:12;3777:60;3856:5;3846:15;;;3269:598;;;;;:::o;3872:437::-;3958:6;3966;4019:2;4007:9;3998:7;3994:23;3990:32;3987:52;;;4035:1;4032;4025:12;3987:52;4075:9;4062:23;4108:18;4100:6;4097:30;4094:50;;;4140:1;4137;4130:12;4094:50;4179:70;4241:7;4232:6;4221:9;4217:22;4179:70;:::i;:::-;4268:8;;4153:96;;-1:-1:-1;3872:437:1;-1:-1:-1;;;;3872:437:1:o;4314:388::-;4382:6;4390;4443:2;4431:9;4422:7;4418:23;4414:32;4411:52;;;4459:1;4456;4449:12;4411:52;4498:9;4485:23;4517:31;4542:5;4517:31;:::i;:::-;4567:5;-1:-1:-1;4624:2:1;4609:18;;4596:32;4637:33;4596:32;4637:33;:::i;:::-;4689:7;4679:17;;;4314:388;;;;;:::o;4707:380::-;4786:1;4782:12;;;;4829;;;4850:61;;4904:4;4896:6;4892:17;4882:27;;4850:61;4957:2;4949:6;4946:14;4926:18;4923:38;4920:161;;5003:10;4998:3;4994:20;4991:1;4984:31;5038:4;5035:1;5028:15;5066:4;5063:1;5056:15;4920:161;;4707:380;;;:::o;5092:329::-;5294:2;5276:21;;;5333:1;5313:18;;;5306:29;-1:-1:-1;;;5366:2:1;5351:18;;5344:36;5412:2;5397:18;;5092:329::o;5426:127::-;5487:10;5482:3;5478:20;5475:1;5468:31;5518:4;5515:1;5508:15;5542:4;5539:1;5532:15;5558:127;5619:10;5614:3;5610:20;5607:1;5600:31;5650:4;5647:1;5640:15;5674:4;5671:1;5664:15;5690:135;5729:3;5750:17;;;5747:43;;5770:18;;:::i;:::-;-1:-1:-1;5817:1:1;5806:13;;5690:135::o;6166:128::-;6233:9;;;6254:11;;;6251:37;;;6268:18;;:::i;6779:251::-;6849:6;6902:2;6890:9;6881:7;6877:23;6873:32;6870:52;;;6918:1;6915;6908:12;6870:52;6950:9;6944:16;6969:31;6994:5;6969:31;:::i;7035:461::-;7088:3;7126:5;7120:12;7153:6;7148:3;7141:19;7179:4;7208:2;7203:3;7199:12;7192:19;;7245:2;7238:5;7234:14;7266:1;7276:195;7290:6;7287:1;7284:13;7276:195;;;7355:13;;-1:-1:-1;;;;;7351:39:1;7339:52;;7411:12;;;;7446:15;;;;7387:1;7305:9;7276:195;;;-1:-1:-1;7487:3:1;;7035:461;-1:-1:-1;;;;;7035:461:1:o;7501:510::-;7772:6;7761:9;7754:25;7815:3;7810:2;7799:9;7795:18;7788:31;7735:4;7836:57;7888:3;7877:9;7873:19;7865:6;7836:57;:::i;:::-;-1:-1:-1;;;;;7929:32:1;;;;7924:2;7909:18;;7902:60;-1:-1:-1;7993:2:1;7978:18;7971:34;7828:65;7501:510;-1:-1:-1;;7501:510:1:o;8356:582::-;8655:6;8644:9;8637:25;8698:6;8693:2;8682:9;8678:18;8671:34;8741:3;8736:2;8725:9;8721:18;8714:31;8618:4;8762:57;8814:3;8803:9;8799:19;8791:6;8762:57;:::i;:::-;-1:-1:-1;;;;;8855:32:1;;;;8850:2;8835:18;;8828:60;-1:-1:-1;8919:3:1;8904:19;8897:35;8754:65;8356:582;-1:-1:-1;;;8356:582:1:o;8943:168::-;9016:9;;;9047;;9064:15;;;9058:22;;9044:37;9034:71;;9085:18;;:::i;9116:217::-;9156:1;9182;9172:132;;9226:10;9221:3;9217:20;9214:1;9207:31;9261:4;9258:1;9251:15;9289:4;9286:1;9279:15;9172:132;-1:-1:-1;9318:9:1;;9116:217::o;9740:125::-;9805:9;;;9826:10;;;9823:36;;;9839:18;;:::i

Swarm Source

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