ETH Price: $2,285.65 (+0.39%)

Token

Sedona AI (SEDONA)
 

Overview

Max Total Supply

100,000,000 SEDONA

Holders

58

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
500,000.000000000002426165 SEDONA

Value
$0.00
0x6f32c64e36ce9aed9839d823a864de86e4bf9998
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:
SedonaAI

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 2024-03-28
*/

// SPDX-License-Identifier: MIT

/*
    Web      : https://sedona.cash
    App      : https://app.sedona.cash
    Docs     : https://docs.sedona.cash

    Twitter  : https://twitter.com/AIsedonaX
    Telegram : https://t.me/aisedona_official
*/

pragma solidity 0.8.19;

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

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "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, " multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "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;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

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

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract SedonaAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromSedonaFee;

    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100000000 * 10**_decimals;
    
    uint256 private constant onePercent = 1000000 * 10**_decimals; // 1% from Liquidity 

    uint256 public maxWalletAmount = onePercent * 2; // 2% max wallet at launch

    uint256 private _sedonaTax;
    uint256 public buyTax = 0;
    uint256 public sellTax = 5;
    uint256 public transferTax = 0;

    string private constant _name = "Sedona AI";
    string private constant _symbol = "SEDONA";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address payable public sedonaFee;
        
    uint256 private launchedAt;
    uint256 private launchDelay = 2;
    bool private launch = false;

    uint256 private constant minSedonaSwap = onePercent / 2700; //0.05% from Liquidity supply
  
    bool private inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {       
        sedonaFee = payable(0xad3776023E44AB1F13995d40e4B7B366fEB8B222);

        _isExcludedFromSedonaFee[msg.sender] = true;
        _isExcludedFromSedonaFee[address(this)] = true;       
        _isExcludedFromSedonaFee[sedonaFee] = true;

        _balance[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

     function newDelay(uint256 newLaunchDelay) external onlyOwner {
         launchDelay = newLaunchDelay;
     }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "approve zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(from == owner() || from == address(this)) {
            _basicTransfer(from, to, amount, true); return;
        }

        if (_isExcludedFromSedonaFee[from]) {
            _sedonaTax = 0;
            _basicTransfer(from, to, amount, false); return;
        } else {
            require(launch, "Wait till Sedona Launch");

            if (block.number < launchedAt + launchDelay) {_sedonaTax=45;} else {
                if (from == uniswapV2Pair) {
                    require(balanceOf(to) + amount <= maxWalletAmount, "Max wallet 2% at launch");
                    _sedonaTax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minSedonaSwap && !inSwapAndLiquify) {
                        if (tokensToSwap > onePercent) {
                            tokensToSwap = onePercent;
                        }
                        if(amount > minSedonaSwap)
                            swapTokensForEth(tokensToSwap);
                    }
                    _sedonaTax = sellTax;
                } else {
                    _sedonaTax = transferTax;
                }
            }
        }

        uint256 taxTokens = (amount * _sedonaTax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;
        emit Transfer(from, to, transferAmount);

    }

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

        uint256 ethForMarketing = address(this).balance;
        sedonaFee.transfer(ethForMarketing);
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool opened
    ) internal {
        if(opened)
        _balance[sender] = _balance[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balance[recipient] = _balance[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function newSedonaTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function removeSedonaLimits() external onlyOwner {
        maxWalletAmount = _totalSupply;
    }

    function sendEthBalances(uint256 amount) private {
        sedonaFee.transfer(amount);
    }    

    function createSedonaPairs() external onlyOwner {
        require(!launch,"Already launched!");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Uniswap V2 Router

        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function withdrawStuckEthBalance() external onlyOwner {
        require(address(this).balance > 0, "No Balance to withdraw!");
        payable(msg.sender).transfer(address(this).balance);
    }

    function enableTrading() external onlyOwner {
        launch = true;
        launchedAt = block.number;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createSedonaPairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLaunchDelay","type":"uint256"}],"name":"newDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"newSedonaTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeSedonaLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sedonaFee","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawStuckEthBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620002a6565b6200002190620f4240620002be565b6200002e906002620002be565b6004556000600681905560056007556008556002600d55600e805460ff191690553480156200005c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b03191673ad3776023e44ab1f13995d40e4b7b366feb8b22217815533600090815260036020526040808220805460ff199081166001908117909255308452828420805482168317905593546001600160a01b0316835291208054909216179055620001176012600a620002a6565b62000127906305f5e100620002be565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200016a6012600a620002a6565b6200017a906305f5e100620002be565b60405190815260200160405180910390a3620002d8565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620001e8578160001904821115620001cc57620001cc62000191565b80851615620001da57918102915b93841c9390800290620001ac565b509250929050565b6000826200020157506001620002a0565b816200021057506000620002a0565b8160018114620002295760028114620002345762000254565b6001915050620002a0565b60ff84111562000248576200024862000191565b50506001821b620002a0565b5060208310610133831016604e8410600b841016171562000279575081810a620002a0565b620002858383620001a7565b80600019048211156200029c576200029c62000191565b0290505b92915050565b6000620002b760ff841683620001f0565b9392505050565b8082028115828204841417620002a057620002a062000191565b6118a580620002e86000396000f3fe60806040526004361061014f5760003560e01c80638124f7ac116100b6578063aa4bde281161006f578063aa4bde28146103cb578063cc1776d3146103e1578063cd0d8661146103f7578063d10a08911461040c578063dd62ed3e1461042c578063f2fde38b1461047257600080fd5b80638124f7ac1461031e5780638a8c523c146103345780638da5cb5b1461034957806395d89b4114610367578063a26fe56614610396578063a9059cbb146103ab57600080fd5b806349bd5a5e1161010857806349bd5a5e146102665780634de132cd146102865780634f7041a5146102a857806360cad12a146102be57806370a08231146102d3578063715018a61461030957600080fd5b806306fdde031461015b57806307aa90ca1461019f578063095ea7b3146101d757806318160ddd1461020757806323b872dd1461022a578063313ce5671461024a57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b506040805180820190915260098152685365646f6e6120414960b81b60208201525b604051610196919061147b565b60405180910390f35b3480156101ab57600080fd5b50600b546101bf906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b3480156101e357600080fd5b506101f76101f23660046114de565b610492565b6040519015158152602001610196565b34801561021357600080fd5b5061021c6104a9565b604051908152602001610196565b34801561023657600080fd5b506101f761024536600461150a565b6104ca565b34801561025657600080fd5b5060405160128152602001610196565b34801561027257600080fd5b50600a546101bf906001600160a01b031681565b34801561029257600080fd5b506102a66102a136600461154b565b610564565b005b3480156102b457600080fd5b5061021c60065481565b3480156102ca57600080fd5b506102a66105a2565b3480156102df57600080fd5b5061021c6102ee36600461156d565b6001600160a01b031660009081526001602052604090205490565b34801561031557600080fd5b506102a661064b565b34801561032a57600080fd5b5061021c60085481565b34801561034057600080fd5b506102a66106bf565b34801561035557600080fd5b506000546001600160a01b03166101bf565b34801561037357600080fd5b506040805180820190915260068152655345444f4e4160d01b6020820152610189565b3480156103a257600080fd5b506102a66106fc565b3480156103b757600080fd5b506101f76103c63660046114de565b610a8b565b3480156103d757600080fd5b5061021c60045481565b3480156103ed57600080fd5b5061021c60075481565b34801561040357600080fd5b506102a6610a98565b34801561041857600080fd5b506102a661042736600461158a565b610ae1565b34801561043857600080fd5b5061021c6104473660046115a3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561047e57600080fd5b506102a661048d36600461156d565b610b10565b600061049f338484610bdb565b5060015b92915050565b60006104b76012600a6116d6565b6104c5906305f5e1006116e5565b905090565b60006104d7848484610c9f565b61055a8433610555856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105343390565b6001600160a01b03168152602081019190915260400160002054919061113e565b610bdb565b5060019392505050565b6000546001600160a01b031633146105975760405162461bcd60e51b815260040161058e906116fc565b60405180910390fd5b600691909155600755565b6000546001600160a01b031633146105cc5760405162461bcd60e51b815260040161058e906116fc565b6000471161061c5760405162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f20776974686472617721000000000000000000604482015260640161058e565b60405133904780156108fc02916000818181858888f19350505050158015610648573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106755760405162461bcd60e51b815260040161058e906116fc565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106e95760405162461bcd60e51b815260040161058e906116fc565b600e805460ff1916600117905543600c55565b6000546001600160a01b031633146107265760405162461bcd60e51b815260040161058e906116fc565b600e5460ff161561076d5760405162461bcd60e51b8152602060048201526011602482015270416c7265616479206c61756e636865642160781b604482015260640161058e565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107b69030906107a86012600a6116d6565b610555906305f5e1006116e5565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d9190611733565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611733565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109249190611733565b600a80546001600160a01b039283166001600160a01b03199091161790556009541663f305d719473061096c816001600160a01b031660009081526001602052604090205490565b6000806109816000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a0e9190611750565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610648919061177e565b600061049f338484610c9f565b6000546001600160a01b03163314610ac25760405162461bcd60e51b815260040161058e906116fc565b610ace6012600a6116d6565b610adc906305f5e1006116e5565b600455565b6000546001600160a01b03163314610b0b5760405162461bcd60e51b815260040161058e906116fc565b600d55565b6000546001600160a01b03163314610b3a5760405162461bcd60e51b815260040161058e906116fc565b6001600160a01b038116610b905760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161058e565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b03831615801590610bfb57506001600160a01b03821615155b610c3e5760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b604482015260640161058e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161058e565b6001600160a01b038216610d655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161058e565b60008111610dc75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161058e565b6000546001600160a01b0384811691161480610deb57506001600160a01b03831630145b15610e0257610dfd8383836001611178565b505050565b6001600160a01b03831660009081526003602052604090205460ff1615610e38576000600581905550610dfd8383836000611178565b600e5460ff16610e8a5760405162461bcd60e51b815260206004820152601760248201527f576169742074696c6c205365646f6e61204c61756e6368000000000000000000604482015260640161058e565b600d54600c54610e9a91906117a0565b431015610eab57602d600555611033565b600a546001600160a01b0390811690841603610f475760045481610ee4846001600160a01b031660009081526001602052604090205490565b610eee91906117a0565b1115610f3c5760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574203225206174206c61756e6368000000000000000000604482015260640161058e565b600654600555611033565b600a546001600160a01b039081169083160361102c5730600090815260016020526040902054610a8c610f7c6012600a6116d6565b610f8990620f42406116e5565b610f9391906117b3565b81118015610fa95750600e54610100900460ff16155b1561102057610fba6012600a6116d6565b610fc790620f42406116e5565b811115610fea57610fda6012600a6116d6565b610fe790620f42406116e5565b90505b610a8c610ff96012600a6116d6565b61100690620f42406116e5565b61101091906117b3565b821115611020576110208161126f565b50600754600555611033565b6008546005555b600060646005548361104591906116e5565b61104f91906117b3565b9050600061105d82846117d5565b6001600160a01b0386166000908152600160205260409020549091506110849084906117d5565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546110b49082906117a0565b6001600160a01b0385166000908152600160205260408082209290925530815220546110e19083906117a0565b3060009081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b600081848411156111625760405162461bcd60e51b815260040161058e919061147b565b50600061116f84866117d5565b95945050505050565b80156111ea576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600190915291909120546111d091849061113e565b6001600160a01b0385166000908152600160205260409020555b6001600160a01b03831660009081526001602052604090205461120d9083611421565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112619086815260200190565b60405180910390a350505050565b600e805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112b3576112b36117e8565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561130c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113309190611733565b81600181518110611343576113436117e8565b6001600160a01b0392831660209182029290920101526009546113699130911684610bdb565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a29085906000908690309042906004016117fe565b600060405180830381600087803b1580156113bc57600080fd5b505af11580156113d0573d6000803e3d6000fd5b5050600b546040514793506001600160a01b03909116915082156108fc029083906000818181858888f19350505050158015611410573d6000803e3d6000fd5b5050600e805461ff00191690555050565b60008061142e83856117a0565b9050838110156114745760405162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015260640161058e565b9392505050565b600060208083528351808285015260005b818110156114a85785810183015185820160400152820161148c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064857600080fd5b600080604083850312156114f157600080fd5b82356114fc816114c9565b946020939093013593505050565b60008060006060848603121561151f57600080fd5b833561152a816114c9565b9250602084013561153a816114c9565b929592945050506040919091013590565b6000806040838503121561155e57600080fd5b50508035926020909101359150565b60006020828403121561157f57600080fd5b8135611474816114c9565b60006020828403121561159c57600080fd5b5035919050565b600080604083850312156115b657600080fd5b82356115c1816114c9565b915060208301356115d1816114c9565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561162d578160001904821115611613576116136115dc565b8085161561162057918102915b93841c93908002906115f7565b509250929050565b600082611644575060016104a3565b81611651575060006104a3565b816001811461166757600281146116715761168d565b60019150506104a3565b60ff841115611682576116826115dc565b50506001821b6104a3565b5060208310610133831016604e8410600b84101617156116b0575081810a6104a3565b6116ba83836115f2565b80600019048211156116ce576116ce6115dc565b029392505050565b600061147460ff841683611635565b80820281158282048414176104a3576104a36115dc565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b60006020828403121561174557600080fd5b8151611474816114c9565b60008060006060848603121561176557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561179057600080fd5b8151801515811461147457600080fd5b808201808211156104a3576104a36115dc565b6000826117d057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104a3576104a36115dc565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561184e5784516001600160a01b031683529383019391830191600101611829565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122007e9ba88e4067b3458a30696fc71a9b98da1e0415a001b7a7423bb9efe30a2b964736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638124f7ac116100b6578063aa4bde281161006f578063aa4bde28146103cb578063cc1776d3146103e1578063cd0d8661146103f7578063d10a08911461040c578063dd62ed3e1461042c578063f2fde38b1461047257600080fd5b80638124f7ac1461031e5780638a8c523c146103345780638da5cb5b1461034957806395d89b4114610367578063a26fe56614610396578063a9059cbb146103ab57600080fd5b806349bd5a5e1161010857806349bd5a5e146102665780634de132cd146102865780634f7041a5146102a857806360cad12a146102be57806370a08231146102d3578063715018a61461030957600080fd5b806306fdde031461015b57806307aa90ca1461019f578063095ea7b3146101d757806318160ddd1461020757806323b872dd1461022a578063313ce5671461024a57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b506040805180820190915260098152685365646f6e6120414960b81b60208201525b604051610196919061147b565b60405180910390f35b3480156101ab57600080fd5b50600b546101bf906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b3480156101e357600080fd5b506101f76101f23660046114de565b610492565b6040519015158152602001610196565b34801561021357600080fd5b5061021c6104a9565b604051908152602001610196565b34801561023657600080fd5b506101f761024536600461150a565b6104ca565b34801561025657600080fd5b5060405160128152602001610196565b34801561027257600080fd5b50600a546101bf906001600160a01b031681565b34801561029257600080fd5b506102a66102a136600461154b565b610564565b005b3480156102b457600080fd5b5061021c60065481565b3480156102ca57600080fd5b506102a66105a2565b3480156102df57600080fd5b5061021c6102ee36600461156d565b6001600160a01b031660009081526001602052604090205490565b34801561031557600080fd5b506102a661064b565b34801561032a57600080fd5b5061021c60085481565b34801561034057600080fd5b506102a66106bf565b34801561035557600080fd5b506000546001600160a01b03166101bf565b34801561037357600080fd5b506040805180820190915260068152655345444f4e4160d01b6020820152610189565b3480156103a257600080fd5b506102a66106fc565b3480156103b757600080fd5b506101f76103c63660046114de565b610a8b565b3480156103d757600080fd5b5061021c60045481565b3480156103ed57600080fd5b5061021c60075481565b34801561040357600080fd5b506102a6610a98565b34801561041857600080fd5b506102a661042736600461158a565b610ae1565b34801561043857600080fd5b5061021c6104473660046115a3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561047e57600080fd5b506102a661048d36600461156d565b610b10565b600061049f338484610bdb565b5060015b92915050565b60006104b76012600a6116d6565b6104c5906305f5e1006116e5565b905090565b60006104d7848484610c9f565b61055a8433610555856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105343390565b6001600160a01b03168152602081019190915260400160002054919061113e565b610bdb565b5060019392505050565b6000546001600160a01b031633146105975760405162461bcd60e51b815260040161058e906116fc565b60405180910390fd5b600691909155600755565b6000546001600160a01b031633146105cc5760405162461bcd60e51b815260040161058e906116fc565b6000471161061c5760405162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f20776974686472617721000000000000000000604482015260640161058e565b60405133904780156108fc02916000818181858888f19350505050158015610648573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106755760405162461bcd60e51b815260040161058e906116fc565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106e95760405162461bcd60e51b815260040161058e906116fc565b600e805460ff1916600117905543600c55565b6000546001600160a01b031633146107265760405162461bcd60e51b815260040161058e906116fc565b600e5460ff161561076d5760405162461bcd60e51b8152602060048201526011602482015270416c7265616479206c61756e636865642160781b604482015260640161058e565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107b69030906107a86012600a6116d6565b610555906305f5e1006116e5565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d9190611733565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611733565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109249190611733565b600a80546001600160a01b039283166001600160a01b03199091161790556009541663f305d719473061096c816001600160a01b031660009081526001602052604090205490565b6000806109816000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109e9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a0e9190611750565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610648919061177e565b600061049f338484610c9f565b6000546001600160a01b03163314610ac25760405162461bcd60e51b815260040161058e906116fc565b610ace6012600a6116d6565b610adc906305f5e1006116e5565b600455565b6000546001600160a01b03163314610b0b5760405162461bcd60e51b815260040161058e906116fc565b600d55565b6000546001600160a01b03163314610b3a5760405162461bcd60e51b815260040161058e906116fc565b6001600160a01b038116610b905760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161058e565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b03831615801590610bfb57506001600160a01b03821615155b610c3e5760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b604482015260640161058e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161058e565b6001600160a01b038216610d655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161058e565b60008111610dc75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161058e565b6000546001600160a01b0384811691161480610deb57506001600160a01b03831630145b15610e0257610dfd8383836001611178565b505050565b6001600160a01b03831660009081526003602052604090205460ff1615610e38576000600581905550610dfd8383836000611178565b600e5460ff16610e8a5760405162461bcd60e51b815260206004820152601760248201527f576169742074696c6c205365646f6e61204c61756e6368000000000000000000604482015260640161058e565b600d54600c54610e9a91906117a0565b431015610eab57602d600555611033565b600a546001600160a01b0390811690841603610f475760045481610ee4846001600160a01b031660009081526001602052604090205490565b610eee91906117a0565b1115610f3c5760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574203225206174206c61756e6368000000000000000000604482015260640161058e565b600654600555611033565b600a546001600160a01b039081169083160361102c5730600090815260016020526040902054610a8c610f7c6012600a6116d6565b610f8990620f42406116e5565b610f9391906117b3565b81118015610fa95750600e54610100900460ff16155b1561102057610fba6012600a6116d6565b610fc790620f42406116e5565b811115610fea57610fda6012600a6116d6565b610fe790620f42406116e5565b90505b610a8c610ff96012600a6116d6565b61100690620f42406116e5565b61101091906117b3565b821115611020576110208161126f565b50600754600555611033565b6008546005555b600060646005548361104591906116e5565b61104f91906117b3565b9050600061105d82846117d5565b6001600160a01b0386166000908152600160205260409020549091506110849084906117d5565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546110b49082906117a0565b6001600160a01b0385166000908152600160205260408082209290925530815220546110e19083906117a0565b3060009081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b600081848411156111625760405162461bcd60e51b815260040161058e919061147b565b50600061116f84866117d5565b95945050505050565b80156111ea576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600190915291909120546111d091849061113e565b6001600160a01b0385166000908152600160205260409020555b6001600160a01b03831660009081526001602052604090205461120d9083611421565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112619086815260200190565b60405180910390a350505050565b600e805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112b3576112b36117e8565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561130c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113309190611733565b81600181518110611343576113436117e8565b6001600160a01b0392831660209182029290920101526009546113699130911684610bdb565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906113a29085906000908690309042906004016117fe565b600060405180830381600087803b1580156113bc57600080fd5b505af11580156113d0573d6000803e3d6000fd5b5050600b546040514793506001600160a01b03909116915082156108fc029083906000818181858888f19350505050158015611410573d6000803e3d6000fd5b5050600e805461ff00191690555050565b60008061142e83856117a0565b9050838110156114745760405162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015260640161058e565b9392505050565b600060208083528351808285015260005b818110156114a85785810183015185820160400152820161148c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064857600080fd5b600080604083850312156114f157600080fd5b82356114fc816114c9565b946020939093013593505050565b60008060006060848603121561151f57600080fd5b833561152a816114c9565b9250602084013561153a816114c9565b929592945050506040919091013590565b6000806040838503121561155e57600080fd5b50508035926020909101359150565b60006020828403121561157f57600080fd5b8135611474816114c9565b60006020828403121561159c57600080fd5b5035919050565b600080604083850312156115b657600080fd5b82356115c1816114c9565b915060208301356115d1816114c9565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561162d578160001904821115611613576116136115dc565b8085161561162057918102915b93841c93908002906115f7565b509250929050565b600082611644575060016104a3565b81611651575060006104a3565b816001811461166757600281146116715761168d565b60019150506104a3565b60ff841115611682576116826115dc565b50506001821b6104a3565b5060208310610133831016604e8410600b84101617156116b0575081810a6104a3565b6116ba83836115f2565b80600019048211156116ce576116ce6115dc565b029392505050565b600061147460ff841683611635565b80820281158282048414176104a3576104a36115dc565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b60006020828403121561174557600080fd5b8151611474816114c9565b60008060006060848603121561176557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561179057600080fd5b8151801515811461147457600080fd5b808201808211156104a3576104a36115dc565b6000826117d057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104a3576104a36115dc565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561184e5784516001600160a01b031683529383019391830191600101611829565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122007e9ba88e4067b3458a30696fc71a9b98da1e0415a001b7a7423bb9efe30a2b964736f6c63430008130033

Deployed Bytecode Sourcemap

3934:7685:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5637:83;;;;;;;;;;-1:-1:-1;5707:5:0;;;;;;;;;;;;-1:-1:-1;;;5707:5:0;;;;5637:83;;;;;;;:::i;:::-;;;;;;;;4830:32;;;;;;;;;;-1:-1:-1;4830:32:0;;;;-1:-1:-1;;;;;4830:32:0;;;;;;-1:-1:-1;;;;;747:32:1;;;729:51;;717:2;702:18;4830:32:0;567:219:1;6471:160:0;;;;;;;;;;-1:-1:-1;6471:160:0;;;;;:::i;:::-;;:::i;:::-;;;1412:14:1;;1405:22;1387:41;;1375:2;1360:18;6471:160:0;1247:187:1;5914:100:0;;;;;;;;;;;;;:::i;:::-;;;1585:25:1;;;1573:2;1558:18;5914:100:0;1439:177:1;6758:283:0;;;;;;;;;;-1:-1:-1;6758:283:0;;;;;:::i;:::-;;:::i;5823:83::-;;;;;;;;;;-1:-1:-1;5823:83:0;;4246:2;2224:36:1;;2212:2;2197:18;5823:83:0;2082:184:1;4795:28:0;;;;;;;;;;-1:-1:-1;4795:28:0;;;;-1:-1:-1;;;;;4795:28:0;;;10253:148;;;;;;;;;;-1:-1:-1;10253:148:0;;;;;:::i;:::-;;:::i;:::-;;4541:25;;;;;;;;;;;;;;;;11263:196;;;;;;;;;;;;;:::i;6022:118::-;;;;;;;;;;-1:-1:-1;6022:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6115:17:0;6088:7;6115:17;;;:8;:17;;;;;;;6022:118;2308:148;;;;;;;;;;;;;:::i;4606:30::-;;;;;;;;;;;;;;;;11467:112;;;;;;;;;;;;;:::i;1868:79::-;;;;;;;;;;-1:-1:-1;1906:7:0;1933:6;-1:-1:-1;;;;;1933:6:0;1868:79;;5728:87;;;;;;;;;;-1:-1:-1;5800:7:0;;;;;;;;;;;;-1:-1:-1;;;5800:7:0;;;;5728:87;;10621:634;;;;;;;;;;;;;:::i;6148:165::-;;;;;;;;;;-1:-1:-1;6148:165:0;;;;;:::i;:::-;;:::i;4425:47::-;;;;;;;;;;;;;;;;4573:26;;;;;;;;;;;;;;;;10409:98;;;;;;;;;;;;;:::i;6640:110::-;;;;;;;;;;-1:-1:-1;6640:110:0;;;;;:::i;:::-;;:::i;6321:142::-;;;;;;;;;;-1:-1:-1;6321:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;6428:18:0;;;6402:7;6428:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6321:142;2073:227;;;;;;;;;;-1:-1:-1;2073:227:0;;;;;:::i;:::-;;:::i;6471:160::-;6546:4;6562:39;397:10;6585:7;6594:6;6562:8;:39::i;:::-;-1:-1:-1;6619:4:0;6471:160;;;;;:::o;5914:100::-;5967:7;4307:13;4246:2;4307;:13;:::i;:::-;4295:25;;:9;:25;:::i;:::-;5987:19;;5914:100;:::o;6758:283::-;6856:4;6873:36;6883:6;6891:9;6902:6;6873:9;:36::i;:::-;6920:91;6929:6;397:10;6949:61;6987:6;6949:61;;;;;;;;;;;;;-1:-1:-1;;;6949:61:0;;;:11;:19;6961:6;-1:-1:-1;;;;;6949:19:0;-1:-1:-1;;;;;6949:19:0;;;;;;;;;;;;:33;6969:12;397:10;;317:98;6969:12;-1:-1:-1;;;;;6949:33:0;;;;;;;;;;;;-1:-1:-1;6949:33:0;;;:61;:37;:61::i;:::-;6920:8;:91::i;:::-;-1:-1:-1;7029:4:0;6758:283;;;;;:::o;10253:148::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;;;;;;;;;10344:6:::1;:18:::0;;;;10373:7:::1;:20:::0;10253:148::o;11263:196::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;11360:1:::1;11336:21;:25;11328:61;;;::::0;-1:-1:-1;;;11328:61:0;;5804:2:1;11328:61:0::1;::::0;::::1;5786:21:1::0;5843:2;5823:18;;;5816:30;5882:25;5862:18;;;5855:53;5925:18;;11328:61:0::1;5602:347:1::0;11328:61:0::1;11400:51;::::0;11408:10:::1;::::0;11429:21:::1;11400:51:::0;::::1;;;::::0;::::1;::::0;;;11429:21;11408:10;11400:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11263:196::o:0;2308:148::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;2415:1:::1;2399:6:::0;;2378:40:::1;::::0;-1:-1:-1;;;;;2399:6:0;;::::1;::::0;2378:40:::1;::::0;2415:1;;2378:40:::1;2446:1;2429:19:::0;;-1:-1:-1;;;;;;2429:19:0::1;::::0;;2308:148::o;11467:112::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;11522:6:::1;:13:::0;;-1:-1:-1;;11522:13:0::1;11531:4;11522:13;::::0;;11559:12:::1;11546:10;:25:::0;11467:112::o;10621:634::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;10689:6:::1;::::0;::::1;;10688:7;10680:36;;;::::0;-1:-1:-1;;;10680:36:0;;6156:2:1;10680:36:0::1;::::0;::::1;6138:21:1::0;6195:2;6175:18;;;6168:30;-1:-1:-1;;;6214:18:1;;;6207:47;6271:18;;10680:36:0::1;5954:341:1::0;10680:36:0::1;10727:15;:80:::0;;-1:-1:-1;;;;;;10727:80:0::1;10764:42;10727:80:::0;;::::1;::::0;;;10841:63:::1;::::0;10858:4:::1;::::0;4307:13:::1;4246:2;4307;:13;:::i;:::-;4295:25;::::0;:9:::1;:25;:::i;10841:63::-;10949:15;;;;;;;;;-1:-1:-1::0;;;;;10949:15:0::1;-1:-1:-1::0;;;;;10949:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10931:55:0::1;;10995:4;11002:15;;;;;;;;;-1:-1:-1::0;;;;;11002:15:0::1;-1:-1:-1::0;;;;;11002:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10931:94;::::0;-1:-1:-1;;;;;;10931:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6786:15:1;;;10931:94:0::1;::::0;::::1;6768:34:1::0;6838:15;;6818:18;;;6811:43;6703:18;;10931:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10915:13;:110:::0;;-1:-1:-1;;;;;10915:110:0;;::::1;-1:-1:-1::0;;;;;;10915:110:0;;::::1;;::::0;;11036:15:::1;::::0;::::1;:31;11075:21;11106:4;11112:24;11106:4:::0;-1:-1:-1;;;;;6115:17:0;6088:7;6115:17;;;:8;:17;;;;;;;6022:118;11112:24:::1;11137:1;11139::::0;11141:7:::1;1906::::0;1933:6;-1:-1:-1;;;;;1933:6:0;;1868:79;11141:7:::1;11036:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11036:129:0;;;-1:-1:-1;;;;;7224:15:1;;;11036:129:0::1;::::0;::::1;7206:34:1::0;7256:18;;;7249:34;;;;7299:18;;;7292:34;;;;7342:18;;;7335:34;7406:15;;;7385:19;;;7378:44;11149:15:0::1;7438:19:1::0;;;7431:35;7140:19;;11036:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11183:13:0::1;::::0;11214:15:::1;::::0;11176:71:::1;::::0;-1:-1:-1;;;11176:71:0;;-1:-1:-1;;;;;11214:15:0;;::::1;11176:71;::::0;::::1;7962:51:1::0;-1:-1:-1;;8029:18:1;;;8022:34;11183:13:0;::::1;::::0;-1:-1:-1;11176:29:0::1;::::0;7935:18:1;;11176:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6148:165::-:0;6225:4;6241:42;397:10;6265:9;6276:6;6241:9;:42::i;10409:98::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;4307:13:::1;4246:2;4307;:13;:::i;:::-;4295:25;::::0;:9:::1;:25;:::i;:::-;10469:15;:30:::0;10409:98::o;6640:110::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;6713:11:::1;:28:::0;6640:110::o;2073:227::-;1995:6;;-1:-1:-1;;;;;1995:6:0;397:10;1995:22;1987:58;;;;-1:-1:-1;;;1987:58:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2154:22:0;::::1;2146:64;;;::::0;-1:-1:-1;;;2146:64:0;;8551:2:1;2146:64:0::1;::::0;::::1;8533:21:1::0;8590:2;8570:18;;;8563:30;8629:31;8609:18;;;8602:59;8678:18;;2146:64:0::1;8349:353:1::0;2146:64:0::1;2221:6;:17:::0;;-1:-1:-1;;;;;;2221:17:0::1;-1:-1:-1::0;;;;;2221:17:0;::::1;::::0;;::::1;::::0;;2254:38:::1;::::0;2221:17;;;;2254:38:::1;::::0;2221:6;2254:38:::1;2073:227:::0;:::o;7049:265::-;-1:-1:-1;;;;;7142:19:0;;;;;;:44;;-1:-1:-1;;;;;;7165:21:0;;;;7142:44;7134:77;;;;-1:-1:-1;;;7134:77:0;;8909:2:1;7134:77:0;;;8891:21:1;8948:2;8928:18;;;8921:30;-1:-1:-1;;;8967:18:1;;;8960:50;9027:18;;7134:77:0;8707:344:1;7134:77:0;-1:-1:-1;;;;;7222:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7274:32;;1585:25:1;;;7274:32:0;;1558:18:1;7274:32:0;;;;;;;7049:265;;;:::o;7322:1916::-;-1:-1:-1;;;;;7420:18:0;;7412:68;;;;-1:-1:-1;;;7412:68:0;;9258:2:1;7412:68:0;;;9240:21:1;9297:2;9277:18;;;9270:30;9336:34;9316:18;;;9309:62;-1:-1:-1;;;9387:18:1;;;9380:35;9432:19;;7412:68:0;9056:401:1;7412:68:0;-1:-1:-1;;;;;7499:16:0;;7491:64;;;;-1:-1:-1;;;7491:64:0;;9664:2:1;7491:64:0;;;9646:21:1;9703:2;9683:18;;;9676:30;9742:34;9722:18;;;9715:62;-1:-1:-1;;;9793:18:1;;;9786:33;9836:19;;7491:64:0;9462:399:1;7491:64:0;7583:1;7574:6;:10;7566:64;;;;-1:-1:-1;;;7566:64:0;;10068:2:1;7566:64:0;;;10050:21:1;10107:2;10087:18;;;10080:30;10146:34;10126:18;;;10119:62;-1:-1:-1;;;10197:18:1;;;10190:39;10246:19;;7566:64:0;9866:405:1;7566:64:0;1906:7;1933:6;-1:-1:-1;;;;;7646:15:0;;;1933:6;;7646:15;;:40;;-1:-1:-1;;;;;;7665:21:0;;7681:4;7665:21;7646:40;7643:118;;;7703:38;7718:4;7724:2;7728:6;7736:4;7703:14;:38::i;:::-;7322:1916;;;:::o;7643:118::-;-1:-1:-1;;;;;7777:30:0;;;;;;:24;:30;;;;;;;;7773:1112;;;7837:1;7824:10;:14;;;;7853:39;7868:4;7874:2;7878:6;7886:5;7853:14;:39::i;7773:1112::-;7941:6;;;;7933:42;;;;-1:-1:-1;;;7933:42:0;;10478:2:1;7933:42:0;;;10460:21:1;10517:2;10497:18;;;10490:30;10556:25;10536:18;;;10529:53;10599:18;;7933:42:0;10276:347:1;7933:42:0;8024:11;;8011:10;;:24;;;;:::i;:::-;7996:12;:39;7992:882;;;8049:2;8038:10;:13;7992:882;;;8090:13;;-1:-1:-1;;;;;8090:13:0;;;8082:21;;;;8078:781;;8162:15;;8152:6;8136:13;8146:2;-1:-1:-1;;;;;6115:17:0;6088:7;6115:17;;;:8;:17;;;;;;;6022:118;8136:13;:22;;;;:::i;:::-;:41;;8128:77;;;;-1:-1:-1;;;8128:77:0;;10960:2:1;8128:77:0;;;10942:21:1;10999:2;10979:18;;;10972:30;11038:25;11018:18;;;11011:53;11081:18;;8128:77:0;10758:347:1;8128:77:0;8241:6;;8228:10;:19;8078:781;;;8283:13;;-1:-1:-1;;;;;8283:13:0;;;8277:19;;;;8273:586;;8362:4;8321:20;6115:17;;;:8;:17;;;;;;5040:4;4381:13;4246:2;4381;:13;:::i;:::-;4371:23;;:7;:23;:::i;:::-;5027:17;;;;:::i;:::-;8395:12;:28;:49;;;;-1:-1:-1;8428:16:0;;;;;;;8427:17;8395:49;8391:333;;;4381:13;4246:2;4381;:13;:::i;:::-;4371:23;;:7;:23;:::i;:::-;8477:12;:25;8473:115;;;4381:13;4246:2;4381;:13;:::i;:::-;4371:23;;:7;:23;:::i;:::-;8535:25;;8473:115;5040:4;4381:13;4246:2;4381;:13;:::i;:::-;4371:23;;:7;:23;:::i;:::-;5027:17;;;;:::i;:::-;8617:6;:22;8614:86;;;8670:30;8687:12;8670:16;:30::i;:::-;-1:-1:-1;8759:7:0;;8746:10;:20;8273:586;;;8828:11;;8815:10;:24;8273:586;8897:17;8941:3;8927:10;;8918:6;:19;;;;:::i;:::-;8917:27;;;;:::i;:::-;8897:47;-1:-1:-1;8955:22:0;8980:18;8897:47;8980:6;:18;:::i;:::-;-1:-1:-1;;;;;9028:14:0;;;;;;:8;:14;;;;;;8955:43;;-1:-1:-1;9028:23:0;;9045:6;;9028:23;:::i;:::-;-1:-1:-1;;;;;9011:14:0;;;;;;;:8;:14;;;;;;:40;;;;9077:12;;;;;;;:29;;9092:14;;9077:29;:::i;:::-;-1:-1:-1;;;;;9062:12:0;;;;;;:8;:12;;;;;;:44;;;;9160:4;9143:23;;;;:35;;9169:9;;9143:35;:::i;:::-;9134:4;9117:23;;;;:8;:23;;;;;;;;;:61;;;;9194:34;1585:25:1;;;-1:-1:-1;;;;;9194:34:0;;;;;;;;;;1558:18:1;9194:34:0;;;;;;;7391:1847;;7322:1916;;;:::o;757:190::-;843:7;879:12;871:6;;;;863:29;;;;-1:-1:-1;;;863:29:0;;;;;;;;:::i;:::-;-1:-1:-1;903:9:0;915:5;919:1;915;:5;:::i;:::-;903:17;757:190;-1:-1:-1;;;;;757:190:0:o;9843:402::-;9997:6;9994:128;;;10033:89;;;;;;;;;;;-1:-1:-1;;;10033:89:0;;;;;;;;-1:-1:-1;;;;;10033:16:0;;-1:-1:-1;10033:16:0;;;:8;:16;;;;;;;;:89;;10068:6;;10033:20;:89::i;:::-;-1:-1:-1;;;;;10014:16:0;;;;;;:8;:16;;;;;:108;9994:128;-1:-1:-1;;;;;10155:19:0;;;;;;:8;:19;;;;;;:31;;10179:6;10155:23;:31::i;:::-;-1:-1:-1;;;;;10133:19:0;;;;;;;:8;:19;;;;;;;:53;;;;10202:35;;;;;;;;;;10230:6;1585:25:1;;1573:2;1558:18;;1439:177;10202:35:0;;;;;;;;9843:402;;;;:::o;9246:589::-;5153:16;:23;;-1:-1:-1;;5153:23:0;;;;;9348:16:::1;::::0;;9362:1:::1;9348:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9348:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9348:16:0::1;9324:40;;9393:4;9375;9380:1;9375:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9375:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9419:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9419:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9375:7;;9419:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9409:4;9414:1;9409:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9409:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9484:15:::1;::::0;9452:62:::1;::::0;9469:4:::1;::::0;9484:15:::1;9502:11:::0;9452:8:::1;:62::i;:::-;9525:15;::::0;:196:::1;::::0;-1:-1:-1;;;9525:196:0;;-1:-1:-1;;;;;9525:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9606:11;;9525:15:::1;::::0;9648:4;;9675::::1;::::0;9695:15:::1;::::0;9525:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;9792:9:0::1;::::0;:35:::1;::::0;9760:21:::1;::::0;-1:-1:-1;;;;;;9792:9:0;;::::1;::::0;-1:-1:-1;9792:35:0;::::1;;;::::0;9760:21;;9734:23:::1;9792:35:::0;9734:23;9792:35;9760:21;9792:9;:35;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5199:16:0;:24;;-1:-1:-1;;5199:24:0;;;-1:-1:-1;;9246:589:0:o;446:169::-;504:7;;536:5;540:1;536;:5;:::i;:::-;524:17;;565:1;560;:6;;552:36;;;;-1:-1:-1;;;552:36:0;;12916:2:1;552:36:0;;;12898:21:1;12955:2;12935:18;;;12928:30;-1:-1:-1;;;12974:18:1;;;12967:47;13031:18;;552:36:0;12714:341:1;552:36:0;606:1;446:169;-1:-1:-1;;;446:169:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;791:131::-;-1:-1:-1;;;;;866:31:1;;856:42;;846:70;;912:1;909;902:12;927:315;995:6;1003;1056:2;1044:9;1035:7;1031:23;1027:32;1024:52;;;1072:1;1069;1062:12;1024:52;1111:9;1098:23;1130:31;1155:5;1130:31;:::i;:::-;1180:5;1232:2;1217:18;;;;1204:32;;-1:-1:-1;;;927:315:1:o;1621:456::-;1698:6;1706;1714;1767:2;1755:9;1746:7;1742:23;1738:32;1735:52;;;1783:1;1780;1773:12;1735:52;1822:9;1809:23;1841:31;1866:5;1841:31;:::i;:::-;1891:5;-1:-1:-1;1948:2:1;1933:18;;1920:32;1961:33;1920:32;1961:33;:::i;:::-;1621:456;;2013:7;;-1:-1:-1;;;2067:2:1;2052:18;;;;2039:32;;1621:456::o;2479:248::-;2547:6;2555;2608:2;2596:9;2587:7;2583:23;2579:32;2576:52;;;2624:1;2621;2614:12;2576:52;-1:-1:-1;;2647:23:1;;;2717:2;2702:18;;;2689:32;;-1:-1:-1;2479:248:1:o;2732:247::-;2791:6;2844:2;2832:9;2823:7;2819:23;2815:32;2812:52;;;2860:1;2857;2850:12;2812:52;2899:9;2886:23;2918:31;2943:5;2918:31;:::i;2984:180::-;3043:6;3096:2;3084:9;3075:7;3071:23;3067:32;3064:52;;;3112:1;3109;3102:12;3064:52;-1:-1:-1;3135:23:1;;2984:180;-1:-1:-1;2984:180:1:o;3169:388::-;3237:6;3245;3298:2;3286:9;3277:7;3273:23;3269:32;3266:52;;;3314:1;3311;3304:12;3266:52;3353:9;3340:23;3372:31;3397:5;3372:31;:::i;:::-;3422:5;-1:-1:-1;3479:2:1;3464:18;;3451:32;3492:33;3451:32;3492:33;:::i;:::-;3544:7;3534:17;;;3169:388;;;;;:::o;3562:127::-;3623:10;3618:3;3614:20;3611:1;3604:31;3654:4;3651:1;3644:15;3678:4;3675:1;3668:15;3694:422;3783:1;3826:5;3783:1;3840:270;3861:7;3851:8;3848:21;3840:270;;;3920:4;3916:1;3912:6;3908:17;3902:4;3899:27;3896:53;;;3929:18;;:::i;:::-;3979:7;3969:8;3965:22;3962:55;;;3999:16;;;;3962:55;4078:22;;;;4038:15;;;;3840:270;;;3844:3;3694:422;;;;;:::o;4121:806::-;4170:5;4200:8;4190:80;;-1:-1:-1;4241:1:1;4255:5;;4190:80;4289:4;4279:76;;-1:-1:-1;4326:1:1;4340:5;;4279:76;4371:4;4389:1;4384:59;;;;4457:1;4452:130;;;;4364:218;;4384:59;4414:1;4405:10;;4428:5;;;4452:130;4489:3;4479:8;4476:17;4473:43;;;4496:18;;:::i;:::-;-1:-1:-1;;4552:1:1;4538:16;;4567:5;;4364:218;;4666:2;4656:8;4653:16;4647:3;4641:4;4638:13;4634:36;4628:2;4618:8;4615:16;4610:2;4604:4;4601:12;4597:35;4594:77;4591:159;;;-1:-1:-1;4703:19:1;;;4735:5;;4591:159;4782:34;4807:8;4801:4;4782:34;:::i;:::-;4852:6;4848:1;4844:6;4840:19;4831:7;4828:32;4825:58;;;4863:18;;:::i;:::-;4901:20;;4121:806;-1:-1:-1;;;4121:806:1:o;4932:140::-;4990:5;5019:47;5060:4;5050:8;5046:19;5040:4;5019:47;:::i;5077:168::-;5150:9;;;5181;;5198:15;;;5192:22;;5178:37;5168:71;;5219:18;;:::i;5250:347::-;5452:2;5434:21;;;5491:2;5471:18;;;5464:30;5530:25;5525:2;5510:18;;5503:53;5588:2;5573:18;;5250:347::o;6300:251::-;6370:6;6423:2;6411:9;6402:7;6398:23;6394:32;6391:52;;;6439:1;6436;6429:12;6391:52;6471:9;6465:16;6490:31;6515:5;6490:31;:::i;7477:306::-;7565:6;7573;7581;7634:2;7622:9;7613:7;7609:23;7605:32;7602:52;;;7650:1;7647;7640:12;7602:52;7679:9;7673:16;7663:26;;7729:2;7718:9;7714:18;7708:25;7698:35;;7773:2;7762:9;7758:18;7752:25;7742:35;;7477:306;;;;;:::o;8067:277::-;8134:6;8187:2;8175:9;8166:7;8162:23;8158:32;8155:52;;;8203:1;8200;8193:12;8155:52;8235:9;8229:16;8288:5;8281:13;8274:21;8267:5;8264:32;8254:60;;8310:1;8307;8300:12;10628:125;10693:9;;;10714:10;;;10711:36;;;10727:18;;:::i;11110:217::-;11150:1;11176;11166:132;;11220:10;11215:3;11211:20;11208:1;11201:31;11255:4;11252:1;11245:15;11283:4;11280:1;11273:15;11166:132;-1:-1:-1;11312:9:1;;11110:217::o;11332:128::-;11399:9;;;11420:11;;;11417:37;;;11434:18;;:::i;11597:127::-;11658:10;11653:3;11649:20;11646:1;11639:31;11689:4;11686:1;11679:15;11713:4;11710:1;11703:15;11729:980;11991:4;12039:3;12028:9;12024:19;12070:6;12059:9;12052:25;12096:2;12134:6;12129:2;12118:9;12114:18;12107:34;12177:3;12172:2;12161:9;12157:18;12150:31;12201:6;12236;12230:13;12267:6;12259;12252:22;12305:3;12294:9;12290:19;12283:26;;12344:2;12336:6;12332:15;12318:29;;12365:1;12375:195;12389:6;12386:1;12383:13;12375:195;;;12454:13;;-1:-1:-1;;;;;12450:39:1;12438:52;;12545:15;;;;12510:12;;;;12486:1;12404:9;12375:195;;;-1:-1:-1;;;;;;;12626:32:1;;;;12621:2;12606:18;;12599:60;-1:-1:-1;;;12690:3:1;12675:19;12668:35;12587:3;11729:980;-1:-1:-1;;;11729:980:1:o

Swarm Source

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