ETH Price: $3,126.90 (+1.27%)
Gas: 5 Gwei

Token

Spatial Sync (SYNC)
 

Overview

Max Total Supply

100,000,000 SYNC

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,592,000 SYNC

Value
$0.00
0xd3e5630c7bfa2dc80564fcbe3cd87d11d62964ad
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:
Sync

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-21
*/

//SPDX-License-Identifier: Unlicensed

/**
    Spatial Sync is a groundbreaking project that merges the powers of spatial computing, blockchain, and artificial intelligence (AI) to create a paradigm-shifting ecosystem in the digital realm. With the symbol SYNC, this project offers a seamless integration of these advanced technologies, opening doors to new possibilities in the digital world.
    Telegram: https://t.me/ChainWatcher_Portal
    Twitter: https://x.com/spatialsync
    Website: https://spatialsync-ai.tech/
    Docs: https://docs.spatialsync-ai.tech/
**/

pragma solidity 0.8.24;

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

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

}

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(), "Ownable: caller is not the owner");
        _;
    }

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

}

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

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

contract Sync is Context, IERC20, Ownable {
    using SafeMath for uint256;
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000 * 10 ** _decimals;
    mapping (address => bool) private _excludedFromFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    bool private tradingOpen;

    uint256 private _maxWalletSize = _tTotal * 2 / 100;
    uint256 private _swapTokensAtAmount = _tTotal / 800;
    uint256 private _maxTaxSwap = _tTotal / 100;
    bool private inSwap;
    bool private swapEnabled = true;
    uint256 public buyFees=20;
    uint256 public sellFees=20;
    address payable _taxWallet;
    IUniswapV2Router02 uniswapV2Router;
    address private _uniswapV2Pair;
    string private constant _name = unicode"Spatial Sync";
    string private constant _symbol = unicode"SYNC";
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludedFromFee[address(uniswapV2Router)] = true;
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _excludedFromFee[address(this)] = true;
        _excludedFromFee[msg.sender] = true;
        _balances[msg.sender] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        uint256 taxAmount=0;
        if (!_excludedFromFee[from] && !_excludedFromFee[to] && to != owner()) {
            require(tradingOpen);

            taxAmount = amount * buyFees / 100;

            if (to != _uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Over max wallet!");
            }

            if(to == _uniswapV2Pair){
                taxAmount = amount * sellFees / 100;
                require(_swapTokensAtAmount <= _tTotal);
            }

            if (from == _uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Over max wallet!");
            }


            uint256 contractBalance = balanceOf(address(this));
            if (!inSwap && to == _uniswapV2Pair && swapEnabled && contractBalance>_swapTokensAtAmount) {
                swapTokensForEth(min(amount,min(contractBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                     _taxWallet.transfer(address(this).balance);
                }
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from] -= (amount);
        _balances[to] += amount - taxAmount;
        emit Transfer(from, to, amount - (taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function updateMaxWallet(uint amount) external onlyOwner {
        require(amount >= _tTotal / 500);
        _maxWalletSize = amount;
    }

    function setSwapEnabled(bool status) external onlyOwner {
        swapEnabled = status;
    }

    function updateSwapTokensAtAmount(uint amount) external onlyOwner {
        _swapTokensAtAmount = amount;
    }

    function removeLimits() external onlyOwner{
        _maxWalletSize = _tTotal;
    }

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

    function updateFees(uint _buyFees, uint _sellFees) external onlyOwner {
        buyFees = _buyFees;
        sellFees = _sellFees;
        require(_buyFees <= 30);
        require(_sellFees <= 30);
    }

    function excludeFromFees(address account, bool status) external onlyOwner {
        _excludedFromFee[account] = status;
    }

    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":"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFees","type":"uint256"},{"internalType":"uint256","name":"_sellFees","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146012600a620004b4565b62000024906305f5e100620004cb565b62000031906002620004cb565b6200003d9190620004e5565b600555610320620000516012600a620004b4565b62000061906305f5e100620004cb565b6200006d9190620004e5565b6006556064620000806012600a620004b4565b62000090906305f5e100620004cb565b6200009c9190620004e5565b6007556008805461ff00191661010017905560146009819055600a55348015620000c4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b03199081163317909155600c8054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790555f819052600160208181527f12d4ae10b86c0fdfdbbd2bb2dffa7d211f4b1a0678afa5427bf6325849448125805460ff19169092179091556040805163c45a015560e01b8152905163c45a0155926004808401939192918290030181865afa158015620001a8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ce919062000505565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000254919062000505565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200029f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c5919062000505565b600d80546001600160a01b0319166001600160a01b0392909216919091179055305f908152600160208190526040808320805460ff199081168417909155338452922080549092161790556200031e6012600a620004b4565b6200032e906305f5e100620004cb565b335f90815260036020526040902055620003453390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200037e6012600a620004b4565b6200038e906305f5e100620004cb565b60405190815260200160405180910390a36200052d565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003f957815f1904821115620003dd57620003dd620003a5565b80851615620003eb57918102915b93841c9390800290620003be565b509250929050565b5f826200041157506001620004ae565b816200041f57505f620004ae565b8160018114620004385760028114620004435762000463565b6001915050620004ae565b60ff841115620004575762000457620003a5565b50506001821b620004ae565b5060208310610133831016604e8410600b841016171562000488575081810a620004ae565b620004948383620003b9565b805f1904821115620004aa57620004aa620003a5565b0290505b92915050565b5f620004c460ff84168362000401565b9392505050565b8082028115828204841417620004ae57620004ae620003a5565b5f826200050057634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000516575f80fd5b81516001600160a01b0381168114620004c4575f80fd5b611178806200053b5f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063d257b34f11610062578063d257b34f1461033a578063dd62ed3e14610359578063e01af92c1461039d578063e0f3ccf5146103bc578063e4748b9e146103d1575f80fd5b8063751039fc146102965780638da5cb5b146102aa57806395d89b41146102d0578063a9059cbb146102fc578063c02466681461031b575f80fd5b806323b872dd116100e357806323b872dd146101f5578063313ce567146102145780636db794371461022f57806370a082311461024e578063715018a614610282575f80fd5b806301339c211461012957806306fdde031461013f578063095ea7b31461018557806318160ddd146101b45780631c499ab0146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d6103e6565b005b34801561014a575f80fd5b5060408051808201909152600c81526b5370617469616c2053796e6360a01b60208201525b60405161017c9190610d33565b60405180910390f35b348015610190575f80fd5b506101a461019f366004610d96565b610427565b604051901515815260200161017c565b3480156101bf575f80fd5b506101c861043d565b60405190815260200161017c565b3480156101e1575f80fd5b5061013d6101f0366004610dc0565b61045d565b348015610200575f80fd5b506101a461020f366004610dd7565b6104bd565b34801561021f575f80fd5b506040516012815260200161017c565b34801561023a575f80fd5b5061013d610249366004610e15565b610524565b348015610259575f80fd5b506101c8610268366004610e35565b6001600160a01b03165f9081526003602052604090205490565b34801561028d575f80fd5b5061013d610575565b3480156102a1575f80fd5b5061013d6105e6565b3480156102b5575f80fd5b505f546040516001600160a01b03909116815260200161017c565b3480156102db575f80fd5b5060408051808201909152600481526353594e4360e01b602082015261016f565b348015610307575f80fd5b506101a4610316366004610d96565b610629565b348015610326575f80fd5b5061013d610335366004610e64565b610635565b348015610345575f80fd5b5061013d610354366004610dc0565b610688565b348015610364575f80fd5b506101c8610373366004610e97565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103a8575f80fd5b5061013d6103b7366004610ece565b6106b6565b3480156103c7575f80fd5b506101c8600a5481565b3480156103dc575f80fd5b506101c860095481565b5f546001600160a01b031633146104185760405162461bcd60e51b815260040161040f90610ee7565b60405180910390fd5b6004805460ff19166001179055565b5f6104333384846106f9565b5060015b92915050565b5f61044a6012600a611010565b610458906305f5e10061101e565b905090565b5f546001600160a01b031633146104865760405162461bcd60e51b815260040161040f90610ee7565b6101f46104956012600a611010565b6104a3906305f5e10061101e565b6104ad9190611035565b8110156104b8575f80fd5b600555565b5f6104c9848484610759565b61051a84336105158560405180606001604052806028815260200161111b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610b1f565b6106f9565b5060019392505050565b5f546001600160a01b0316331461054d5760405162461bcd60e51b815260040161040f90610ee7565b6009829055600a819055601e821115610564575f80fd5b601e811115610571575f80fd5b5050565b5f546001600160a01b0316331461059e5760405162461bcd60e51b815260040161040f90610ee7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461060f5760405162461bcd60e51b815260040161040f90610ee7565b61061b6012600a611010565b6104b8906305f5e10061101e565b5f610433338484610759565b5f546001600160a01b0316331461065e5760405162461bcd60e51b815260040161040f90610ee7565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146106b15760405162461bcd60e51b815260040161040f90610ee7565b600655565b5f546001600160a01b031633146106df5760405162461bcd60e51b815260040161040f90610ee7565b600880549115156101000261ff0019909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604081205460ff1615801561079957506001600160a01b0383165f9081526001602052604090205460ff16155b80156107b257505f546001600160a01b03848116911614155b156109f45760045460ff166107c5575f80fd5b6064600954836107d5919061101e565b6107df9190611035565b600d549091506001600160a01b038481169116146108645760055482610819856001600160a01b03165f9081526003602052604090205490565b6108239190611054565b11156108645760405162461bcd60e51b815260206004820152601060248201526f4f766572206d61782077616c6c65742160801b604482015260640161040f565b600d546001600160a01b03908116908416036108bd576064600a548361088a919061101e565b6108949190611035565b90506108a26012600a611010565b6108b0906305f5e10061101e565b60065411156108bd575f80fd5b600d546001600160a01b039081169085160361094057600554826108f5856001600160a01b03165f9081526003602052604090205490565b6108ff9190611054565b11156109405760405162461bcd60e51b815260206004820152601060248201526f4f766572206d61782077616c6c65742160801b604482015260640161040f565b305f9081526003602052604090205460085460ff1615801561096f5750600d546001600160a01b038581169116145b80156109825750600854610100900460ff165b801561098f575060065481115b156109f2576109b16109ac846109a784600754610b57565b610b57565b610b6e565b4780156109f057600b546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109ee573d5f803e3d5ffd5b505b505b505b8015610a6c57305f90815260036020526040902054610a139082610cd5565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a639085815260200190565b60405180910390a35b6001600160a01b0384165f9081526003602052604081208054849290610a93908490611067565b90915550610aa390508183611067565b6001600160a01b0384165f9081526003602052604081208054909190610aca908490611054565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610b088486611067565b60405190815260200160405180910390a350505050565b5f8184841115610b425760405162461bcd60e51b815260040161040f9190610d33565b505f610b4e8486611067565b95945050505050565b5f818311610b655782610b67565b815b9392505050565b6008805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610bae57610bae61107a565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c29919061108e565b81600181518110610c3c57610c3c61107a565b6001600160a01b039283166020918202929092010152600c54610c6291309116846106f9565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610c9a9085905f908690309042906004016110a9565b5f604051808303815f87803b158015610cb1575f80fd5b505af1158015610cc3573d5f803e3d5ffd5b50506008805460ff1916905550505050565b5f80610ce18385611054565b905083811015610b675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161040f565b5f602080835283518060208501525f5b81811015610d5f57858101830151858201604001528201610d43565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d93575f80fd5b50565b5f8060408385031215610da7575f80fd5b8235610db281610d7f565b946020939093013593505050565b5f60208284031215610dd0575f80fd5b5035919050565b5f805f60608486031215610de9575f80fd5b8335610df481610d7f565b92506020840135610e0481610d7f565b929592945050506040919091013590565b5f8060408385031215610e26575f80fd5b50508035926020909101359150565b5f60208284031215610e45575f80fd5b8135610b6781610d7f565b80358015158114610e5f575f80fd5b919050565b5f8060408385031215610e75575f80fd5b8235610e8081610d7f565b9150610e8e60208401610e50565b90509250929050565b5f8060408385031215610ea8575f80fd5b8235610eb381610d7f565b91506020830135610ec381610d7f565b809150509250929050565b5f60208284031215610ede575f80fd5b610b6782610e50565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610f6a57815f1904821115610f5057610f50610f1c565b80851615610f5d57918102915b93841c9390800290610f35565b509250929050565b5f82610f8057506001610437565b81610f8c57505f610437565b8160018114610fa25760028114610fac57610fc8565b6001915050610437565b60ff841115610fbd57610fbd610f1c565b50506001821b610437565b5060208310610133831016604e8410600b8410161715610feb575081810a610437565b610ff58383610f30565b805f190482111561100857611008610f1c565b029392505050565b5f610b6760ff841683610f72565b808202811582820484141761043757610437610f1c565b5f8261104f57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561043757610437610f1c565b8181038181111561043757610437610f1c565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561109e575f80fd5b8151610b6781610d7f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156110f95784516001600160a01b0316835293830193918301916001016110d4565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122079b5ef9a8bb8f3d01d25455f09ae5ee4f2f25c00ca13d8183e4c455ea636f47864736f6c63430008180033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063d257b34f11610062578063d257b34f1461033a578063dd62ed3e14610359578063e01af92c1461039d578063e0f3ccf5146103bc578063e4748b9e146103d1575f80fd5b8063751039fc146102965780638da5cb5b146102aa57806395d89b41146102d0578063a9059cbb146102fc578063c02466681461031b575f80fd5b806323b872dd116100e357806323b872dd146101f5578063313ce567146102145780636db794371461022f57806370a082311461024e578063715018a614610282575f80fd5b806301339c211461012957806306fdde031461013f578063095ea7b31461018557806318160ddd146101b45780631c499ab0146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d6103e6565b005b34801561014a575f80fd5b5060408051808201909152600c81526b5370617469616c2053796e6360a01b60208201525b60405161017c9190610d33565b60405180910390f35b348015610190575f80fd5b506101a461019f366004610d96565b610427565b604051901515815260200161017c565b3480156101bf575f80fd5b506101c861043d565b60405190815260200161017c565b3480156101e1575f80fd5b5061013d6101f0366004610dc0565b61045d565b348015610200575f80fd5b506101a461020f366004610dd7565b6104bd565b34801561021f575f80fd5b506040516012815260200161017c565b34801561023a575f80fd5b5061013d610249366004610e15565b610524565b348015610259575f80fd5b506101c8610268366004610e35565b6001600160a01b03165f9081526003602052604090205490565b34801561028d575f80fd5b5061013d610575565b3480156102a1575f80fd5b5061013d6105e6565b3480156102b5575f80fd5b505f546040516001600160a01b03909116815260200161017c565b3480156102db575f80fd5b5060408051808201909152600481526353594e4360e01b602082015261016f565b348015610307575f80fd5b506101a4610316366004610d96565b610629565b348015610326575f80fd5b5061013d610335366004610e64565b610635565b348015610345575f80fd5b5061013d610354366004610dc0565b610688565b348015610364575f80fd5b506101c8610373366004610e97565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103a8575f80fd5b5061013d6103b7366004610ece565b6106b6565b3480156103c7575f80fd5b506101c8600a5481565b3480156103dc575f80fd5b506101c860095481565b5f546001600160a01b031633146104185760405162461bcd60e51b815260040161040f90610ee7565b60405180910390fd5b6004805460ff19166001179055565b5f6104333384846106f9565b5060015b92915050565b5f61044a6012600a611010565b610458906305f5e10061101e565b905090565b5f546001600160a01b031633146104865760405162461bcd60e51b815260040161040f90610ee7565b6101f46104956012600a611010565b6104a3906305f5e10061101e565b6104ad9190611035565b8110156104b8575f80fd5b600555565b5f6104c9848484610759565b61051a84336105158560405180606001604052806028815260200161111b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610b1f565b6106f9565b5060019392505050565b5f546001600160a01b0316331461054d5760405162461bcd60e51b815260040161040f90610ee7565b6009829055600a819055601e821115610564575f80fd5b601e811115610571575f80fd5b5050565b5f546001600160a01b0316331461059e5760405162461bcd60e51b815260040161040f90610ee7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461060f5760405162461bcd60e51b815260040161040f90610ee7565b61061b6012600a611010565b6104b8906305f5e10061101e565b5f610433338484610759565b5f546001600160a01b0316331461065e5760405162461bcd60e51b815260040161040f90610ee7565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146106b15760405162461bcd60e51b815260040161040f90610ee7565b600655565b5f546001600160a01b031633146106df5760405162461bcd60e51b815260040161040f90610ee7565b600880549115156101000261ff0019909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604081205460ff1615801561079957506001600160a01b0383165f9081526001602052604090205460ff16155b80156107b257505f546001600160a01b03848116911614155b156109f45760045460ff166107c5575f80fd5b6064600954836107d5919061101e565b6107df9190611035565b600d549091506001600160a01b038481169116146108645760055482610819856001600160a01b03165f9081526003602052604090205490565b6108239190611054565b11156108645760405162461bcd60e51b815260206004820152601060248201526f4f766572206d61782077616c6c65742160801b604482015260640161040f565b600d546001600160a01b03908116908416036108bd576064600a548361088a919061101e565b6108949190611035565b90506108a26012600a611010565b6108b0906305f5e10061101e565b60065411156108bd575f80fd5b600d546001600160a01b039081169085160361094057600554826108f5856001600160a01b03165f9081526003602052604090205490565b6108ff9190611054565b11156109405760405162461bcd60e51b815260206004820152601060248201526f4f766572206d61782077616c6c65742160801b604482015260640161040f565b305f9081526003602052604090205460085460ff1615801561096f5750600d546001600160a01b038581169116145b80156109825750600854610100900460ff165b801561098f575060065481115b156109f2576109b16109ac846109a784600754610b57565b610b57565b610b6e565b4780156109f057600b546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109ee573d5f803e3d5ffd5b505b505b505b8015610a6c57305f90815260036020526040902054610a139082610cd5565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a639085815260200190565b60405180910390a35b6001600160a01b0384165f9081526003602052604081208054849290610a93908490611067565b90915550610aa390508183611067565b6001600160a01b0384165f9081526003602052604081208054909190610aca908490611054565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610b088486611067565b60405190815260200160405180910390a350505050565b5f8184841115610b425760405162461bcd60e51b815260040161040f9190610d33565b505f610b4e8486611067565b95945050505050565b5f818311610b655782610b67565b815b9392505050565b6008805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610bae57610bae61107a565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c29919061108e565b81600181518110610c3c57610c3c61107a565b6001600160a01b039283166020918202929092010152600c54610c6291309116846106f9565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610c9a9085905f908690309042906004016110a9565b5f604051808303815f87803b158015610cb1575f80fd5b505af1158015610cc3573d5f803e3d5ffd5b50506008805460ff1916905550505050565b5f80610ce18385611054565b905083811015610b675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161040f565b5f602080835283518060208501525f5b81811015610d5f57858101830151858201604001528201610d43565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d93575f80fd5b50565b5f8060408385031215610da7575f80fd5b8235610db281610d7f565b946020939093013593505050565b5f60208284031215610dd0575f80fd5b5035919050565b5f805f60608486031215610de9575f80fd5b8335610df481610d7f565b92506020840135610e0481610d7f565b929592945050506040919091013590565b5f8060408385031215610e26575f80fd5b50508035926020909101359150565b5f60208284031215610e45575f80fd5b8135610b6781610d7f565b80358015158114610e5f575f80fd5b919050565b5f8060408385031215610e75575f80fd5b8235610e8081610d7f565b9150610e8e60208401610e50565b90509250929050565b5f8060408385031215610ea8575f80fd5b8235610eb381610d7f565b91506020830135610ec381610d7f565b809150509250929050565b5f60208284031215610ede575f80fd5b610b6782610e50565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610f6a57815f1904821115610f5057610f50610f1c565b80851615610f5d57918102915b93841c9390800290610f35565b509250929050565b5f82610f8057506001610437565b81610f8c57505f610437565b8160018114610fa25760028114610fac57610fc8565b6001915050610437565b60ff841115610fbd57610fbd610f1c565b50506001821b610437565b5060208310610133831016604e8410600b8410161715610feb575081810a610437565b610ff58383610f30565b805f190482111561100857611008610f1c565b029392505050565b5f610b6760ff841683610f72565b808202811582820484141761043757610437610f1c565b5f8261104f57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561043757610437610f1c565b8181038181111561043757610437610f1c565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561109e575f80fd5b8151610b6781610d7f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156110f95784516001600160a01b0316835293830193918301916001016110d4565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122079b5ef9a8bb8f3d01d25455f09ae5ee4f2f25c00ca13d8183e4c455ea636f47864736f6c63430008180033

Deployed Bytecode Sourcemap

4019:6156:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9711:74;;;;;;;;;;;;;:::i;:::-;;5595:83;;;;;;;;;;-1:-1:-1;5665:5:0;;;;;;;;;;;;-1:-1:-1;;;5665:5:0;;;;5595:83;;;;;;;:::i;:::-;;;;;;;;6428:161;;;;;;;;;;-1:-1:-1;6428:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6428:161:0;1023:187:1;5872:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5872:95:0;1215:177:1;9244:142:0;;;;;;;;;;-1:-1:-1;9244:142:0;;;;;:::i;:::-;;:::i;6597:313::-;;;;;;;;;;-1:-1:-1;6597:313:0;;;;;:::i;:::-;;:::i;5781:83::-;;;;;;;;;;-1:-1:-1;5781:83:0;;4136:2;2185:36:1;;2173:2;2158:18;5781:83:0;2043:184:1;9793:207:0;;;;;;;;;;-1:-1:-1;9793:207:0;;;;;:::i;:::-;;:::i;5975:119::-;;;;;;;;;;-1:-1:-1;5975:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6068:18:0;6041:7;6068:18;;;:9;:18;;;;;;;5975:119;3100:148;;;;;;;;;;;;;:::i;9618:85::-;;;;;;;;;;;;;:::i;2886:79::-;;;;;;;;;;-1:-1:-1;2924:7:0;2951:6;2886:79;;-1:-1:-1;;;;;2951:6:0;;;2883:51:1;;2871:2;2856:18;2886:79:0;2737:203:1;5686:87:0;;;;;;;;;;-1:-1:-1;5758:7:0;;;;;;;;;;;;-1:-1:-1;;;5758:7:0;;;;5686:87;;6102:167;;;;;;;;;;-1:-1:-1;6102:167:0;;;;;:::i;:::-;;:::i;10008:127::-;;;;;;;;;;-1:-1:-1;10008:127:0;;;;;:::i;:::-;;:::i;9497:113::-;;;;;;;;;;-1:-1:-1;9497:113:0;;;;;:::i;:::-;;:::i;6277:143::-;;;;;;;;;;-1:-1:-1;6277:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6385:18:0;;;6358:7;6385:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6277:143;9394:95;;;;;;;;;;-1:-1:-1;9394:95:0;;;;;:::i;:::-;;:::i;4694:26::-;;;;;;;;;;;;;;;;4662:25;;;;;;;;;;;;;;;;9711:74;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;;;;;;;;;9759:11:::1;:18:::0;;-1:-1:-1;;9759:18:0::1;9773:4;9759:18;::::0;;9711:74::o;6428:161::-;6503:4;6520:39;721:10;6543:7;6552:6;6520:8;:39::i;:::-;-1:-1:-1;6577:4:0;6428:161;;;;;:::o;5872:95::-;5925:7;4192:15;4136:2;4192;:15;:::i;:::-;4180:27;;:9;:27;:::i;:::-;5945:14;;5872:95;:::o;9244:142::-;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;9340:3:::1;4192:15;4136:2;4192;:15;:::i;:::-;4180:27;::::0;:9:::1;:27;:::i;:::-;9330:13;;;;:::i;:::-;9320:6;:23;;9312:32;;;::::0;::::1;;9355:14;:23:::0;9244:142::o;6597:313::-;6695:4;6712:36;6722:6;6730:9;6741:6;6712:9;:36::i;:::-;6759:121;6768:6;721:10;6790:89;6828:6;6790:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6790:19:0;;;;;;:11;:19;;;;;;;;721:10;6790:33;;;;;;;;;;:37;:89::i;:::-;6759:8;:121::i;:::-;-1:-1:-1;6898:4:0;6597:313;;;;;:::o;9793:207::-;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;9874:7:::1;:18:::0;;;9903:8:::1;:20:::0;;;9954:2:::1;9942:14:::0;::::1;;9934:23;;;::::0;::::1;;9989:2;9976:9;:15;;9968:24;;;::::0;::::1;;9793:207:::0;;:::o;3100:148::-;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;3207:1:::1;3191:6:::0;;3170:40:::1;::::0;-1:-1:-1;;;;;3191:6:0;;::::1;::::0;3170:40:::1;::::0;3207:1;;3170:40:::1;3238:1;3221:19:::0;;-1:-1:-1;;;;;;3221:19:0::1;::::0;;3100:148::o;9618:85::-;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;4192:15:::1;4136:2;4192;:15;:::i;:::-;4180:27;::::0;:9:::1;:27;:::i;6102:167::-:0;6180:4;6197:42;721:10;6221:9;6232:6;6197:9;:42::i;10008:127::-;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10093:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:34;;-1:-1:-1;;10093:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10008:127::o;9497:113::-;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;9574:19:::1;:28:::0;9497:113::o;9394:95::-;3013:6;;-1:-1:-1;;;;;3013:6:0;721:10;3013:22;3005:67;;;;-1:-1:-1;;;3005:67:0;;;;;;;:::i;:::-;9461:11:::1;:20:::0;;;::::1;;;;-1:-1:-1::0;;9461:20:0;;::::1;::::0;;;::::1;::::0;;9394:95::o;6918:177::-;-1:-1:-1;;;;;7003:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7055:32;;1361:25:1;;;7055:32:0;;1334:18:1;7055:32:0;;;;;;;6918:177;;;:::o;7103:1536::-;-1:-1:-1;;;;;7218:22:0;;7183:17;7218:22;;;:16;:22;;;;;;;;7217:23;:48;;;;-1:-1:-1;;;;;;7245:20:0;;;;;;:16;:20;;;;;;;;7244:21;7217:48;:65;;;;-1:-1:-1;2924:7:0;2951:6;-1:-1:-1;;;;;7269:13:0;;;2951:6;;7269:13;;7217:65;7213:1102;;;7307:11;;;;7299:20;;;;;;7367:3;7357:7;;7348:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;7397:14;;7336:34;;-1:-1:-1;;;;;;7391:20:0;;;7397:14;;7391:20;7387:130;;7466:14;;7456:6;7440:13;7450:2;-1:-1:-1;;;;;6068:18:0;6041:7;6068:18;;;:9;:18;;;;;;;5975:119;7440:13;:22;;;;:::i;:::-;:40;;7432:69;;;;-1:-1:-1;;;7432:69:0;;6605:2:1;7432:69:0;;;6587:21:1;6644:2;6624:18;;;6617:30;-1:-1:-1;;;6663:18:1;;;6656:46;6719:18;;7432:69:0;6403:340:1;7432:69:0;7542:14;;-1:-1:-1;;;;;7542:14:0;;;7536:20;;;;7533:152;;7608:3;7597:8;;7588:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;7576:35;-1:-1:-1;4192:15:0;4136:2;4192;:15;:::i;:::-;4180:27;;:9;:27;:::i;:::-;7638:19;;:30;;7630:39;;;;;;7713:14;;-1:-1:-1;;;;;7713:14:0;;;7705:22;;;;7701:132;;7782:14;;7772:6;7756:13;7766:2;-1:-1:-1;;;;;6068:18:0;6041:7;6068:18;;;:9;:18;;;;;;;5975:119;7756:13;:22;;;;:::i;:::-;:40;;7748:69;;;;-1:-1:-1;;;7748:69:0;;6605:2:1;7748:69:0;;;6587:21:1;6644:2;6624:18;;;6617:30;-1:-1:-1;;;6663:18:1;;;6656:46;6719:18;;7748:69:0;6403:340:1;7748:69:0;7895:4;7851:23;6068:18;;;:9;:18;;;;;;7921:6;;;;7920:7;:31;;;;-1:-1:-1;7937:14:0;;-1:-1:-1;;;;;7931:20:0;;;7937:14;;7931:20;7920:31;:46;;;;-1:-1:-1;7955:11:0;;;;;;;7920:46;:85;;;;;7986:19;;7970:15;:35;7920:85;7916:388;;;8026:62;8043:44;8047:6;8054:32;8058:15;8074:11;;8054:3;:32::i;:::-;8043:3;:44::i;:::-;8026:16;:62::i;:::-;8136:21;8179:22;;8176:113;;8227:10;;:42;;-1:-1:-1;;;;;8227:10:0;;;;8247:21;8227:42;;;;;:10;:42;:10;:42;8247:21;8227:10;:42;;;;;;;;;;;;;;;;;;;;;8176:113;8007:297;7916:388;7284:1031;7213:1102;8330:13;;8327:165;;8402:4;8384:24;;;;:9;:24;;;;;;:39;;8413:9;8384:28;:39::i;:::-;8375:4;8357:24;;;;:9;:24;;;;;;;:66;;;;8441:39;;-1:-1:-1;;;;;8441:39:0;;;;;;;8470:9;1361:25:1;;1349:2;1334:18;;1215:177;8441:39:0;;;;;;;;8327:165;-1:-1:-1;;;;;8502:15:0;;;;;;:9;:15;;;;;:27;;8522:6;;8502:15;:27;;8522:6;;8502:27;:::i;:::-;;;;-1:-1:-1;8557:18:0;;-1:-1:-1;8566:9:0;8557:6;:18;:::i;:::-;-1:-1:-1;;;;;8540:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8591:40:0;;;;;;;8610:20;8620:9;8610:6;:20;:::i;:::-;8591:40;;1361:25:1;;;1349:2;1334:18;8591:40:0;;;;;;;7172:1467;7103:1536;;;:::o;1778:190::-;1864:7;1900:12;1892:6;;;;1884:29;;;;-1:-1:-1;;;1884:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1924:9:0;1936:5;1940:1;1936;:5;:::i;:::-;1924:17;1778:190;-1:-1:-1;;;;;1778:190:0:o;8647:98::-;8704:7;8731:1;8729;:3;8728:9;;8736:1;8728:9;;;8734:1;8728:9;8721:16;8647:98;-1:-1:-1;;;8647:98:0:o;8753:483::-;4984:6;:13;;-1:-1:-1;;4984:13:0;4993:4;4984:13;;;8855:16:::1;::::0;;8869:1:::1;8855:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8855:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8855:16:0::1;8831:40;;8900:4;8882;8887:1;8882:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8882:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8926:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8926:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8882:7;;8926:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8916:4;8921:1;8916:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8916:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8991:15:::1;::::0;8959:62:::1;::::0;8976:4:::1;::::0;8991:15:::1;9009:11:::0;8959:8:::1;:62::i;:::-;9032:15;::::0;:196:::1;::::0;-1:-1:-1;;;9032:196:0;;-1:-1:-1;;;;;9032:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9113:11;;9032:15:::1;::::0;9155:4;;9182::::1;::::0;9202:15:::1;::::0;9032:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5020:6:0;:14;;-1:-1:-1;;5020:14:0;;;-1:-1:-1;;;;8753:483:0:o;1447:179::-;1505:7;;1537:5;1541:1;1537;:5;:::i;:::-;1525:17;;1566:1;1561;:6;;1553:46;;;;-1:-1:-1;;;1553:46:0;;8588:2:1;1553:46:0;;;8570:21:1;8627:2;8607:18;;;8600:30;8666:29;8646:18;;;8639:57;8713:18;;1553:46:0;8386:351:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:180::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;-1:-1:-1;1548:23:1;;1397:180;-1:-1:-1;1397:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:248::-;2300:6;2308;2361:2;2349:9;2340:7;2336:23;2332:32;2329:52;;;2377:1;2374;2367:12;2329:52;-1:-1:-1;;2400:23:1;;;2470:2;2455:18;;;2442:32;;-1:-1:-1;2232:248:1:o;2485:247::-;2544:6;2597:2;2585:9;2576:7;2572:23;2568:32;2565:52;;;2613:1;2610;2603:12;2565:52;2652:9;2639:23;2671:31;2696:5;2671:31;:::i;2945:160::-;3010:20;;3066:13;;3059:21;3049:32;;3039:60;;3095:1;3092;3085:12;3039:60;2945:160;;;:::o;3110:315::-;3175:6;3183;3236:2;3224:9;3215:7;3211:23;3207:32;3204:52;;;3252:1;3249;3242:12;3204:52;3291:9;3278:23;3310:31;3335:5;3310:31;:::i;:::-;3360:5;-1:-1:-1;3384:35:1;3415:2;3400:18;;3384:35;:::i;:::-;3374:45;;3110:315;;;;;:::o;3430:388::-;3498:6;3506;3559:2;3547:9;3538:7;3534:23;3530:32;3527:52;;;3575:1;3572;3565:12;3527:52;3614:9;3601:23;3633:31;3658:5;3633:31;:::i;:::-;3683:5;-1:-1:-1;3740:2:1;3725:18;;3712:32;3753:33;3712:32;3753:33;:::i;:::-;3805:7;3795:17;;;3430:388;;;;;:::o;3823:180::-;3879:6;3932:2;3920:9;3911:7;3907:23;3903:32;3900:52;;;3948:1;3945;3938:12;3900:52;3971:26;3987:9;3971:26;:::i;4008:356::-;4210:2;4192:21;;;4229:18;;;4222:30;4288:34;4283:2;4268:18;;4261:62;4355:2;4340:18;;4008:356::o;4369:127::-;4430:10;4425:3;4421:20;4418:1;4411:31;4461:4;4458:1;4451:15;4485:4;4482:1;4475:15;4501:416;4590:1;4627:5;4590:1;4641:270;4662:7;4652:8;4649:21;4641:270;;;4721:4;4717:1;4713:6;4709:17;4703:4;4700:27;4697:53;;;4730:18;;:::i;:::-;4780:7;4770:8;4766:22;4763:55;;;4800:16;;;;4763:55;4879:22;;;;4839:15;;;;4641:270;;;4645:3;4501:416;;;;;:::o;4922:806::-;4971:5;5001:8;4991:80;;-1:-1:-1;5042:1:1;5056:5;;4991:80;5090:4;5080:76;;-1:-1:-1;5127:1:1;5141:5;;5080:76;5172:4;5190:1;5185:59;;;;5258:1;5253:130;;;;5165:218;;5185:59;5215:1;5206:10;;5229:5;;;5253:130;5290:3;5280:8;5277:17;5274:43;;;5297:18;;:::i;:::-;-1:-1:-1;;5353:1:1;5339:16;;5368:5;;5165:218;;5467:2;5457:8;5454:16;5448:3;5442:4;5439:13;5435:36;5429:2;5419:8;5416:16;5411:2;5405:4;5402:12;5398:35;5395:77;5392:159;;;-1:-1:-1;5504:19:1;;;5536:5;;5392:159;5583:34;5608:8;5602:4;5583:34;:::i;:::-;5653:6;5649:1;5645:6;5641:19;5632:7;5629:32;5626:58;;;5664:18;;:::i;:::-;5702:20;;4922:806;-1:-1:-1;;;4922:806:1:o;5733:140::-;5791:5;5820:47;5861:4;5851:8;5847:19;5841:4;5820:47;:::i;5878:168::-;5951:9;;;5982;;5999:15;;;5993:22;;5979:37;5969:71;;6020:18;;:::i;6051:217::-;6091:1;6117;6107:132;;6161:10;6156:3;6152:20;6149:1;6142:31;6196:4;6193:1;6186:15;6224:4;6221:1;6214:15;6107:132;-1:-1:-1;6253:9:1;;6051:217::o;6273:125::-;6338:9;;;6359:10;;;6356:36;;;6372:18;;:::i;6748:128::-;6815:9;;;6836:11;;;6833:37;;;6850:18;;:::i;7013:127::-;7074:10;7069:3;7065:20;7062:1;7055:31;7105:4;7102:1;7095:15;7129:4;7126:1;7119:15;7145:251;7215:6;7268:2;7256:9;7247:7;7243:23;7239:32;7236:52;;;7284:1;7281;7274:12;7236:52;7316:9;7310:16;7335:31;7360:5;7335:31;:::i;7401:980::-;7663:4;7711:3;7700:9;7696:19;7742:6;7731:9;7724:25;7768:2;7806:6;7801:2;7790:9;7786:18;7779:34;7849:3;7844:2;7833:9;7829:18;7822:31;7873:6;7908;7902:13;7939:6;7931;7924:22;7977:3;7966:9;7962:19;7955:26;;8016:2;8008:6;8004:15;7990:29;;8037:1;8047:195;8061:6;8058:1;8055:13;8047:195;;;8126:13;;-1:-1:-1;;;;;8122:39:1;8110:52;;8217:15;;;;8182:12;;;;8158:1;8076:9;8047:195;;;-1:-1:-1;;;;;;;8298:32:1;;;;8293:2;8278:18;;8271:60;-1:-1:-1;;;8362:3:1;8347:19;8340:35;8259:3;7401:980;-1:-1:-1;;;7401:980:1:o

Swarm Source

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