ETH Price: $3,275.06 (-3.97%)
Gas: 21 Gwei

Token

Binlady ($BINLADY)
 

Overview

Max Total Supply

911,000,000 $BINLADY

Holders

190

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,132,052.656486851157282718 $BINLADY

Value
$0.00
0x9763db9ba6eedf025e96baf51e7e0735eb0ce0ce
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:
BINLADY

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED

/*

X: https://twitter.com/binlady_erc20
TG: https://t.me/binlady
Web: binlady.com

*/

pragma solidity 0.8.21;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address public owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() external onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(owner);
    }
    event OwnershipTransferred(address owner);
}

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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract BINLADY is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Binlady";
    string public constant symbol = "$BINLADY";
    uint8 public constant decimals = 18;

    uint256 public constant totalSupply = 911_000_000 * 10**decimals;

    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public marketingFee = 85;
    uint256 public operationsFee = 15;
    uint256 public totalFee = marketingFee + operationsFee;
    uint256 public constant feeDenominator = 1000;
    
    uint256 buyMultiplier = 200;
    uint256 sellMultiplier = 500;
    uint256 transferMultiplier = 100;

    address public marketingFeeReceiver;
    address public operationsFeeReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public tradingOpen = false;

    bool public swapEnabled = true;
    uint256 public swapThreshold = totalSupply / 100;
    
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        marketingFeeReceiver = 0x9eC61e9Dfd169F5E5ce21d7f03D454473F330ebC;
        operationsFeeReceiver = 0xfCD59110D213B0B6ac5B5fd8Ef9333aC32E67734;

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

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[marketingFeeReceiver] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

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

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

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

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

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

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent(uint256 _newmaxwallet) external onlyOwner {
        require(_newmaxwallet >= 1,"Cannot set max wallet less than 1%");
        _maxWalletToken = (totalSupply * _newmaxwallet ) / 100;
    }

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

        if(!isFeeExempt[sender]){
            require(tradingOpen,"trading not open yet");
        }

        if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }

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

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

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

    function manualSwap() external {
        payable(operationsFeeReceiver).transfer(address(this).balance);
    }

    function openTrading() external onlyOwner {
        tradingOpen = true;
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance;

        uint256 amountETHMarketing = (amountETH * marketingFee) / totalFee;
        uint256 amountETHDevelopment = (amountETH * operationsFee) / totalFee;

        payable(marketingFeeReceiver).transfer(amountETHMarketing);
        payable(operationsFeeReceiver).transfer(amountETHDevelopment);
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"operationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newmaxwallet","type":"uint256"}],"name":"setMaxWalletPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526064620000146012600a620004c8565b620000249063364cc1c0620004df565b620000309190620004f9565b60015560556006819055600f60078190556200004c9162000519565b60085560c86009556101f4600a9081556064600b819055600e805461ffff60a01b1916600160a81b179055906200008690601290620004c8565b620000969063364cc1c0620004df565b620000a29190620004f9565b600f55348015620000b1575f80fd5b505f8054336001600160a01b031991821617909155600e8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200011f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200014591906200052f565b6001600160a01b03908116608052600e546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000194573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ba91906200052f565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af115801562000209573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022f91906200052f565b6001600160a01b0390811660a052305f818152600360209081526040808320600e548616845282528083205f199055600c80546001600160a01b0319908116739ec61e9dfd169f5e5ce21d7f03d454473f330ebc178255600d805490911673fcd59110d213b0b6ac5b5fd8ef9333ac32e677341790553380855260048452828520805460ff199081166001908117909255835489168752848720805482168317905591865260059094528285208054821685179055905490951683528083208054861683179055928252918120805484168317905561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba8054909216179055620003406012600a620004c8565b620003509063364cc1c0620004df565b335f81815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003926012600a620004c8565b620003a29063364cc1c0620004df565b60405190815260200160405180910390a362000557565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200040d57815f1904821115620003f157620003f1620003b9565b80851615620003ff57918102915b93841c9390800290620003d2565b509250929050565b5f826200042557506001620004c2565b816200043357505f620004c2565b81600181146200044c5760028114620004575762000477565b6001915050620004c2565b60ff8411156200046b576200046b620003b9565b50506001821b620004c2565b5060208310610133831016604e8410600b84101617156200049c575081810a620004c2565b620004a88383620003cd565b805f1904821115620004be57620004be620003b9565b0290505b92915050565b5f620004d860ff84168362000415565b9392505050565b8082028115828204841417620004c257620004c2620003b9565b5f826200051457634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620004c257620004c2620003b9565b5f6020828403121562000540575f80fd5b81516001600160a01b0381168114620004d8575f80fd5b60805160a05161177c620005955f395f818161054d01528181610bd401528181610ec301528181611116015261114a01525f610f8a015261177c5ff3fe6080604052600436106101f4575f3560e01c80636ddd171311610108578063a8aa1b311161009d578063dd62ed3e1161006d578063dd62ed3e146105d0578063df20fd4914610614578063e96fada214610633578063f887ea4014610652578063ffb54a9914610671575f80fd5b8063a8aa1b311461053c578063a9059cbb1461056f578063c867d60b1461058e578063c9567bf9146105bc575f80fd5b806382bf293c116100d857806382bf293c146104b0578063893d20e8146104cf5780638da5cb5b146104eb57806395d89b4114610509575f80fd5b80636ddd17131461043c57806370a082311461045c578063715018a61461048757806378109e541461049b575f80fd5b806323b872dd116101895780633f4218e0116101595780633f4218e0146103a557806351bc3c85146103d3578063571ac8b0146103e95780636b67c4df146104085780636ce46bc31461041d575f80fd5b806323b872dd1461031f5780632b112e491461033e5780632f54bf6e14610352578063313ce5671461037f575f80fd5b8063095ea7b3116101c4578063095ea7b3146102b2578063180b0d7e146102e157806318160ddd146102f65780631df4ccfc1461030a575f80fd5b806303382cbb146101ff5780630445b6671461023b57806306fdde031461025e578063090896be1461029d575f80fd5b366101fb57005b5f80fd5b34801561020a575f80fd5b50600d5461021e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610246575f80fd5b50610250600f5481565b604051908152602001610232565b348015610269575f80fd5b506102906040518060400160405280600781526020016642696e6c61647960c81b81525081565b60405161023291906113d4565b3480156102a8575f80fd5b5061025060075481565b3480156102bd575f80fd5b506102d16102cc36600461143a565b610691565b6040519015158152602001610232565b3480156102ec575f80fd5b506102506103e881565b348015610301575f80fd5b506102506106fd565b348015610315575f80fd5b5061025060085481565b34801561032a575f80fd5b506102d1610339366004611462565b61071a565b348015610349575f80fd5b506102506107d8565b34801561035d575f80fd5b506102d161036c36600461149b565b5f546001600160a01b0391821691161490565b34801561038a575f80fd5b50610393601281565b60405160ff9091168152602001610232565b3480156103b0575f80fd5b506102d16103bf36600461149b565b60046020525f908152604090205460ff1681565b3480156103de575f80fd5b506103e761085e565b005b3480156103f4575f80fd5b506102d161040336600461149b565b610897565b348015610413575f80fd5b5061025060065481565b348015610428575f80fd5b506103e76104373660046114b4565b6108a3565b348015610447575f80fd5b50600e546102d190600160a81b900460ff1681565b348015610467575f80fd5b5061025061047636600461149b565b60026020525f908152604090205481565b348015610492575f80fd5b506103e76108e6565b3480156104a6575f80fd5b5061025060015481565b3480156104bb575f80fd5b506103e76104ca3660046114dd565b610953565b3480156104da575f80fd5b505f546001600160a01b031661021e565b3480156104f6575f80fd5b505f5461021e906001600160a01b031681565b348015610514575f80fd5b50610290604051806040016040528060088152602001672442494e4c41445960c01b81525081565b348015610547575f80fd5b5061021e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561057a575f80fd5b506102d161058936600461143a565b610a0f565b348015610599575f80fd5b506102d16105a836600461149b565b60056020525f908152604090205460ff1681565b3480156105c7575f80fd5b506103e7610a1b565b3480156105db575f80fd5b506102506105ea3660046114f4565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b34801561061f575f80fd5b506103e761062e366004611525565b610a59565b34801561063e575f80fd5b50600c5461021e906001600160a01b031681565b34801561065d575f80fd5b50600e5461021e906001600160a01b031681565b34801561067c575f80fd5b50600e546102d190600160a01b900460ff1681565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106eb9086815260200190565b60405180910390a35060015b92915050565b6107096012600a611639565b6107179063364cc1c0611647565b81565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f19146107c3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260038252838120338252909152919091205461079f918490610ac5565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b6107ce848484610afd565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108376012600a611639565b6108459063364cc1c0611647565b61084f919061165e565b610859919061165e565b905090565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610894573d5f803e3d5ffd5b50565b5f6106f7825f19610691565b5f546001600160a01b031633146108d55760405162461bcd60e51b81526004016108cc90611671565b60405180910390fd5b600a91909155600991909155600b55565b5f546001600160a01b0316331461090f5760405162461bcd60e51b81526004016108cc90611671565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b0316331461097c5760405162461bcd60e51b81526004016108cc90611671565b60018110156109d85760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b60648201526084016108cc565b6064816109e76012600a611639565b6109f59063364cc1c0611647565b6109ff9190611647565b610a099190611691565b60015550565b5f6107d1338484610afd565b5f546001600160a01b03163314610a445760405162461bcd60e51b81526004016108cc90611671565b600e805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610a825760405162461bcd60e51b81526004016108cc90611671565b600e805460ff60a81b1916600160a81b8415150217905580610aa66012600a611639565b610ab49063364cc1c0611647565b610abe9190611691565b600f555050565b5f8184841115610ae85760405162461bcd60e51b81526004016108cc91906113d4565b505f610af4848661165e565b95945050505050565b6010545f9060ff1615610b1c57610b15848484610dd4565b90506107d1565b6001600160a01b0384165f9081526004602052604090205460ff16610b8b57600e54600160a01b900460ff16610b8b5760405162461bcd60e51b81526020600482015260146024820152731d1c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108cc565b6001600160a01b0384165f9081526005602052604090205460ff16158015610bcb57506001600160a01b0383165f9081526005602052604090205460ff16155b8015610c0957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610c82576001546001600160a01b0384165f90815260026020526040902054610c349084906116b0565b1115610c825760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016108cc565b610c8a610eb7565b15610c9757610c97610f28565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260029091529190912054610ce8918490610ac5565b6001600160a01b0385165f90815260026020908152604080832093909355600490529081205460ff1680610d3357506001600160a01b0384165f9081526004602052604090205460ff165b610d4757610d428584866110ef565b610d49565b825b6001600160a01b0385165f90815260026020526040902054909150610d6e908261124a565b6001600160a01b038086165f8181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dc19085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600290915291822054610e24918490610ac5565b6001600160a01b038086165f908152600260205260408082209390935590851681522054610e52908361124a565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ea59086815260200190565b60405180910390a35060019392505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ef4575060105460ff16155b8015610f095750600e54600160a81b900460ff165b8015610859575050600f54305f90815260026020526040902054101590565b6010805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f6857610f686116c3565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610fbc57610fbc6116c3565b6001600160a01b039283166020918202929092010152600e54600f5460405163791ac94760e01b8152919092169163791ac9479161100591905f908690309042906004016116d7565b5f604051808303815f87803b15801561101c575f80fd5b505af115801561102e573d5f803e3d5ffd5b50506008546006544793505f92506110469084611647565b6110509190611691565b90505f600854600754846110649190611647565b61106e9190611691565b600c546040519192506001600160a01b03169083156108fc029084905f818181858888f193505050501580156110a6573d5f803e3d5ffd5b50600d546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110de573d5f803e3d5ffd5b50506010805460ff19169055505050565b5f8215806110fd5750600854155b156111095750816107d1565b600b546001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908416036111485750600a54611186565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03160361118657506009545b5f6111bc6111976103e86064611647565b6111b6846111b06008548a6112a890919063ffffffff16565b906112a8565b90611326565b9050801561123657305f908152600260205260409020546111dd908261124a565b305f81815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061122d9085815260200190565b60405180910390a35b6112408582611367565b9695505050505050565b5f8061125683856116b0565b9050838110156107d15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108cc565b5f825f036112b757505f6106f7565b5f6112c28385611647565b9050826112cf8583611691565b146107d15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108cc565b5f6107d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113a8565b5f6107d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ac5565b5f81836113c85760405162461bcd60e51b81526004016108cc91906113d4565b505f610af48486611691565b5f6020808352835180828501525f5b818110156113ff578581018301518582016040015282016113e3565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611435575f80fd5b919050565b5f806040838503121561144b575f80fd5b6114548361141f565b946020939093013593505050565b5f805f60608486031215611474575f80fd5b61147d8461141f565b925061148b6020850161141f565b9150604084013590509250925092565b5f602082840312156114ab575f80fd5b6107d18261141f565b5f805f606084860312156114c6575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156114ed575f80fd5b5035919050565b5f8060408385031215611505575f80fd5b61150e8361141f565b915061151c6020840161141f565b90509250929050565b5f8060408385031215611536575f80fd5b82358015158114611454575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561159357815f190482111561157957611579611545565b8085161561158657918102915b93841c939080029061155e565b509250929050565b5f826115a9575060016106f7565b816115b557505f6106f7565b81600181146115cb57600281146115d5576115f1565b60019150506106f7565b60ff8411156115e6576115e6611545565b50506001821b6106f7565b5060208310610133831016604e8410600b8410161715611614575081810a6106f7565b61161e8383611559565b805f190482111561163157611631611545565b029392505050565b5f6107d160ff84168361159b565b80820281158282048414176106f7576106f7611545565b818103818111156106f7576106f7611545565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f826116ab57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106f7576106f7611545565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117255784516001600160a01b031683529383019391830191600101611700565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c645bd26ca66e6b7daea7a6793120ef3df20995dd0fcf36e39388521ef03ab5564736f6c63430008150033

Deployed Bytecode

0x6080604052600436106101f4575f3560e01c80636ddd171311610108578063a8aa1b311161009d578063dd62ed3e1161006d578063dd62ed3e146105d0578063df20fd4914610614578063e96fada214610633578063f887ea4014610652578063ffb54a9914610671575f80fd5b8063a8aa1b311461053c578063a9059cbb1461056f578063c867d60b1461058e578063c9567bf9146105bc575f80fd5b806382bf293c116100d857806382bf293c146104b0578063893d20e8146104cf5780638da5cb5b146104eb57806395d89b4114610509575f80fd5b80636ddd17131461043c57806370a082311461045c578063715018a61461048757806378109e541461049b575f80fd5b806323b872dd116101895780633f4218e0116101595780633f4218e0146103a557806351bc3c85146103d3578063571ac8b0146103e95780636b67c4df146104085780636ce46bc31461041d575f80fd5b806323b872dd1461031f5780632b112e491461033e5780632f54bf6e14610352578063313ce5671461037f575f80fd5b8063095ea7b3116101c4578063095ea7b3146102b2578063180b0d7e146102e157806318160ddd146102f65780631df4ccfc1461030a575f80fd5b806303382cbb146101ff5780630445b6671461023b57806306fdde031461025e578063090896be1461029d575f80fd5b366101fb57005b5f80fd5b34801561020a575f80fd5b50600d5461021e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610246575f80fd5b50610250600f5481565b604051908152602001610232565b348015610269575f80fd5b506102906040518060400160405280600781526020016642696e6c61647960c81b81525081565b60405161023291906113d4565b3480156102a8575f80fd5b5061025060075481565b3480156102bd575f80fd5b506102d16102cc36600461143a565b610691565b6040519015158152602001610232565b3480156102ec575f80fd5b506102506103e881565b348015610301575f80fd5b506102506106fd565b348015610315575f80fd5b5061025060085481565b34801561032a575f80fd5b506102d1610339366004611462565b61071a565b348015610349575f80fd5b506102506107d8565b34801561035d575f80fd5b506102d161036c36600461149b565b5f546001600160a01b0391821691161490565b34801561038a575f80fd5b50610393601281565b60405160ff9091168152602001610232565b3480156103b0575f80fd5b506102d16103bf36600461149b565b60046020525f908152604090205460ff1681565b3480156103de575f80fd5b506103e761085e565b005b3480156103f4575f80fd5b506102d161040336600461149b565b610897565b348015610413575f80fd5b5061025060065481565b348015610428575f80fd5b506103e76104373660046114b4565b6108a3565b348015610447575f80fd5b50600e546102d190600160a81b900460ff1681565b348015610467575f80fd5b5061025061047636600461149b565b60026020525f908152604090205481565b348015610492575f80fd5b506103e76108e6565b3480156104a6575f80fd5b5061025060015481565b3480156104bb575f80fd5b506103e76104ca3660046114dd565b610953565b3480156104da575f80fd5b505f546001600160a01b031661021e565b3480156104f6575f80fd5b505f5461021e906001600160a01b031681565b348015610514575f80fd5b50610290604051806040016040528060088152602001672442494e4c41445960c01b81525081565b348015610547575f80fd5b5061021e7f000000000000000000000000cc452919386268fc0995f6290e3dbbe9d96de4ee81565b34801561057a575f80fd5b506102d161058936600461143a565b610a0f565b348015610599575f80fd5b506102d16105a836600461149b565b60056020525f908152604090205460ff1681565b3480156105c7575f80fd5b506103e7610a1b565b3480156105db575f80fd5b506102506105ea3660046114f4565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b34801561061f575f80fd5b506103e761062e366004611525565b610a59565b34801561063e575f80fd5b50600c5461021e906001600160a01b031681565b34801561065d575f80fd5b50600e5461021e906001600160a01b031681565b34801561067c575f80fd5b50600e546102d190600160a01b900460ff1681565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106eb9086815260200190565b60405180910390a35060015b92915050565b6107096012600a611639565b6107179063364cc1c0611647565b81565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f19146107c3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260038252838120338252909152919091205461079f918490610ac5565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b6107ce848484610afd565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108376012600a611639565b6108459063364cc1c0611647565b61084f919061165e565b610859919061165e565b905090565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610894573d5f803e3d5ffd5b50565b5f6106f7825f19610691565b5f546001600160a01b031633146108d55760405162461bcd60e51b81526004016108cc90611671565b60405180910390fd5b600a91909155600991909155600b55565b5f546001600160a01b0316331461090f5760405162461bcd60e51b81526004016108cc90611671565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b0316331461097c5760405162461bcd60e51b81526004016108cc90611671565b60018110156109d85760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b60648201526084016108cc565b6064816109e76012600a611639565b6109f59063364cc1c0611647565b6109ff9190611647565b610a099190611691565b60015550565b5f6107d1338484610afd565b5f546001600160a01b03163314610a445760405162461bcd60e51b81526004016108cc90611671565b600e805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610a825760405162461bcd60e51b81526004016108cc90611671565b600e805460ff60a81b1916600160a81b8415150217905580610aa66012600a611639565b610ab49063364cc1c0611647565b610abe9190611691565b600f555050565b5f8184841115610ae85760405162461bcd60e51b81526004016108cc91906113d4565b505f610af4848661165e565b95945050505050565b6010545f9060ff1615610b1c57610b15848484610dd4565b90506107d1565b6001600160a01b0384165f9081526004602052604090205460ff16610b8b57600e54600160a01b900460ff16610b8b5760405162461bcd60e51b81526020600482015260146024820152731d1c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108cc565b6001600160a01b0384165f9081526005602052604090205460ff16158015610bcb57506001600160a01b0383165f9081526005602052604090205460ff16155b8015610c0957507f000000000000000000000000cc452919386268fc0995f6290e3dbbe9d96de4ee6001600160a01b0316836001600160a01b031614155b15610c82576001546001600160a01b0384165f90815260026020526040902054610c349084906116b0565b1115610c825760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016108cc565b610c8a610eb7565b15610c9757610c97610f28565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260029091529190912054610ce8918490610ac5565b6001600160a01b0385165f90815260026020908152604080832093909355600490529081205460ff1680610d3357506001600160a01b0384165f9081526004602052604090205460ff165b610d4757610d428584866110ef565b610d49565b825b6001600160a01b0385165f90815260026020526040902054909150610d6e908261124a565b6001600160a01b038086165f8181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dc19085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600290915291822054610e24918490610ac5565b6001600160a01b038086165f908152600260205260408082209390935590851681522054610e52908361124a565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ea59086815260200190565b60405180910390a35060019392505050565b5f336001600160a01b037f000000000000000000000000cc452919386268fc0995f6290e3dbbe9d96de4ee1614801590610ef4575060105460ff16155b8015610f095750600e54600160a81b900460ff165b8015610859575050600f54305f90815260026020526040902054101590565b6010805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f6857610f686116c3565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610fbc57610fbc6116c3565b6001600160a01b039283166020918202929092010152600e54600f5460405163791ac94760e01b8152919092169163791ac9479161100591905f908690309042906004016116d7565b5f604051808303815f87803b15801561101c575f80fd5b505af115801561102e573d5f803e3d5ffd5b50506008546006544793505f92506110469084611647565b6110509190611691565b90505f600854600754846110649190611647565b61106e9190611691565b600c546040519192506001600160a01b03169083156108fc029084905f818181858888f193505050501580156110a6573d5f803e3d5ffd5b50600d546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110de573d5f803e3d5ffd5b50506010805460ff19169055505050565b5f8215806110fd5750600854155b156111095750816107d1565b600b546001600160a01b037f000000000000000000000000cc452919386268fc0995f6290e3dbbe9d96de4ee8116908416036111485750600a54611186565b7f000000000000000000000000cc452919386268fc0995f6290e3dbbe9d96de4ee6001600160a01b0316856001600160a01b03160361118657506009545b5f6111bc6111976103e86064611647565b6111b6846111b06008548a6112a890919063ffffffff16565b906112a8565b90611326565b9050801561123657305f908152600260205260409020546111dd908261124a565b305f81815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061122d9085815260200190565b60405180910390a35b6112408582611367565b9695505050505050565b5f8061125683856116b0565b9050838110156107d15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108cc565b5f825f036112b757505f6106f7565b5f6112c28385611647565b9050826112cf8583611691565b146107d15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108cc565b5f6107d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113a8565b5f6107d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ac5565b5f81836113c85760405162461bcd60e51b81526004016108cc91906113d4565b505f610af48486611691565b5f6020808352835180828501525f5b818110156113ff578581018301518582016040015282016113e3565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611435575f80fd5b919050565b5f806040838503121561144b575f80fd5b6114548361141f565b946020939093013593505050565b5f805f60608486031215611474575f80fd5b61147d8461141f565b925061148b6020850161141f565b9150604084013590509250925092565b5f602082840312156114ab575f80fd5b6107d18261141f565b5f805f606084860312156114c6575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156114ed575f80fd5b5035919050565b5f8060408385031215611505575f80fd5b61150e8361141f565b915061151c6020840161141f565b90509250929050565b5f8060408385031215611536575f80fd5b82358015158114611454575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561159357815f190482111561157957611579611545565b8085161561158657918102915b93841c939080029061155e565b509250929050565b5f826115a9575060016106f7565b816115b557505f6106f7565b81600181146115cb57600281146115d5576115f1565b60019150506106f7565b60ff8411156115e6576115e6611545565b50506001821b6106f7565b5060208310610133831016604e8410600b8410161715611614575081810a6106f7565b61161e8383611559565b805f190482111561163157611631611545565b029392505050565b5f6107d160ff84168361159b565b80820281158282048414176106f7576106f7611545565b818103818111156106f7576106f7611545565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f826116ab57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106f7576106f7611545565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117255784516001600160a01b031683529383019391830191600101611700565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c645bd26ca66e6b7daea7a6793120ef3df20995dd0fcf36e39388521ef03ab5564736f6c63430008150033

Deployed Bytecode Sourcemap

2966:7371:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4072:36;;;;;;;;;;-1:-1:-1;4072:36:0;;;;-1:-1:-1;;;;;4072:36:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;4072:36:0;;;;;;;;4263:48;;;;;;;;;;;;;;;;;;;368:25:1;;;356:2;341:18;4263:48:0;222:177:1;3217:39:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3217:39:0;;;;;;;;;;;;:::i;3761:33::-;;;;;;;;;;;;;;;;5541:216;;;;;;;;;;-1:-1:-1;5541:216:0;;;;;:::i;:::-;;:::i;:::-;;;1559:14:1;;1552:22;1534:41;;1522:2;1507:18;5541:216:0;1394:187:1;3862:45:0;;;;;;;;;;;;3903:4;3862:45;;3356:64;;;;;;;;;;;;;:::i;3801:54::-;;;;;;;;;;;;;;;;6059:370;;;;;;;;;;-1:-1:-1;6059:370:0;;;;;:::i;:::-;;:::i;10197:137::-;;;;;;;;;;;;;:::i;2197:103::-;;;;;;;;;;-1:-1:-1;2197:103:0;;;;;:::i;:::-;2252:4;2287:5;-1:-1:-1;;;;;2276:16:0;;;2287:5;;2276:16;;2197:103;3312:35;;;;;;;;;;;;3345:2;3312:35;;;;;2282:4:1;2270:17;;;2252:36;;2240:2;2225:18;3312:35:0;2110:184:1;3610:44:0;;;;;;;;;;-1:-1:-1;3610:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8873:112;;;;;;;;;;;;;:::i;:::-;;5765:122;;;;;;;;;;-1:-1:-1;5765:122:0;;;;;:::i;:::-;;:::i;3722:32::-;;;;;;;;;;;;;;;;9804:198;;;;;;;;;;-1:-1:-1;9804:198:0;;;;;:::i;:::-;;:::i;4226:30::-;;;;;;;;;;-1:-1:-1;4226:30:0;;;;-1:-1:-1;;;4226:30:0;;;;;;3488:45;;;;;;;;;;-1:-1:-1;3488:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2308:128;;;;;;;;;;;;;:::i;3429:50::-;;;;;;;;;;;;;;;;6437:219;;;;;;;;;;-1:-1:-1;6437:219:0;;;;;:::i;:::-;;:::i;5316:78::-;;;;;;;;;;-1:-1:-1;5368:7:0;5386:5;-1:-1:-1;;;;;5386:5:0;5316:78;;2010:20;;;;;;;;;;-1:-1:-1;2010:20:0;;;;-1:-1:-1;;;;;2010:20:0;;;3263:42;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3263:42:0;;;;;4148:29;;;;;;;;;;;;;;;5895:156;;;;;;;;;;-1:-1:-1;5895:156:0;;;;;:::i;:::-;;:::i;3661:52::-;;;;;;;;;;-1:-1:-1;3661:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8993:79;;;;;;;;;;;;;:::i;5400:133::-;;;;;;;;;;-1:-1:-1;5400:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5502:19:0;;;5484:7;5502:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5400:133;10010:179;;;;;;;;;;-1:-1:-1;10010:179:0;;;;;:::i;:::-;;:::i;4030:35::-;;;;;;;;;;-1:-1:-1;4030:35:0;;;;-1:-1:-1;;;;;4030:35:0;;;4117:24;;;;;;;;;;-1:-1:-1;4117:24:0;;;;-1:-1:-1;;;;;4117:24:0;;;4186:31;;;;;;;;;;-1:-1:-1;4186:31:0;;;;-1:-1:-1;;;4186:31:0;;;;;;5541:216;5645:10;5616:4;5633:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5633:32:0;;;;;;;;;;:41;;;5690:37;5616:4;;5633:32;;5690:37;;;;5668:6;368:25:1;;356:2;341:18;;222:177;5690:37:0;;;;;;;;-1:-1:-1;5745:4:0;5541:216;;;;;:::o;3356:64::-;3408:12;3345:2;3408;:12;:::i;:::-;3394:26;;:11;:26;:::i;:::-;3356:64;:::o;6059:370::-;-1:-1:-1;;;;;6179:19:0;;6159:4;6179:19;;;:11;:19;;;;;;;;6199:10;6179:31;;;;;;;;-1:-1:-1;;6179:52:0;6176:186;;6281:69;;;;;;;;;;;-1:-1:-1;;;6281:69:0;;;;;;;;-1:-1:-1;;;;;6281:19:0;;-1:-1:-1;6281:19:0;;;:11;:19;;;;;6301:10;6281:31;;;;;;;;;;:69;;6317:6;;6281:35;:69::i;:::-;-1:-1:-1;;;;;6247:19:0;;;;;;:11;:19;;;;;;;;6267:10;6247:31;;;;;;;:103;6176:186;6381:40;6395:6;6403:9;6414:6;6381:13;:40::i;:::-;6374:47;;6059:370;;;;;;:::o;10197:137::-;10310:9;:15;;;;3093:42;10250:7;10292:15;;;;;10250:7;;10310:15;3408:12;3345:2;3408;:12;:::i;:::-;3394:26;;:11;:26;:::i;:::-;10278:29;;;;:::i;:::-;:47;;;;:::i;:::-;10270:56;;10197:137;:::o;8873:112::-;8923:21;;8915:62;;-1:-1:-1;;;;;8923:21:0;;;;8955;8915:62;;;;;8923:21;8915:62;8923:21;8915:62;8955:21;8923;8915:62;;;;;;;;;;;;;;;;;;;;;8873:112::o;5765:122::-;5820:4;5844:35;5852:7;-1:-1:-1;;5844:7:0;:35::i;9804:198::-;2252:4;2287:5;-1:-1:-1;;;;;2287:5:0;2156:10;2276:16;2140:38;;;;-1:-1:-1;;;2140:38:0;;;;;;;:::i;:::-;;;;;;;;;9903:14:::1;:22:::0;;;;9936:13:::1;:20:::0;;;;9967:18:::1;:27:::0;9804:198::o;2308:128::-;2252:4;2287:5;-1:-1:-1;;;;;2287:5:0;2156:10;2276:16;2140:38;;;;-1:-1:-1;;;2140:38:0;;;;;;;:::i;:::-;2383:1:::1;2367:18:::0;;-1:-1:-1;;;;;;2367:18:0::1;::::0;;2401:27:::1;::::0;160:51:1;;;2401:27:0::1;::::0;148:2:1;133:18;2401:27:0::1;;;;;;;2308:128::o:0;6437:219::-;2252:4;2287:5;-1:-1:-1;;;;;2287:5:0;2156:10;2276:16;2140:38;;;;-1:-1:-1;;;2140:38:0;;;;;;;:::i;:::-;6544:1:::1;6527:13;:18;;6519:64;;;::::0;-1:-1:-1;;;6519:64:0;;5999:2:1;6519:64:0::1;::::0;::::1;5981:21:1::0;6038:2;6018:18;;;6011:30;6077:34;6057:18;;;6050:62;-1:-1:-1;;;6128:18:1;;;6121:32;6170:19;;6519:64:0::1;5797:398:1::0;6519:64:0::1;6645:3;6627:13:::0;3408:12:::1;3345:2;3408;:12;:::i;:::-;3394:26;::::0;:11:::1;:26;:::i;:::-;6613:27;;;;:::i;:::-;6612:36;;;;:::i;:::-;6594:15;:54:::0;-1:-1:-1;6437:219:0:o;5895:156::-;5975:4;5999:44;6013:10;6025:9;6036:6;5999:13;:44::i;8993:79::-;2252:4;2287:5;-1:-1:-1;;;;;2287:5:0;2156:10;2276:16;2140:38;;;;-1:-1:-1;;;2140:38:0;;;;;;;:::i;:::-;9046:11:::1;:18:::0;;-1:-1:-1;;;;9046:18:0::1;-1:-1:-1::0;;;9046:18:0::1;::::0;;8993:79::o;10010:179::-;2252:4;2287:5;-1:-1:-1;;;;;2287:5:0;2156:10;2276:16;2140:38;;;;-1:-1:-1;;;2140:38:0;;;;;;;:::i;:::-;10106:11:::1;:22:::0;;-1:-1:-1;;;;10106:22:0::1;-1:-1:-1::0;;;10106:22:0;::::1;;;;::::0;;10169:12;3408::::1;3345:2;3408;:12;:::i;:::-;3394:26;::::0;:11:::1;:26;:::i;:::-;10155;;;;:::i;:::-;10139:13;:42:::0;-1:-1:-1;;10010:179:0:o;518:192::-;604:7;640:12;632:6;;;;624:29;;;;-1:-1:-1;;;624:29:0;;;;;;;;:::i;:::-;-1:-1:-1;664:9:0;676:5;680:1;676;:5;:::i;:::-;664:17;518:192;-1:-1:-1;;;;;518:192:0:o;6664:923::-;6776:6;;6756:4;;6776:6;;6773:63;;;6792:41;6807:6;6815:9;6826:6;6792:14;:41::i;:::-;6785:48;;;;6773:63;-1:-1:-1;;;;;6852:19:0;;;;;;:11;:19;;;;;;;;6848:94;;6895:11;;-1:-1:-1;;;6895:11:0;;;;6887:43;;;;-1:-1:-1;;;6887:43:0;;6624:2:1;6887:43:0;;;6606:21:1;6663:2;6643:18;;;6636:30;-1:-1:-1;;;6682:18:1;;;6675:50;6742:18;;6887:43:0;6422:344:1;6887:43:0;-1:-1:-1;;;;;6959:27:0;;;;;;:19;:27;;;;;;;;6958:28;:63;;;;-1:-1:-1;;;;;;6991:30:0;;;;;;:19;:30;;;;;;;;6990:31;6958:63;:84;;;;;7038:4;-1:-1:-1;;;;;7025:17:0;:9;-1:-1:-1;;;;;7025:17:0;;;6958:84;6954:203;;;7102:15;;-1:-1:-1;;;;;7068:20:0;;;;;;:9;:20;;;;;;:29;;7091:6;;7068:29;:::i;:::-;7067:50;;7059:86;;;;-1:-1:-1;;;7059:86:0;;7103:2:1;7059:86:0;;;7085:21:1;7142:2;7122:18;;;7115:30;7181:26;7161:18;;;7154:54;7225:18;;7059:86:0;6901:348:1;7059:86:0;7172:16;:14;:16::i;:::-;7169:35;;;7191:10;:8;:10::i;:::-;7236:53;;;;;;;;;;;-1:-1:-1;;;7236:53:0;;;;;;;;-1:-1:-1;;;;;7236:17:0;;-1:-1:-1;7236:17:0;;;:9;:17;;;;;;;;:53;;7258:6;;7236:21;:53::i;:::-;-1:-1:-1;;;;;7216:17:0;;;;;;:9;:17;;;;;;;;:73;;;;7328:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;7351:22:0;;;;;;:11;:22;;;;;;;;7328:45;7327:93;;7386:34;7394:6;7402;7410:9;7386:7;:34::i;:::-;7327:93;;;7377:6;7327:93;-1:-1:-1;;;;;7456:20:0;;;;;;:9;:20;;;;;;7302:118;;-1:-1:-1;7456:40:0;;7302:118;7456:24;:40::i;:::-;-1:-1:-1;;;;;7433:20:0;;;;;;;:9;:20;;;;;;;:63;;;;7514:43;;;;;;;;;;7542:14;368:25:1;;356:2;341:18;;222:177;7514:43:0;;;;;;;;-1:-1:-1;7575:4:0;;6664:923;-1:-1:-1;;;;6664:923:0:o;7599:330::-;7729:53;;;;;;;;;;;-1:-1:-1;;;7729:53:0;;;;;;;;-1:-1:-1;;;;;7729:17:0;;7692:4;7729:17;;;:9;:17;;;;;;;:53;;7751:6;;7729:21;:53::i;:::-;-1:-1:-1;;;;;7709:17:0;;;;;;;:9;:17;;;;;;:73;;;;7816:20;;;;;;;:32;;7841:6;7816:24;:32::i;:::-;-1:-1:-1;;;;;7793:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7864:35;;;;;;;;;;7892:6;368:25:1;;356:2;341:18;;222:177;7864:35:0;;;;;;;;-1:-1:-1;7917:4:0;7599:330;;;;;:::o;8668:197::-;8717:4;8741:10;-1:-1:-1;;;;;8755:4:0;8741:18;;;;;:38;;-1:-1:-1;8773:6:0;;;;8772:7;8741:38;:62;;;;-1:-1:-1;8792:11:0;;-1:-1:-1;;;8792:11:0;;;;8741:62;:116;;;;-1:-1:-1;;8844:13:0;;8834:4;8816:24;;;;:9;:24;;;;;;:41;;;8668:197::o;9080:716::-;4364:6;:13;;-1:-1:-1;;4364:13:0;4373:4;4364:13;;;9155:16:::1;::::0;;9169:1:::1;9155:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9155:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9155:16:0::1;9131:40;;9200:4;9182;9187:1;9182:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9182:23:0::1;;;-1:-1:-1::0;;;;;9182:23:0::1;;;::::0;::::1;9226:4;9216;9221:1;9216:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9216:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;9243:6:::1;::::0;9315:13:::1;::::0;9243:189:::1;::::0;-1:-1:-1;;;9243:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;9315:13;9243:6:::1;::::0;9359:4;;9386::::1;::::0;9406:15:::1;::::0;9243:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;9557:8:0::1;::::0;9541:12:::1;::::0;9465:21:::1;::::0;-1:-1:-1;9445:17:0::1;::::0;-1:-1:-1;9529:24:0::1;::::0;9465:21;9529:24:::1;:::i;:::-;9528:37;;;;:::i;:::-;9499:66;;9576:28;9637:8;;9620:13;;9608:9;:25;;;;:::i;:::-;9607:38;;;;:::i;:::-;9666:20;::::0;9658:58:::1;::::0;9576:69;;-1:-1:-1;;;;;;9666:20:0::1;::::0;9658:58;::::1;;;::::0;9697:18;;9666:20:::1;9658:58:::0;9666:20;9658:58;9697:18;9666:20;9658:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;9735:21:0::1;::::0;9727:61:::1;::::0;-1:-1:-1;;;;;9735:21:0;;::::1;::::0;9727:61;::::1;;;::::0;9767:20;;9735:21:::1;9727:61:::0;9735:21;9727:61;9767:20;9735:21;9727:61;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4382:6:0;:14;;-1:-1:-1;;4382:14:0;;;-1:-1:-1;;;9080:716:0:o;7937:723::-;8023:7;8046:11;;;:28;;-1:-1:-1;8061:8:0;;:13;8046:28;8043:72;;;-1:-1:-1;8097:6:0;8090:13;;8043:72;8148:18;;-1:-1:-1;;;;;8195:4:0;8182:17;;;;;;8179:154;;-1:-1:-1;8229:14:0;;8179:154;;;8274:4;-1:-1:-1;;;;;8264:14:0;:6;-1:-1:-1;;;;;8264:14:0;;8261:72;;-1:-1:-1;8308:13:0;;8261:72;8345:17;8365:62;8406:20;3903:4;8423:3;8406:20;:::i;:::-;8365:36;8390:10;8365:20;8376:8;;8365:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;8345:82;-1:-1:-1;8443:13:0;;8440:172;;8517:4;8499:24;;;;:9;:24;;;;;;:39;;8528:9;8499:28;:39::i;:::-;8490:4;8472:24;;;;:9;:24;;;;;;;:66;;;;8558:42;;-1:-1:-1;;;;;8558:42:0;;;;;;;8590:9;368:25:1;;356:2;341:18;;222:177;8558:42:0;;;;;;;;8440:172;8631:21;:6;8642:9;8631:10;:21::i;:::-;8624:28;7937:723;-1:-1:-1;;;;;;7937:723:0:o;189:181::-;247:7;;279:5;283:1;279;:5;:::i;:::-;267:17;;308:1;303;:6;;295:46;;;;-1:-1:-1;;;295:46:0;;8705:2:1;295:46:0;;;8687:21:1;8744:2;8724:18;;;8717:30;8783:29;8763:18;;;8756:57;8830:18;;295:46:0;8503:351:1;716:250:0;774:7;798:1;803;798:6;794:47;;-1:-1:-1;828:1:0;821:8;;794:47;853:9;865:5;869:1;865;:5;:::i;:::-;853:17;-1:-1:-1;898:1:0;889:5;893:1;853:17;889:5;:::i;:::-;:10;881:56;;;;-1:-1:-1;;;881:56:0;;9061:2:1;881:56:0;;;9043:21:1;9100:2;9080:18;;;9073:30;9139:34;9119:18;;;9112:62;-1:-1:-1;;;9190:18:1;;;9183:31;9231:19;;881:56:0;8859:397:1;972:132:0;1030:7;1057:39;1061:1;1064;1057:39;;;;;;;;;;;;;;;;;:3;:39::i;376:136::-;434:7;461:43;465:1;468;461:43;;;;;;;;;;;;;;;;;:3;:43::i;1110:189::-;1196:7;1231:12;1224:5;1216:28;;;;-1:-1:-1;;;1216:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1255:9:0;1267:5;1271:1;1267;:5;:::i;404:548:1:-;516:4;545:2;574;563:9;556:21;606:6;600:13;649:6;644:2;633:9;629:18;622:34;674:1;684:140;698:6;695:1;692:13;684:140;;;793:14;;;789:23;;783:30;759:17;;;778:2;755:26;748:66;713:10;;684:140;;;688:3;873:1;868:2;859:6;848:9;844:22;840:31;833:42;943:2;936;932:7;927:2;919:6;915:15;911:29;900:9;896:45;892:54;884:62;;;;404:548;;;;:::o;957:173::-;1025:20;;-1:-1:-1;;;;;1074:31:1;;1064:42;;1054:70;;1120:1;1117;1110:12;1054:70;957:173;;;:::o;1135:254::-;1203:6;1211;1264:2;1252:9;1243:7;1239:23;1235:32;1232:52;;;1280:1;1277;1270:12;1232:52;1303:29;1322:9;1303:29;:::i;:::-;1293:39;1379:2;1364:18;;;;1351:32;;-1:-1:-1;;;1135:254:1:o;1586:328::-;1663:6;1671;1679;1732:2;1720:9;1711:7;1707:23;1703:32;1700:52;;;1748:1;1745;1738:12;1700:52;1771:29;1790:9;1771:29;:::i;:::-;1761:39;;1819:38;1853:2;1842:9;1838:18;1819:38;:::i;:::-;1809:48;;1904:2;1893:9;1889:18;1876:32;1866:42;;1586:328;;;;;:::o;1919:186::-;1978:6;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;2070:29;2089:9;2070:29;:::i;2299:316::-;2376:6;2384;2392;2445:2;2433:9;2424:7;2420:23;2416:32;2413:52;;;2461:1;2458;2451:12;2413:52;-1:-1:-1;;2484:23:1;;;2554:2;2539:18;;2526:32;;-1:-1:-1;2605:2:1;2590:18;;;2577:32;;2299:316;-1:-1:-1;2299:316:1:o;2620:180::-;2679:6;2732:2;2720:9;2711:7;2707:23;2703:32;2700:52;;;2748:1;2745;2738:12;2700:52;-1:-1:-1;2771:23:1;;2620:180;-1:-1:-1;2620:180:1:o;2805:260::-;2873:6;2881;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2973:29;2992:9;2973:29;:::i;:::-;2963:39;;3021:38;3055:2;3044:9;3040:18;3021:38;:::i;:::-;3011:48;;2805:260;;;;;:::o;3070:341::-;3135:6;3143;3196:2;3184:9;3175:7;3171:23;3167:32;3164:52;;;3212:1;3209;3202:12;3164:52;3251:9;3238:23;3304:5;3297:13;3290:21;3283:5;3280:32;3270:60;;3326:1;3323;3316:12;3642:127;3703:10;3698:3;3694:20;3691:1;3684:31;3734:4;3731:1;3724:15;3758:4;3755:1;3748:15;3774:422;3863:1;3906:5;3863:1;3920:270;3941:7;3931:8;3928:21;3920:270;;;4000:4;3996:1;3992:6;3988:17;3982:4;3979:27;3976:53;;;4009:18;;:::i;:::-;4059:7;4049:8;4045:22;4042:55;;;4079:16;;;;4042:55;4158:22;;;;4118:15;;;;3920:270;;;3924:3;3774:422;;;;;:::o;4201:806::-;4250:5;4280:8;4270:80;;-1:-1:-1;4321:1:1;4335:5;;4270:80;4369:4;4359:76;;-1:-1:-1;4406:1:1;4420:5;;4359:76;4451:4;4469:1;4464:59;;;;4537:1;4532:130;;;;4444:218;;4464:59;4494:1;4485:10;;4508:5;;;4532:130;4569:3;4559:8;4556:17;4553:43;;;4576:18;;:::i;:::-;-1:-1:-1;;4632:1:1;4618:16;;4647:5;;4444:218;;4746:2;4736:8;4733:16;4727:3;4721:4;4718:13;4714:36;4708:2;4698:8;4695:16;4690:2;4684:4;4681:12;4677:35;4674:77;4671:159;;;-1:-1:-1;4783:19:1;;;4815:5;;4671:159;4862:34;4887:8;4881:4;4862:34;:::i;:::-;4932:6;4928:1;4924:6;4920:19;4911:7;4908:32;4905:58;;;4943:18;;:::i;:::-;4981:20;;4201:806;-1:-1:-1;;;4201:806:1:o;5012:140::-;5070:5;5099:47;5140:4;5130:8;5126:19;5120:4;5099:47;:::i;5157:168::-;5230:9;;;5261;;5278:15;;;5272:22;;5258:37;5248:71;;5299:18;;:::i;5330:128::-;5397:9;;;5418:11;;;5415:37;;;5432:18;;:::i;5463:329::-;5665:2;5647:21;;;5704:1;5684:18;;;5677:29;-1:-1:-1;;;5737:2:1;5722:18;;5715:36;5783:2;5768:18;;5463:329::o;6200:217::-;6240:1;6266;6256:132;;6310:10;6305:3;6301:20;6298:1;6291:31;6345:4;6342:1;6335:15;6373:4;6370:1;6363:15;6256:132;-1:-1:-1;6402:9:1;;6200:217::o;6771:125::-;6836:9;;;6857:10;;;6854:36;;;6870:18;;:::i;7386:127::-;7447:10;7442:3;7438:20;7435:1;7428:31;7478:4;7475:1;7468:15;7502:4;7499:1;7492:15;7518:980;7780:4;7828:3;7817:9;7813:19;7859:6;7848:9;7841:25;7885:2;7923:6;7918:2;7907:9;7903:18;7896:34;7966:3;7961:2;7950:9;7946:18;7939:31;7990:6;8025;8019:13;8056:6;8048;8041:22;8094:3;8083:9;8079:19;8072:26;;8133:2;8125:6;8121:15;8107:29;;8154:1;8164:195;8178:6;8175:1;8172:13;8164:195;;;8243:13;;-1:-1:-1;;;;;8239:39:1;8227:52;;8334:15;;;;8299:12;;;;8275:1;8193:9;8164:195;;;-1:-1:-1;;;;;;;8415:32:1;;;;8410:2;8395:18;;8388:60;-1:-1:-1;;;8479:3:1;8464:19;8457:35;8376:3;7518:980;-1:-1:-1;;;7518:980:1:o

Swarm Source

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