ETH Price: $3,722.81 (+3.59%)

Token

ERC-20: GrokScan (GSN)
 

Overview

Max Total Supply

100,000,000 GSN

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
831,600 GSN

Value
$0.00
0xbd23ce9710029463625ef7a5beacf1a8cec92eb9
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:
GrokScan

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-29
*/

/**⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
GrokScan | Competitor to EthTrend by GrokAi

We asked GrokAi four main questions pertaining to the creation of a Tending Bot. This platform and token are the result of Grok's answers. Welcome to GrokScan.

At the heart of our platform is the Trending Bot, backed by the advanced capabilities of GrokAI, allowing you to strategically trend your token and amplify its visibility for a specified duration. 

Website: https://grokscan.io
Telegram: https://t.me/grokscanio
X: https://x.com/grokscanio
Bot: @GrokScan_Bot
Trending Channel: https://t.me/grokscantrending
**/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.22;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

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 ILpPair {
    function mint(address to) external returns (uint liquidity);
    function sync() external;
}

interface IWETH {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function withdraw(uint) external;
}

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

        function getPair(address tokenA, address tokenB) external view 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);
}

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 GrokScan is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _teamWallet;
	address payable private _developmentWallet;
    address constant  DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant  ZERO = 0x0000000000000000000000000000000000000000;
    uint256 firstBlock;
    string public _websiteInformation;
    string public _telegramInformation;
    string public _twitterInformation;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event SetExemptFromFees(address _address, bool _isExempt);

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    uint256 private _startingBuyCount=0;
    uint256 private _buyTaxReducedAt=16;
    uint256 private _sellTaxReducedAt=30;
    uint256 private _preventSellToEthTill=30;
    uint256 private _buyTaxLaunch=16;
    uint256 private _sellTaxLaunch=16;
    uint256 private _buyTax=5;
    uint256 private _sellTax=5;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10 **_decimals;
    string private constant _name = unicode"GrokScan";
    string private constant _symbol = unicode"GSN";
    uint256 public _maxTxAmount =   _tTotal / 10000 * 99; 
    uint256 public _maxWalletSize = _tTotal / 10000 * 99; 
    uint256 public _taxSwapThreshold = _tTotal / 10000 * 1;
    uint256 public _maxTaxSwap = _tTotal / 10000 * 50; 

    constructor (address developmentWallet) {

        _teamWallet = payable(_msgSender());
		developmentWallet = payable(developmentWallet);
        _developmentWallet = payable(developmentWallet);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamWallet] = true;
		_isExcludedFromFee[_developmentWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function GoLive() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        swapEnabled = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        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);
        tradingOpen = true;
    }

    function unlimitedGSN() external {
        require(_msgSender()==_teamWallet);
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function withdrawStuckToken(address _token, address _to) external {
        require(_msgSender()==_teamWallet);
        require(_token != address(0), "_token address cannot be 0");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transfer(_to, _contractBalance);
    }

    function sendContractTokenBalanceToEth() external {
        require(_msgSender()==_teamWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToTeam(ethBalance);
        }
    }

	function recoverETH() external {
        require(_msgSender()==_teamWallet);
		sendETHToTeam(address(this).balance);
	}

    function changeMaxTaxSwapAmount(uint256 amount) external onlyOwner() {
        _maxTaxSwap = _tTotal / 10000 * amount;
    }

    function changeTaxSwapThreshold (uint256 amount) external onlyOwner() {
        _taxSwapThreshold = _tTotal / 10000 * amount;
    }

    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 {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function 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 sendEthtoDevelopment(uint256 amount) private {
        _developmentWallet.transfer(amount);
    }

    function sendETHToTeam(uint256 amount) private {
        _teamWallet.transfer(amount);
    }

    receive() external payable {}

    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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_startingBuyCount>_buyTaxReducedAt)?_buyTax:_buyTaxLaunch).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _startingBuyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_startingBuyCount>_sellTaxReducedAt)?_sellTax:_sellTaxLaunch).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _startingBuyCount>_preventSellToEthTill) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
					sendEthtoDevelopment(address(this).balance.mul(1000).div(2000));
                    sendETHToTeam(address(this).balance);

                }
            }
        }

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

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

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

	function swapToTaxEnabled() external onlyOwner() {
        swapEnabled = true;
	}

    function updateSocials (
        string calldata __websiteInformation,
        string calldata __telegramInformation,
        string calldata __twitterInformation
    ) external {
      require(_msgSender()==_teamWallet);
        _websiteInformation = __websiteInformation;
        _telegramInformation = __telegramInformation;
        _twitterInformation = __twitterInformation;
}  

    function getWebsiteInformation() public view returns (string memory) {
        return _websiteInformation;
    }

    function getTelegramInformation() public view returns (string memory) {
        return _telegramInformation;
    }

    function getTwitterInformation() public view returns (string memory) {
        return _twitterInformation;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"developmentWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"GoLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_telegramInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_twitterInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_websiteInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxTaxSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTelegramInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTwitterInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWebsiteInformation","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendContractTokenBalanceToEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapToTaxEnabled","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":[],"name":"unlimitedGSN","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"__websiteInformation","type":"string"},{"internalType":"string","name":"__telegramInformation","type":"string"},{"internalType":"string","name":"__twitterInformation","type":"string"}],"name":"updateSocials","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600b805461ffff60a81b191690555f600c556010600d819055601e600e819055600f5580805560115560056012819055601355612710620000486009600a620003ea565b62000058906305f5e10062000401565b6200006491906200041b565b6200007190606362000401565b601455612710620000856009600a620003ea565b62000095906305f5e10062000401565b620000a191906200041b565b620000ae90606362000401565b601555612710620000c26009600a620003ea565b620000d2906305f5e10062000401565b620000de91906200041b565b620000eb90600162000401565b601655612710620000ff6009600a620003ea565b6200010f906305f5e10062000401565b6200011b91906200041b565b6200012890603262000401565b60175534801562000137575f80fd5b50604051620023f6380380620023f68339810160408190526200015a916200043b565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060048054336001600160a01b031991821617909155600580549091166001600160a01b038316179055620001d16009600a620003ea565b620001e1906305f5e10062000401565b335f9081526001602081905260408220929092556003906200020a5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845282842080548616821790556005549091168352912080549092161790556200027a3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002b36009600a620003ea565b620002c3906305f5e10062000401565b60405190815260200160405180910390a35062000463565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200032f57815f1904821115620003135762000313620002db565b808516156200032157918102915b93841c9390800290620002f4565b509250929050565b5f826200034757506001620003e4565b816200035557505f620003e4565b81600181146200036e5760028114620003795762000399565b6001915050620003e4565b60ff8411156200038d576200038d620002db565b50506001821b620003e4565b5060208310610133831016604e8410600b8410161715620003be575081810a620003e4565b620003ca8383620002ef565b805f1904821115620003e057620003e0620002db565b0290505b92915050565b5f620003fa60ff84168362000337565b9392505050565b8082028115828204841417620003e457620003e4620002db565b5f826200043657634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200044c575f80fd5b81516001600160a01b0381168114620003fa575f80fd5b611f8580620004715f395ff3fe6080604052600436106101c8575f3560e01c80637d1db4a5116100f2578063bc205ad311610092578063dd62ed3e11610062578063dd62ed3e146104ca578063dedd45201461050e578063e0dc354614610522578063f1f5943f14610536575f80fd5b8063bc205ad31461046e578063bf474bed1461048d578063c3f93b01146104a2578063c8043432146104b6575f80fd5b80638f9a55c0116100cd5780638f9a55c0146103f057806395d89b4114610405578063a6f3438314610430578063a9059cbb1461044f575f80fd5b80637d1db4a5146103965780637efd4be7146103ab5780638da5cb5b146103ca575f80fd5b8063313ce5671161016857806370a082311161013857806370a0823114610326578063715018a61461035a578063756b7bb71461036e5780637beec15a14610382575f80fd5b8063313ce567146102c45780633b4e935a146102df57806345a6dc13146102f357806356c8c7ae14610312575f80fd5b80630faee56f116101a35780630faee56f1461025a57806318160ddd1461027d57806323b872dd146102915780632a24d262146102b0575f80fd5b80630614117a146101d357806306fdde03146101e9578063095ea7b31461022b575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b506101e761054a565b005b3480156101f4575f80fd5b5060408051808201909152600881526723b937b5a9b1b0b760c11b60208201525b6040516102229190611923565b60405180910390f35b348015610236575f80fd5b5061024a610245366004611986565b610574565b6040519015158152602001610222565b348015610265575f80fd5b5061026f60175481565b604051908152602001610222565b348015610288575f80fd5b5061026f61058a565b34801561029c575f80fd5b5061024a6102ab3660046119b0565b6105aa565b3480156102bb575f80fd5b506101e7610611565b3480156102cf575f80fd5b5060405160098152602001610222565b3480156102ea575f80fd5b506101e7610658565b3480156102fe575f80fd5b506101e761030d366004611a33565b610a10565b34801561031d575f80fd5b50610215610a61565b348015610331575f80fd5b5061026f610340366004611ac6565b6001600160a01b03165f9081526001602052604090205490565b348015610365575f80fd5b506101e7610aed565b348015610379575f80fd5b50610215610b5e565b34801561038d575f80fd5b506101e7610bee565b3480156103a1575f80fd5b5061026f60145481565b3480156103b6575f80fd5b506101e76103c5366004611ae1565b610c95565b3480156103d5575f80fd5b505f546040516001600160a01b039091168152602001610222565b3480156103fb575f80fd5b5061026f60155481565b348015610410575f80fd5b5060408051808201909152600381526223a9a760e91b6020820152610215565b34801561043b575f80fd5b506101e761044a366004611ae1565b610cf6565b34801561045a575f80fd5b5061024a610469366004611986565b610d57565b348015610479575f80fd5b506101e7610488366004611af8565b610d63565b348015610498575f80fd5b5061026f60165481565b3480156104ad575f80fd5b50610215610eba565b3480156104c1575f80fd5b50610215610ec9565b3480156104d5575f80fd5b5061026f6104e4366004611af8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610519575f80fd5b50610215610ed6565b34801561052d575f80fd5b50610215610ee3565b348015610541575f80fd5b506101e7610ef2565b6004546001600160a01b0316336001600160a01b031614610569575f80fd5b61057247610f43565b565b5f610580338484610f7a565b5060015b92915050565b5f6105976009600a611c23565b6105a5906305f5e100611c31565b905090565b5f6105b684848461109d565b610607843361060285604051806060016040528060288152602001611f28602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061159f565b610f7a565b5060019392505050565b5f546001600160a01b031633146106435760405162461bcd60e51b815260040161063a90611c48565b60405180910390fd5b600b805460ff60b01b1916600160b01b179055565b5f546001600160a01b031633146106815760405162461bcd60e51b815260040161063a90611c48565b600b54600160a01b900460ff16156106db5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161063a565b600b805460ff60b01b1916600160b01b179055600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556107379130919061072990600990611c23565b610602906305f5e100611c31565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610787573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ab9190611c7d565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082e9190611c7d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190611c7d565b600b80546001600160a01b039283166001600160a01b0319909116179055600a541663f305d71947306108e3816001600160a01b03165f9081526001602052604090205490565b5f806108f65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561095c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109819190611c98565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fa9190611cc3565b50600b805460ff60a01b1916600160a01b179055565b6004546001600160a01b0316336001600160a01b031614610a2f575f80fd5b6007610a3c868883611d74565b506008610a4a848683611d74565b506009610a58828483611d74565b50505050505050565b60098054610a6e90611cf6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9a90611cf6565b8015610ae55780601f10610abc57610100808354040283529160200191610ae5565b820191905f5260205f20905b815481529060010190602001808311610ac857829003601f168201915b505050505081565b5f546001600160a01b03163314610b165760405162461bcd60e51b815260040161063a90611c48565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060088054610b6d90611cf6565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9990611cf6565b8015610be45780601f10610bbb57610100808354040283529160200191610be4565b820191905f5260205f20905b815481529060010190602001808311610bc757829003601f168201915b5050505050905090565b6004546001600160a01b0316336001600160a01b031614610c0d575f80fd5b610c196009600a611c23565b610c27906305f5e100611c31565b601455610c366009600a611c23565b610c44906305f5e100611c31565b6015557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610c746009600a611c23565b610c82906305f5e100611c31565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610cbe5760405162461bcd60e51b815260040161063a90611c48565b80612710610cce6009600a611c23565b610cdc906305f5e100611c31565b610ce69190611e2e565b610cf09190611c31565b60165550565b5f546001600160a01b03163314610d1f5760405162461bcd60e51b815260040161063a90611c48565b80612710610d2f6009600a611c23565b610d3d906305f5e100611c31565b610d479190611e2e565b610d519190611c31565b60175550565b5f61058033848461109d565b6004546001600160a01b0316336001600160a01b031614610d82575f80fd5b6001600160a01b038216610dd85760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000604482015260640161063a565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610e1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e409190611e4d565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb49190611cc3565b50505050565b606060098054610b6d90611cf6565b60078054610a6e90611cf6565b60088054610a6e90611cf6565b606060078054610b6d90611cf6565b6004546001600160a01b0316336001600160a01b031614610f11575f80fd5b305f908152600160205260409020548015610f2f57610f2f816115d7565b478015610f3f57610f3f81610f43565b5050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f3f573d5f803e3d5ffd5b6001600160a01b038316610fdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161063a565b6001600160a01b03821661103d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161063a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111015760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161063a565b6001600160a01b0382166111635760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161063a565b5f81116111c45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161063a565b5f80546001600160a01b038581169116148015906111ef57505f546001600160a01b03848116911614155b1561146257611220606461121a600d54600c541161120f57601054611213565b6012545b8590611747565b906117cc565b600b549091506001600160a01b03858116911614801561124e5750600a546001600160a01b03848116911614155b801561127257506001600160a01b0383165f9081526003602052604090205460ff16155b15611358576014548211156112c95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161063a565b601554826112eb856001600160a01b03165f9081526001602052604090205490565b6112f59190611e64565b11156113435760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161063a565b600c8054905f61135283611e77565b91905055505b600b546001600160a01b03848116911614801561137e57506001600160a01b0384163014155b156113ab576113a8606461121a600e54600c541161139e57601154611213565b6013548590611747565b90505b305f90815260016020526040902054600b54600160a81b900460ff161580156113e15750600b546001600160a01b038581169116145b80156113f65750600b54600160b01b900460ff165b8015611403575060165481115b80156114125750600f54600c54115b156114605761143461142f8461142a8460175461180d565b61180d565b6115d7565b47801561145e576114556114506107d061121a476103e8611747565b611821565b61145e47610f43565b505b505b80156114da57305f908152600160205260409020546114819082611858565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114d19085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546114fc90836118b6565b6001600160a01b0385165f9081526001602052604090205561153f61152183836118b6565b6001600160a01b0385165f9081526001602052604090205490611858565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61158885856118b6565b60405190815260200160405180910390a350505050565b5f81848411156115c25760405162461bcd60e51b815260040161063a9190611923565b505f6115ce8486611e8f565b95945050505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061161d5761161d611ea2565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611674573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116989190611c7d565b816001815181106116ab576116ab611ea2565b6001600160a01b039283166020918202929092010152600a546116d19130911684610f7a565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906117099085905f90869030904290600401611eb6565b5f604051808303815f87803b158015611720575f80fd5b505af1158015611732573d5f803e3d5ffd5b5050600b805460ff60a81b1916905550505050565b5f825f0361175657505f610584565b5f6117618385611c31565b90508261176e8583611e2e565b146117c55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161063a565b9392505050565b5f6117c583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118f7565b5f81831161181b57826117c5565b50919050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f3f573d5f803e3d5ffd5b5f806118648385611e64565b9050838110156117c55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161063a565b5f6117c583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061159f565b5f81836119175760405162461bcd60e51b815260040161063a9190611923565b505f6115ce8486611e2e565b5f602080835283518060208501525f5b8181101561194f57858101830151858201604001528201611933565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611983575f80fd5b50565b5f8060408385031215611997575f80fd5b82356119a28161196f565b946020939093013593505050565b5f805f606084860312156119c2575f80fd5b83356119cd8161196f565b925060208401356119dd8161196f565b929592945050506040919091013590565b5f8083601f8401126119fe575f80fd5b50813567ffffffffffffffff811115611a15575f80fd5b602083019150836020828501011115611a2c575f80fd5b9250929050565b5f805f805f8060608789031215611a48575f80fd5b863567ffffffffffffffff80821115611a5f575f80fd5b611a6b8a838b016119ee565b90985096506020890135915080821115611a83575f80fd5b611a8f8a838b016119ee565b90965094506040890135915080821115611aa7575f80fd5b50611ab489828a016119ee565b979a9699509497509295939492505050565b5f60208284031215611ad6575f80fd5b81356117c58161196f565b5f60208284031215611af1575f80fd5b5035919050565b5f8060408385031215611b09575f80fd5b8235611b148161196f565b91506020830135611b248161196f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b7d57815f1904821115611b6357611b63611b2f565b80851615611b7057918102915b93841c9390800290611b48565b509250929050565b5f82611b9357506001610584565b81611b9f57505f610584565b8160018114611bb55760028114611bbf57611bdb565b6001915050610584565b60ff841115611bd057611bd0611b2f565b50506001821b610584565b5060208310610133831016604e8410600b8410161715611bfe575081810a610584565b611c088383611b43565b805f1904821115611c1b57611c1b611b2f565b029392505050565b5f6117c560ff841683611b85565b808202811582820484141761058457610584611b2f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611c8d575f80fd5b81516117c58161196f565b5f805f60608486031215611caa575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611cd3575f80fd5b815180151581146117c5575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680611d0a57607f821691505b60208210810361181b57634e487b7160e01b5f52602260045260245ffd5b601f821115611d6f57805f5260205f20601f840160051c81016020851015611d4d5750805b601f840160051c820191505b81811015611d6c575f8155600101611d59565b50505b505050565b67ffffffffffffffff831115611d8c57611d8c611ce2565b611da083611d9a8354611cf6565b83611d28565b5f601f841160018114611dd1575f8515611dba5750838201355b5f19600387901b1c1916600186901b178355611d6c565b5f83815260208120601f198716915b82811015611e005786850135825560209485019460019092019101611de0565b5086821015611e1c575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f82611e4857634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611e5d575f80fd5b5051919050565b8082018082111561058457610584611b2f565b5f60018201611e8857611e88611b2f565b5060010190565b8181038181111561058457610584611b2f565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611f065784516001600160a01b031683529383019391830191600101611ee1565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d99747bd65bb47ed7f91dc25ddff1574723c48c30395120e1d65f63c264d0d4064736f6c634300081600330000000000000000000000000faab1f8bc97fd4eefd3c77eab1e53a6d0117149

Deployed Bytecode

0x6080604052600436106101c8575f3560e01c80637d1db4a5116100f2578063bc205ad311610092578063dd62ed3e11610062578063dd62ed3e146104ca578063dedd45201461050e578063e0dc354614610522578063f1f5943f14610536575f80fd5b8063bc205ad31461046e578063bf474bed1461048d578063c3f93b01146104a2578063c8043432146104b6575f80fd5b80638f9a55c0116100cd5780638f9a55c0146103f057806395d89b4114610405578063a6f3438314610430578063a9059cbb1461044f575f80fd5b80637d1db4a5146103965780637efd4be7146103ab5780638da5cb5b146103ca575f80fd5b8063313ce5671161016857806370a082311161013857806370a0823114610326578063715018a61461035a578063756b7bb71461036e5780637beec15a14610382575f80fd5b8063313ce567146102c45780633b4e935a146102df57806345a6dc13146102f357806356c8c7ae14610312575f80fd5b80630faee56f116101a35780630faee56f1461025a57806318160ddd1461027d57806323b872dd146102915780632a24d262146102b0575f80fd5b80630614117a146101d357806306fdde03146101e9578063095ea7b31461022b575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b506101e761054a565b005b3480156101f4575f80fd5b5060408051808201909152600881526723b937b5a9b1b0b760c11b60208201525b6040516102229190611923565b60405180910390f35b348015610236575f80fd5b5061024a610245366004611986565b610574565b6040519015158152602001610222565b348015610265575f80fd5b5061026f60175481565b604051908152602001610222565b348015610288575f80fd5b5061026f61058a565b34801561029c575f80fd5b5061024a6102ab3660046119b0565b6105aa565b3480156102bb575f80fd5b506101e7610611565b3480156102cf575f80fd5b5060405160098152602001610222565b3480156102ea575f80fd5b506101e7610658565b3480156102fe575f80fd5b506101e761030d366004611a33565b610a10565b34801561031d575f80fd5b50610215610a61565b348015610331575f80fd5b5061026f610340366004611ac6565b6001600160a01b03165f9081526001602052604090205490565b348015610365575f80fd5b506101e7610aed565b348015610379575f80fd5b50610215610b5e565b34801561038d575f80fd5b506101e7610bee565b3480156103a1575f80fd5b5061026f60145481565b3480156103b6575f80fd5b506101e76103c5366004611ae1565b610c95565b3480156103d5575f80fd5b505f546040516001600160a01b039091168152602001610222565b3480156103fb575f80fd5b5061026f60155481565b348015610410575f80fd5b5060408051808201909152600381526223a9a760e91b6020820152610215565b34801561043b575f80fd5b506101e761044a366004611ae1565b610cf6565b34801561045a575f80fd5b5061024a610469366004611986565b610d57565b348015610479575f80fd5b506101e7610488366004611af8565b610d63565b348015610498575f80fd5b5061026f60165481565b3480156104ad575f80fd5b50610215610eba565b3480156104c1575f80fd5b50610215610ec9565b3480156104d5575f80fd5b5061026f6104e4366004611af8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610519575f80fd5b50610215610ed6565b34801561052d575f80fd5b50610215610ee3565b348015610541575f80fd5b506101e7610ef2565b6004546001600160a01b0316336001600160a01b031614610569575f80fd5b61057247610f43565b565b5f610580338484610f7a565b5060015b92915050565b5f6105976009600a611c23565b6105a5906305f5e100611c31565b905090565b5f6105b684848461109d565b610607843361060285604051806060016040528060288152602001611f28602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061159f565b610f7a565b5060019392505050565b5f546001600160a01b031633146106435760405162461bcd60e51b815260040161063a90611c48565b60405180910390fd5b600b805460ff60b01b1916600160b01b179055565b5f546001600160a01b031633146106815760405162461bcd60e51b815260040161063a90611c48565b600b54600160a01b900460ff16156106db5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161063a565b600b805460ff60b01b1916600160b01b179055600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556107379130919061072990600990611c23565b610602906305f5e100611c31565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610787573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ab9190611c7d565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082e9190611c7d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190611c7d565b600b80546001600160a01b039283166001600160a01b0319909116179055600a541663f305d71947306108e3816001600160a01b03165f9081526001602052604090205490565b5f806108f65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561095c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109819190611c98565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fa9190611cc3565b50600b805460ff60a01b1916600160a01b179055565b6004546001600160a01b0316336001600160a01b031614610a2f575f80fd5b6007610a3c868883611d74565b506008610a4a848683611d74565b506009610a58828483611d74565b50505050505050565b60098054610a6e90611cf6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9a90611cf6565b8015610ae55780601f10610abc57610100808354040283529160200191610ae5565b820191905f5260205f20905b815481529060010190602001808311610ac857829003601f168201915b505050505081565b5f546001600160a01b03163314610b165760405162461bcd60e51b815260040161063a90611c48565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060088054610b6d90611cf6565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9990611cf6565b8015610be45780601f10610bbb57610100808354040283529160200191610be4565b820191905f5260205f20905b815481529060010190602001808311610bc757829003601f168201915b5050505050905090565b6004546001600160a01b0316336001600160a01b031614610c0d575f80fd5b610c196009600a611c23565b610c27906305f5e100611c31565b601455610c366009600a611c23565b610c44906305f5e100611c31565b6015557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610c746009600a611c23565b610c82906305f5e100611c31565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610cbe5760405162461bcd60e51b815260040161063a90611c48565b80612710610cce6009600a611c23565b610cdc906305f5e100611c31565b610ce69190611e2e565b610cf09190611c31565b60165550565b5f546001600160a01b03163314610d1f5760405162461bcd60e51b815260040161063a90611c48565b80612710610d2f6009600a611c23565b610d3d906305f5e100611c31565b610d479190611e2e565b610d519190611c31565b60175550565b5f61058033848461109d565b6004546001600160a01b0316336001600160a01b031614610d82575f80fd5b6001600160a01b038216610dd85760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000604482015260640161063a565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610e1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e409190611e4d565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb49190611cc3565b50505050565b606060098054610b6d90611cf6565b60078054610a6e90611cf6565b60088054610a6e90611cf6565b606060078054610b6d90611cf6565b6004546001600160a01b0316336001600160a01b031614610f11575f80fd5b305f908152600160205260409020548015610f2f57610f2f816115d7565b478015610f3f57610f3f81610f43565b5050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f3f573d5f803e3d5ffd5b6001600160a01b038316610fdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161063a565b6001600160a01b03821661103d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161063a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111015760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161063a565b6001600160a01b0382166111635760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161063a565b5f81116111c45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161063a565b5f80546001600160a01b038581169116148015906111ef57505f546001600160a01b03848116911614155b1561146257611220606461121a600d54600c541161120f57601054611213565b6012545b8590611747565b906117cc565b600b549091506001600160a01b03858116911614801561124e5750600a546001600160a01b03848116911614155b801561127257506001600160a01b0383165f9081526003602052604090205460ff16155b15611358576014548211156112c95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161063a565b601554826112eb856001600160a01b03165f9081526001602052604090205490565b6112f59190611e64565b11156113435760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161063a565b600c8054905f61135283611e77565b91905055505b600b546001600160a01b03848116911614801561137e57506001600160a01b0384163014155b156113ab576113a8606461121a600e54600c541161139e57601154611213565b6013548590611747565b90505b305f90815260016020526040902054600b54600160a81b900460ff161580156113e15750600b546001600160a01b038581169116145b80156113f65750600b54600160b01b900460ff165b8015611403575060165481115b80156114125750600f54600c54115b156114605761143461142f8461142a8460175461180d565b61180d565b6115d7565b47801561145e576114556114506107d061121a476103e8611747565b611821565b61145e47610f43565b505b505b80156114da57305f908152600160205260409020546114819082611858565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114d19085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546114fc90836118b6565b6001600160a01b0385165f9081526001602052604090205561153f61152183836118b6565b6001600160a01b0385165f9081526001602052604090205490611858565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61158885856118b6565b60405190815260200160405180910390a350505050565b5f81848411156115c25760405162461bcd60e51b815260040161063a9190611923565b505f6115ce8486611e8f565b95945050505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061161d5761161d611ea2565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611674573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116989190611c7d565b816001815181106116ab576116ab611ea2565b6001600160a01b039283166020918202929092010152600a546116d19130911684610f7a565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906117099085905f90869030904290600401611eb6565b5f604051808303815f87803b158015611720575f80fd5b505af1158015611732573d5f803e3d5ffd5b5050600b805460ff60a81b1916905550505050565b5f825f0361175657505f610584565b5f6117618385611c31565b90508261176e8583611e2e565b146117c55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161063a565b9392505050565b5f6117c583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118f7565b5f81831161181b57826117c5565b50919050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f3f573d5f803e3d5ffd5b5f806118648385611e64565b9050838110156117c55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161063a565b5f6117c583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061159f565b5f81836119175760405162461bcd60e51b815260040161063a9190611923565b505f6115ce8486611e2e565b5f602080835283518060208501525f5b8181101561194f57858101830151858201604001528201611933565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611983575f80fd5b50565b5f8060408385031215611997575f80fd5b82356119a28161196f565b946020939093013593505050565b5f805f606084860312156119c2575f80fd5b83356119cd8161196f565b925060208401356119dd8161196f565b929592945050506040919091013590565b5f8083601f8401126119fe575f80fd5b50813567ffffffffffffffff811115611a15575f80fd5b602083019150836020828501011115611a2c575f80fd5b9250929050565b5f805f805f8060608789031215611a48575f80fd5b863567ffffffffffffffff80821115611a5f575f80fd5b611a6b8a838b016119ee565b90985096506020890135915080821115611a83575f80fd5b611a8f8a838b016119ee565b90965094506040890135915080821115611aa7575f80fd5b50611ab489828a016119ee565b979a9699509497509295939492505050565b5f60208284031215611ad6575f80fd5b81356117c58161196f565b5f60208284031215611af1575f80fd5b5035919050565b5f8060408385031215611b09575f80fd5b8235611b148161196f565b91506020830135611b248161196f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b7d57815f1904821115611b6357611b63611b2f565b80851615611b7057918102915b93841c9390800290611b48565b509250929050565b5f82611b9357506001610584565b81611b9f57505f610584565b8160018114611bb55760028114611bbf57611bdb565b6001915050610584565b60ff841115611bd057611bd0611b2f565b50506001821b610584565b5060208310610133831016604e8410600b8410161715611bfe575081810a610584565b611c088383611b43565b805f1904821115611c1b57611c1b611b2f565b029392505050565b5f6117c560ff841683611b85565b808202811582820484141761058457610584611b2f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611c8d575f80fd5b81516117c58161196f565b5f805f60608486031215611caa575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611cd3575f80fd5b815180151581146117c5575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680611d0a57607f821691505b60208210810361181b57634e487b7160e01b5f52602260045260245ffd5b601f821115611d6f57805f5260205f20601f840160051c81016020851015611d4d5750805b601f840160051c820191505b81811015611d6c575f8155600101611d59565b50505b505050565b67ffffffffffffffff831115611d8c57611d8c611ce2565b611da083611d9a8354611cf6565b83611d28565b5f601f841160018114611dd1575f8515611dba5750838201355b5f19600387901b1c1916600186901b178355611d6c565b5f83815260208120601f198716915b82811015611e005786850135825560209485019460019092019101611de0565b5086821015611e1c575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f82611e4857634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611e5d575f80fd5b5051919050565b8082018082111561058457610584611b2f565b5f60018201611e8857611e88611b2f565b5060010190565b8181038181111561058457610584611b2f565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611f065784516001600160a01b031683529383019391830191600101611ee1565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d99747bd65bb47ed7f91dc25ddff1574723c48c30395120e1d65f63c264d0d4064736f6c63430008160033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000faab1f8bc97fd4eefd3c77eab1e53a6d0117149

-----Decoded View---------------
Arg [0] : developmentWallet (address): 0x0faAB1f8bC97Fd4EEFD3C77Eab1E53a6D0117149

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000faab1f8bc97fd4eefd3c77eab1e53a6d0117149


Deployed Bytecode Sourcemap

4629:9915:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8579:122;;;;;;;;;;;;;:::i;:::-;;8984:83;;;;;;;;;;-1:-1:-1;9054:5:0;;;;;;;;;;;;-1:-1:-1;;;9054:5:0;;;;8984:83;;;;;;;:::i;:::-;;;;;;;;9823:161;;;;;;;;;;-1:-1:-1;9823:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9823:161:0;1023:187:1;6417:49:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;6417:49:0;1215:177:1;9263:95:0;;;;;;;;;;;;;:::i;9993:313::-;;;;;;;;;;-1:-1:-1;9993:313:0;;;;;:::i;:::-;;:::i;13688:83::-;;;;;;;;;;;;;:::i;9172:::-;;;;;;;;;;-1:-1:-1;9172:83:0;;6051:1;2000:36:1;;1988:2;1973:18;9172:83:0;1858:184:1;6997:666:0;;;;;;;;;;;;;:::i;13779:390::-;;;;;;;;;;-1:-1:-1;13779:390:0;;;;;:::i;:::-;;:::i;5245:33::-;;;;;;;;;;;;;:::i;9367:119::-;;;;;;;;;;-1:-1:-1;9367:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9460:18:0;9433:7;9460:18;;;:9;:18;;;;;;;9367:119;2167:148;;;;;;;;;;;;;:::i;14301:116::-;;;;;;;;;;;;;:::i;7671:195::-;;;;;;;;;;;;;:::i;6236:52::-;;;;;;;;;;;;;;;;8843:133;;;;;;;;;;-1:-1:-1;8843:133:0;;;;;:::i;:::-;;:::i;1953:79::-;;;;;;;;;;-1:-1:-1;1991:7:0;2018:6;1953:79;;-1:-1:-1;;;;;2018:6:0;;;3998:51:1;;3986:2;3971:18;1953:79:0;3852:203:1;6296:52:0;;;;;;;;;;;;;;;;9076:87;;;;;;;;;;-1:-1:-1;9148:7:0;;;;;;;;;;;;-1:-1:-1;;;9148:7:0;;;;9076:87;;8709:126;;;;;;;;;;-1:-1:-1;8709:126:0;;;;;:::i;:::-;;:::i;9495:167::-;;;;;;;;;;-1:-1:-1;9495:167:0;;;;;:::i;:::-;;:::i;7874:323::-;;;;;;;;;;-1:-1:-1;7874:323:0;;;;;:::i;:::-;;:::i;6356:54::-;;;;;;;;;;;;;;;;14425:114;;;;;;;;;;;;;:::i;5164:33::-;;;;;;;;;;;;;:::i;9671:143::-;;;;;;;;;;-1:-1:-1;9671:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9779:18:0;;;9752:7;9779:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9671:143;5204:34;;;;;;;;;;;;;:::i;14179:114::-;;;;;;;;;;;;;:::i;8205:369::-;;;;;;;;;;;;;:::i;8579:122::-;8643:11;;-1:-1:-1;;;;;8643:11:0;822:10;-1:-1:-1;;;;;8629:25:0;;8621:34;;;;;;8660:36;8674:21;8660:13;:36::i;:::-;8579:122::o;9823:161::-;9898:4;9915:39;822:10;9938:7;9947:6;9915:8;:39::i;:::-;-1:-1:-1;9972:4:0;9823:161;;;;;:::o;9263:95::-;9316:7;6106:14;6051:1;6106:2;:14;:::i;:::-;6094:26;;:9;:26;:::i;:::-;9336:14;;9263:95;:::o;9993:313::-;10091:4;10108:36;10118:6;10126:9;10137:6;10108:9;:36::i;:::-;10155:121;10164:6;822:10;10186:89;10224:6;10186:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10186:19:0;;;;;;:11;:19;;;;;;;;822:10;10186:33;;;;;;;;;;:37;:89::i;:::-;10155:8;:121::i;:::-;-1:-1:-1;10294:4:0;9993:313;;;;;:::o;13688:83::-;2080:6;;-1:-1:-1;;;;;2080:6:0;822:10;2080:22;2072:67;;;;-1:-1:-1;;;2072:67:0;;;;;;;:::i;:::-;;;;;;;;;13748:11:::1;:18:::0;;-1:-1:-1;;;;13748:18:0::1;-1:-1:-1::0;;;13748:18:0::1;::::0;;13688:83::o;6997:666::-;2080:6;;-1:-1:-1;;;;;2080:6:0;822:10;2080:22;2072:67;;;;-1:-1:-1;;;2072:67:0;;;;;;;:::i;:::-;7056:11:::1;::::0;-1:-1:-1;;;7056:11:0;::::1;;;7055:12;7047:47;;;::::0;-1:-1:-1;;;7047:47:0;;6698:2:1;7047:47:0::1;::::0;::::1;6680:21:1::0;6737:2;6717:18;;;6710:30;6776:25;6756:18;;;6749:53;6819:18;;7047:47:0::1;6496:347:1::0;7047:47:0::1;7105:11;:18:::0;;-1:-1:-1;;;;7105:18:0::1;-1:-1:-1::0;;;7105:18:0::1;::::0;;7134:15:::1;:80:::0;;-1:-1:-1;;;;;;7134:80:0::1;7171:42;7134:80:::0;;::::1;::::0;;7225:58:::1;::::0;7242:4:::1;::::0;7171:42;6106:14:::1;::::0;6051:1:::1;::::0;6106:14:::1;:::i;:::-;6094:26;::::0;:9:::1;:26;:::i;7225:58::-;7328:15;;;;;;;;;-1:-1:-1::0;;;;;7328:15:0::1;-1:-1:-1::0;;;;;7328:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7310:55:0::1;;7374:4;7381:15;;;;;;;;;-1:-1:-1::0;;;;;7381:15:0::1;-1:-1:-1::0;;;;;7381:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7310:94;::::0;-1:-1:-1;;;;;;7310:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7334:15:1;;;7310:94:0::1;::::0;::::1;7316:34:1::0;7386:15;;7366:18;;;7359:43;7251:18;;7310:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7294:13;:110:::0;;-1:-1:-1;;;;;7294:110:0;;::::1;-1:-1:-1::0;;;;;;7294:110:0;;::::1;;::::0;;7415:15:::1;::::0;::::1;:31;7454:21;7485:4;7491:24;7485:4:::0;-1:-1:-1;;;;;9460:18:0;9433:7;9460:18;;;:9;:18;;;;;;;9367:119;7491:24:::1;7516:1;7518::::0;7520:7:::1;1991::::0;2018:6;-1:-1:-1;;;;;2018:6:0;;1953:79;7520:7:::1;7415:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;7415:129:0;;;-1:-1:-1;;;;;7772:15:1;;;7415:129:0::1;::::0;::::1;7754:34:1::0;7804:18;;;7797:34;;;;7847:18;;;7840:34;;;;7890:18;;;7883:34;7954:15;;;7933:19;;;7926:44;7528:15:0::1;7986:19:1::0;;;7979:35;7688:19;;7415:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7562:13:0::1;::::0;7593:15:::1;::::0;7555:71:::1;::::0;-1:-1:-1;;;7555:71:0;;-1:-1:-1;;;;;7593:15:0;;::::1;7555:71;::::0;::::1;8510:51:1::0;-1:-1:-1;;8577:18:1;;;8570:34;7562:13:0;::::1;::::0;-1:-1:-1;7555:29:0::1;::::0;8483:18:1;;7555:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7637:11:0::1;:18:::0;;-1:-1:-1;;;;7637:18:0::1;-1:-1:-1::0;;;7637:18:0::1;::::0;;6997:666::o;13779:390::-;13992:11;;-1:-1:-1;;;;;13992:11:0;822:10;-1:-1:-1;;;;;13978:25:0;;13970:34;;;;;;14015:19;:42;14037:20;;14015:19;:42;:::i;:::-;-1:-1:-1;14068:20:0;:44;14091:21;;14068:20;:44;:::i;:::-;-1:-1:-1;14123:19:0;:42;14145:20;;14123:19;:42;:::i;:::-;;13779:390;;;;;;:::o;5245:33::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2167:148::-;2080:6;;-1:-1:-1;;;;;2080:6:0;822:10;2080:22;2072:67;;;;-1:-1:-1;;;2072:67:0;;;;;;;:::i;:::-;2274:1:::1;2258:6:::0;;2237:40:::1;::::0;-1:-1:-1;;;;;2258:6:0;;::::1;::::0;2237:40:::1;::::0;2274:1;;2237:40:::1;2305:1;2288:19:::0;;-1:-1:-1;;;;;;2288:19:0::1;::::0;;2167:148::o;14301:116::-;14356:13;14389:20;14382:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14301:116;:::o;7671:195::-;7737:11;;-1:-1:-1;;;;;7737:11:0;822:10;-1:-1:-1;;;;;7723:25:0;;7715:34;;;;;;6106:14;6051:1;6106:2;:14;:::i;:::-;6094:26;;:9;:26;:::i;:::-;7760:12;:22;6106:14;6051:1;6106:2;:14;:::i;:::-;6094:26;;:9;:26;:::i;:::-;7793:14;:22;7831:27;6106:14;6051:1;6106:2;:14;:::i;:::-;6094:26;;:9;:26;:::i;:::-;7831:27;;1361:25:1;;;1349:2;1334:18;7831:27:0;;;;;;;7671:195::o;8843:133::-;2080:6;;-1:-1:-1;;;;;2080:6:0;822:10;2080:22;2072:67;;;;-1:-1:-1;;;2072:67:0;;;;;;;:::i;:::-;8962:6;8954:5:::1;6106:14;6051:1;6106:2;:14;:::i;:::-;6094:26;::::0;:9:::1;:26;:::i;:::-;8944:15;;;;:::i;:::-;:24;;;;:::i;:::-;8924:17;:44:::0;-1:-1:-1;8843:133:0:o;8709:126::-;2080:6;;-1:-1:-1;;;;;2080:6:0;822:10;2080:22;2072:67;;;;-1:-1:-1;;;2072:67:0;;;;;;;:::i;:::-;8821:6;8813:5:::1;6106:14;6051:1;6106:2;:14;:::i;:::-;6094:26;::::0;:9:::1;:26;:::i;:::-;8803:15;;;;:::i;:::-;:24;;;;:::i;:::-;8789:11;:38:::0;-1:-1:-1;8709:126:0:o;9495:167::-;9573:4;9590:42;822:10;9614:9;9625:6;9590:9;:42::i;7874:323::-;7973:11;;-1:-1:-1;;;;;7973:11:0;822:10;-1:-1:-1;;;;;7959:25:0;;7951:34;;;;;;-1:-1:-1;;;;;8004:20:0;;7996:59;;;;-1:-1:-1;;;7996:59:0;;11861:2:1;7996:59:0;;;11843:21:1;11900:2;11880:18;;;11873:30;11939:28;11919:18;;;11912:56;11985:18;;7996:59:0;11659:350:1;7996:59:0;8093:39;;-1:-1:-1;;;8093:39:0;;8126:4;8093:39;;;3998:51:1;8066:24:0;;-1:-1:-1;;;;;8093:24:0;;;;;3971:18:1;;8093:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8143:46;;-1:-1:-1;;;8143:46:0;;-1:-1:-1;;;;;8528:32:1;;;8143:46:0;;;8510:51:1;8577:18;;;8570:34;;;8066:66:0;;-1:-1:-1;8143:23:0;;;;;;8483:18:1;;8143:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7940:257;7874:323;;:::o;14425:114::-;14479:13;14512:19;14505:26;;;;;:::i;5164:33::-;;;;;;;:::i;5204:34::-;;;;;;;:::i;14179:114::-;14233:13;14266:19;14259:26;;;;;:::i;8205:369::-;8288:11;;-1:-1:-1;;;;;8288:11:0;822:10;-1:-1:-1;;;;;8274:25:0;;8266:34;;;;;;8350:4;8311:20;9460:18;;;:9;:18;;;;;;8370:14;;8367:73;;8398:30;8415:12;8398:16;:30::i;:::-;8469:21;8504:12;;8501:66;;8530:25;8544:10;8530:13;:25::i;:::-;8255:319;;8205:369::o;11262:94::-;11320:11;;:28;;-1:-1:-1;;;;;11320:11:0;;;;:28;;;;;11341:6;;11320:11;:28;:11;:28;11341:6;11320:11;:28;;;;;;;;;;;;;;;;;;;10315:335;-1:-1:-1;;;;;10408:19:0;;10400:68;;;;-1:-1:-1;;;10400:68:0;;12405:2:1;10400:68:0;;;12387:21:1;12444:2;12424:18;;;12417:30;12483:34;12463:18;;;12456:62;-1:-1:-1;;;12534:18:1;;;12527:34;12578:19;;10400:68:0;12203:400:1;10400:68:0;-1:-1:-1;;;;;10487:21:0;;10479:68;;;;-1:-1:-1;;;10479:68:0;;12810:2:1;10479:68:0;;;12792:21:1;12849:2;12829:18;;;12822:30;12888:34;12868:18;;;12861:62;-1:-1:-1;;;12939:18:1;;;12932:32;12981:19;;10479:68:0;12608:398:1;10479:68:0;-1:-1:-1;;;;;10558:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10610:32;;1361:25:1;;;10610:32:0;;1334:18:1;10610:32:0;;;;;;;10315:335;;;:::o;11401:1973::-;-1:-1:-1;;;;;11489:18:0;;11481:68;;;;-1:-1:-1;;;11481:68:0;;13213:2:1;11481:68:0;;;13195:21:1;13252:2;13232:18;;;13225:30;13291:34;13271:18;;;13264:62;-1:-1:-1;;;13342:18:1;;;13335:35;13387:19;;11481:68:0;13011:401:1;11481:68:0;-1:-1:-1;;;;;11568:16:0;;11560:64;;;;-1:-1:-1;;;11560:64:0;;13619:2:1;11560:64:0;;;13601:21:1;13658:2;13638:18;;;13631:30;13697:34;13677:18;;;13670:62;-1:-1:-1;;;13748:18:1;;;13741:33;13791:19;;11560:64:0;13417:399:1;11560:64:0;11652:1;11643:6;:10;11635:64;;;;-1:-1:-1;;;11635:64:0;;14023:2:1;11635:64:0;;;14005:21:1;14062:2;14042:18;;;14035:30;14101:34;14081:18;;;14074:62;-1:-1:-1;;;14152:18:1;;;14145:39;14201:19;;11635:64:0;13821:405:1;11635:64:0;11710:17;2018:6;;-1:-1:-1;;;;;11744:15:0;;;2018:6;;11744:15;;;;:32;;-1:-1:-1;1991:7:0;2018:6;-1:-1:-1;;;;;11763:13:0;;;2018:6;;11763:13;;11744:32;11740:1278;;;11805:79;11880:3;11805:70;11835:16;;11817:17;;:34;11816:58;;11861:13;;11816:58;;;11853:7;;11816:58;11805:6;;:10;:70::i;:::-;:74;;:79::i;:::-;11913:13;;11793:91;;-1:-1:-1;;;;;;11905:21:0;;;11913:13;;11905:21;:55;;;;-1:-1:-1;11944:15:0;;-1:-1:-1;;;;;11930:30:0;;;11944:15;;11930:30;;11905:55;:83;;;;-1:-1:-1;;;;;;11966:22:0;;;;;;:18;:22;;;;;;;;11964:24;11905:83;11901:321;;;12028:12;;12018:6;:22;;12010:60;;;;-1:-1:-1;;;12010:60:0;;14433:2:1;12010:60:0;;;14415:21:1;14472:2;14452:18;;;14445:30;14511:27;14491:18;;;14484:55;14556:18;;12010:60:0;14231:349:1;12010:60:0;12123:14;;12113:6;12097:13;12107:2;-1:-1:-1;;;;;9460:18:0;9433:7;9460:18;;;:9;:18;;;;;;;9367:119;12097:13;:22;;;;:::i;:::-;:40;;12089:79;;;;-1:-1:-1;;;12089:79:0;;14917:2:1;12089:79:0;;;14899:21:1;14956:2;14936:18;;;14929:30;14995:28;14975:18;;;14968:56;15041:18;;12089:79:0;14715:350:1;12089:79:0;12187:17;:19;;;:17;:19;;;:::i;:::-;;;;;;11901:321;12247:13;;-1:-1:-1;;;;;12241:19:0;;;12247:13;;12241:19;:43;;;;-1:-1:-1;;;;;;12264:20:0;;12279:4;12264:20;;12241:43;12238:177;;;12317:82;12395:3;12317:73;12347:17;;12329;;:35;12328:61;;12375:14;;12328:61;;;12366:8;;12317:6;;:10;:73::i;:82::-;12305:94;;12238:177;12480:4;12431:28;9460:18;;;:9;:18;;;;;;12506:6;;-1:-1:-1;;;12506:6:0;;;;12505:7;:32;;;;-1:-1:-1;12524:13:0;;-1:-1:-1;;;;;12516:21:0;;;12524:13;;12516:21;12505:32;:47;;;;-1:-1:-1;12541:11:0;;-1:-1:-1;;;12541:11:0;;;;12505:47;:89;;;;;12577:17;;12556:20;:38;12505:89;:132;;;;;12616:21;;12598:17;;:39;12505:132;12501:506;;;12658:67;12675:49;12679:6;12686:37;12690:20;12711:11;;12686:3;:37::i;:::-;12675:3;:49::i;:::-;12658:16;:67::i;:::-;12773:21;12816:22;;12813:179;;12848:63;12869:41;12905:4;12869:31;:21;12895:4;12869:25;:31::i;:41::-;12848:20;:63::i;:::-;12934:36;12948:21;12934:13;:36::i;:::-;12639:368;12501:506;11778:1240;11740:1278;13033:11;;13030:161;;13101:4;13083:24;;;;:9;:24;;;;;;:39;;13112:9;13083:28;:39::i;:::-;13076:4;13058:24;;;;:9;:24;;;;;;;:64;;;;13140:39;;-1:-1:-1;;;;;13140:39:0;;;;;;;13169:9;1361:25:1;;1349:2;1334:18;;1215:177;13140:39:0;;;;;;;;13030:161;-1:-1:-1;;;;;13217:15:0;;;;;;:9;:15;;;;;;:27;;13237:6;13217:19;:27::i;:::-;-1:-1:-1;;;;;13201:15:0;;;;;;:9;:15;;;;;:43;13269:40;13287:21;:6;13298:9;13287:10;:21::i;:::-;-1:-1:-1;;;;;13269:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;13255:13:0;;;;;;;:9;:13;;;;;:54;;;;13325:41;;;13344:21;:6;13355:9;13344:10;:21::i;:::-;13325:41;;1361:25:1;;;1349:2;1334:18;13325:41:0;;;;;;;11470:1904;11401:1973;;;:::o;3839:190::-;3925:7;3961:12;3953:6;;;;3945:29;;;;-1:-1:-1;;;3945:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3985:9:0;3997:5;4001:1;3997;:5;:::i;:::-;3985:17;3839:190;-1:-1:-1;;;;;3839:190:0:o;10658:483::-;5626:6;:13;;-1:-1:-1;;;;5626:13:0;-1:-1:-1;;;5626:13:0;;;10760:16:::1;::::0;;10774:1:::1;10760:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10760:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10760:16:0::1;10736:40;;10805:4;10787;10792:1;10787:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10787:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10831:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10831:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10787:7;;10831:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10821:4;10826:1;10821:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10821:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10896:15:::1;::::0;10864:62:::1;::::0;10881:4:::1;::::0;10896:15:::1;10914:11:::0;10864:8:::1;:62::i;:::-;10937:15;::::0;:196:::1;::::0;-1:-1:-1;;;10937:196:0;;-1:-1:-1;;;;;10937:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11018:11;;10937:15:::1;::::0;11060:4;;11087::::1;::::0;11107:15:::1;::::0;10937:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5662:6:0;:14;;-1:-1:-1;;;;5662:14:0;;;-1:-1:-1;;;;10658:483:0:o;4037:246::-;4095:7;4119:1;4124;4119:6;4115:47;;-1:-1:-1;4149:1:0;4142:8;;4115:47;4172:9;4184:5;4188:1;4184;:5;:::i;:::-;4172:17;-1:-1:-1;4217:1:0;4208:5;4212:1;4172:17;4208:5;:::i;:::-;:10;4200:56;;;;-1:-1:-1;;;4200:56:0;;16662:2:1;4200:56:0;;;16644:21:1;16701:2;16681:18;;;16674:30;16740:34;16720:18;;;16713:62;-1:-1:-1;;;16791:18:1;;;16784:31;16832:19;;4200:56:0;16460:397:1;4200:56:0;4274:1;4037:246;-1:-1:-1;;;4037:246:0:o;4291:132::-;4349:7;4376:39;4380:1;4383;4376:39;;;;;;;;;;;;;;;;;:3;:39::i;13382:98::-;13439:7;13466:1;13464;:3;13463:9;;13471:1;13463:9;;;-1:-1:-1;13469:1:0;13382:98;-1:-1:-1;13382:98:0:o;11146:108::-;11211:18;;:35;;-1:-1:-1;;;;;11211:18:0;;;;:35;;;;;11239:6;;11211:18;:35;:18;:35;11239:6;11211:18;:35;;;;;;;;;;;;;;;;;;;3508:179;3566:7;;3598:5;3602:1;3598;:5;:::i;:::-;3586:17;;3627:1;3622;:6;;3614:46;;;;-1:-1:-1;;;3614:46:0;;17064:2:1;3614:46:0;;;17046:21:1;17103:2;17083:18;;;17076:30;17142:29;17122:18;;;17115:57;17189:18;;3614:46:0;16862:351:1;3695:136:0;3753:7;3780:43;3784:1;3787;3780:43;;;;;;;;;;;;;;;;;:3;:43::i;4431:189::-;4517:7;4552:12;4545:5;4537:28;;;;-1:-1:-1;;;4537:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4576:9:0;4588:5;4592:1;4588;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:348::-;2099:8;2109:6;2163:3;2156:4;2148:6;2144:17;2140:27;2130:55;;2181:1;2178;2171:12;2130:55;-1:-1:-1;2204:20:1;;2247:18;2236:30;;2233:50;;;2279:1;2276;2269:12;2233:50;2316:4;2308:6;2304:17;2292:29;;2368:3;2361:4;2352:6;2344;2340:19;2336:30;2333:39;2330:59;;;2385:1;2382;2375:12;2330:59;2047:348;;;;;:::o;2400:1010::-;2513:6;2521;2529;2537;2545;2553;2606:2;2594:9;2585:7;2581:23;2577:32;2574:52;;;2622:1;2619;2612:12;2574:52;2662:9;2649:23;2691:18;2732:2;2724:6;2721:14;2718:34;;;2748:1;2745;2738:12;2718:34;2787:59;2838:7;2829:6;2818:9;2814:22;2787:59;:::i;:::-;2865:8;;-1:-1:-1;2761:85:1;-1:-1:-1;2953:2:1;2938:18;;2925:32;;-1:-1:-1;2969:16:1;;;2966:36;;;2998:1;2995;2988:12;2966:36;3037:61;3090:7;3079:8;3068:9;3064:24;3037:61;:::i;:::-;3117:8;;-1:-1:-1;3011:87:1;-1:-1:-1;3205:2:1;3190:18;;3177:32;;-1:-1:-1;3221:16:1;;;3218:36;;;3250:1;3247;3240:12;3218:36;;3289:61;3342:7;3331:8;3320:9;3316:24;3289:61;:::i;:::-;2400:1010;;;;-1:-1:-1;2400:1010:1;;-1:-1:-1;2400:1010:1;;3369:8;;2400:1010;-1:-1:-1;;;2400:1010:1:o;3415:247::-;3474:6;3527:2;3515:9;3506:7;3502:23;3498:32;3495:52;;;3543:1;3540;3533:12;3495:52;3582:9;3569:23;3601:31;3626:5;3601:31;:::i;3667:180::-;3726:6;3779:2;3767:9;3758:7;3754:23;3750:32;3747:52;;;3795:1;3792;3785:12;3747:52;-1:-1:-1;3818:23:1;;3667:180;-1:-1:-1;3667:180:1:o;4060:388::-;4128:6;4136;4189:2;4177:9;4168:7;4164:23;4160:32;4157:52;;;4205:1;4202;4195:12;4157:52;4244:9;4231:23;4263:31;4288:5;4263:31;:::i;:::-;4313:5;-1:-1:-1;4370:2:1;4355:18;;4342:32;4383:33;4342:32;4383:33;:::i;:::-;4435:7;4425:17;;;4060:388;;;;;:::o;4453:127::-;4514:10;4509:3;4505:20;4502:1;4495:31;4545:4;4542:1;4535:15;4569:4;4566:1;4559:15;4585:416;4674:1;4711:5;4674:1;4725:270;4746:7;4736:8;4733:21;4725:270;;;4805:4;4801:1;4797:6;4793:17;4787:4;4784:27;4781:53;;;4814:18;;:::i;:::-;4864:7;4854:8;4850:22;4847:55;;;4884:16;;;;4847:55;4963:22;;;;4923:15;;;;4725:270;;;4729:3;4585:416;;;;;:::o;5006:806::-;5055:5;5085:8;5075:80;;-1:-1:-1;5126:1:1;5140:5;;5075:80;5174:4;5164:76;;-1:-1:-1;5211:1:1;5225:5;;5164:76;5256:4;5274:1;5269:59;;;;5342:1;5337:130;;;;5249:218;;5269:59;5299:1;5290:10;;5313:5;;;5337:130;5374:3;5364:8;5361:17;5358:43;;;5381:18;;:::i;:::-;-1:-1:-1;;5437:1:1;5423:16;;5452:5;;5249:218;;5551:2;5541:8;5538:16;5532:3;5526:4;5523:13;5519:36;5513:2;5503:8;5500:16;5495:2;5489:4;5486:12;5482:35;5479:77;5476:159;;;-1:-1:-1;5588:19:1;;;5620:5;;5476:159;5667:34;5692:8;5686:4;5667:34;:::i;:::-;5737:6;5733:1;5729:6;5725:19;5716:7;5713:32;5710:58;;;5748:18;;:::i;:::-;5786:20;;5006:806;-1:-1:-1;;;5006:806:1:o;5817:140::-;5875:5;5904:47;5945:4;5935:8;5931:19;5925:4;5904:47;:::i;5962:168::-;6035:9;;;6066;;6083:15;;;6077:22;;6063:37;6053:71;;6104:18;;:::i;6135:356::-;6337:2;6319:21;;;6356:18;;;6349:30;6415:34;6410:2;6395:18;;6388:62;6482:2;6467:18;;6135:356::o;6848:251::-;6918:6;6971:2;6959:9;6950:7;6946:23;6942:32;6939:52;;;6987:1;6984;6977:12;6939:52;7019:9;7013:16;7038:31;7063:5;7038:31;:::i;8025:306::-;8113:6;8121;8129;8182:2;8170:9;8161:7;8157:23;8153:32;8150:52;;;8198:1;8195;8188:12;8150:52;8227:9;8221:16;8211:26;;8277:2;8266:9;8262:18;8256:25;8246:35;;8321:2;8310:9;8306:18;8300:25;8290:35;;8025:306;;;;;:::o;8615:277::-;8682:6;8735:2;8723:9;8714:7;8710:23;8706:32;8703:52;;;8751:1;8748;8741:12;8703:52;8783:9;8777:16;8836:5;8829:13;8822:21;8815:5;8812:32;8802:60;;8858:1;8855;8848:12;8897:127;8958:10;8953:3;8949:20;8946:1;8939:31;8989:4;8986:1;8979:15;9013:4;9010:1;9003:15;9029:380;9108:1;9104:12;;;;9151;;;9172:61;;9226:4;9218:6;9214:17;9204:27;;9172:61;9279:2;9271:6;9268:14;9248:18;9245:38;9242:161;;9325:10;9320:3;9316:20;9313:1;9306:31;9360:4;9357:1;9350:15;9388:4;9385:1;9378:15;9540:518;9642:2;9637:3;9634:11;9631:421;;;9678:5;9675:1;9668:16;9722:4;9719:1;9709:18;9792:2;9780:10;9776:19;9773:1;9769:27;9763:4;9759:38;9828:4;9816:10;9813:20;9810:47;;;-1:-1:-1;9851:4:1;9810:47;9906:2;9901:3;9897:12;9894:1;9890:20;9884:4;9880:31;9870:41;;9961:81;9979:2;9972:5;9969:13;9961:81;;;10038:1;10024:16;;10005:1;9994:13;9961:81;;;9965:3;;9631:421;9540:518;;;:::o;10234:1198::-;10358:18;10353:3;10350:27;10347:53;;;10380:18;;:::i;:::-;10409:94;10499:3;10459:38;10491:4;10485:11;10459:38;:::i;:::-;10453:4;10409:94;:::i;:::-;10529:1;10554:2;10549:3;10546:11;10571:1;10566:608;;;;11218:1;11235:3;11232:93;;;-1:-1:-1;11291:19:1;;;11278:33;11232:93;-1:-1:-1;;10191:1:1;10187:11;;;10183:24;10179:29;10169:40;10215:1;10211:11;;;10166:57;11338:78;;10539:887;;10566:608;9487:1;9480:14;;;9524:4;9511:18;;-1:-1:-1;;10602:17:1;;;10717:229;10731:7;10728:1;10725:14;10717:229;;;10820:19;;;10807:33;10792:49;;10927:4;10912:20;;;;10880:1;10868:14;;;;10747:12;10717:229;;;10721:3;10974;10965:7;10962:16;10959:159;;;11098:1;11094:6;11088:3;11082;11079:1;11075:11;11071:21;11067:34;11063:39;11050:9;11045:3;11041:19;11028:33;11024:79;11016:6;11009:95;10959:159;;;11161:1;11155:3;11152:1;11148:11;11144:19;11138:4;11131:33;10539:887;;10234:1198;;;:::o;11437:217::-;11477:1;11503;11493:132;;11547:10;11542:3;11538:20;11535:1;11528:31;11582:4;11579:1;11572:15;11610:4;11607:1;11600:15;11493:132;-1:-1:-1;11639:9:1;;11437:217::o;12014:184::-;12084:6;12137:2;12125:9;12116:7;12112:23;12108:32;12105:52;;;12153:1;12150;12143:12;12105:52;-1:-1:-1;12176:16:1;;12014:184;-1:-1:-1;12014:184:1:o;14585:125::-;14650:9;;;14671:10;;;14668:36;;;14684:18;;:::i;15070:135::-;15109:3;15130:17;;;15127:43;;15150:18;;:::i;:::-;-1:-1:-1;15197:1:1;15186:13;;15070:135::o;15210:128::-;15277:9;;;15298:11;;;15295:37;;;15312:18;;:::i;15343:127::-;15404:10;15399:3;15395:20;15392:1;15385:31;15435:4;15432:1;15425:15;15459:4;15456:1;15449:15;15475:980;15737:4;15785:3;15774:9;15770:19;15816:6;15805:9;15798:25;15842:2;15880:6;15875:2;15864:9;15860:18;15853:34;15923:3;15918:2;15907:9;15903:18;15896:31;15947:6;15982;15976:13;16013:6;16005;15998:22;16051:3;16040:9;16036:19;16029:26;;16090:2;16082:6;16078:15;16064:29;;16111:1;16121:195;16135:6;16132:1;16129:13;16121:195;;;16200:13;;-1:-1:-1;;;;;16196:39:1;16184:52;;16291:15;;;;16256:12;;;;16232:1;16150:9;16121:195;;;-1:-1:-1;;;;;;;16372:32:1;;;;16367:2;16352:18;;16345:60;-1:-1:-1;;;16436:3:1;16421:19;16414:35;16333:3;15475:980;-1:-1:-1;;;15475:980:1:o

Swarm Source

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