ETH Price: $3,235.21 (-1.83%)

Token

Lion Game (LG)
 

Overview

Max Total Supply

128 LG

Holders

8

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
tnols.eth
Balance
20 LG
0x5C7a9f47B765471173046C1FF98a4eBBD717f51d
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:
LionGame

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-18
*/

pragma solidity ^0.8.0;

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;
    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
        _;
        _status = _NOT_ENTERED;
    }
}

pragma solidity ^0.8.0;

interface IERC721Receiver {
    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) external returns (bytes4);
}


pragma solidity ^0.8.0;

library Address {

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

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

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

pragma solidity ^0.8.0;

library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}

pragma solidity ^0.8.0;

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}


pragma solidity ^0.8.0;

library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}


pragma solidity ^0.8.0;

abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}


pragma solidity ^0.8.0;

interface IERC721 is IERC165 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function approve(address to, uint256 tokenId) external;
    function getApproved(uint256 tokenId) external view returns (address operator);
    function setApprovalForAll(address operator, bool _approved) external;
    function isApprovedForAll(address owner, address operator) external view returns (bool);
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
}


pragma solidity ^0.8.0;

interface IERC721Metadata is IERC721 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function tokenURI(uint256 tokenId) external view returns (string memory);
}


pragma solidity ^0.8.0;
interface IERC721Enumerable is IERC721 {
    function totalSupply() external view returns (uint256);
    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);
    function tokenByIndex(uint256 index) external view returns (uint256);
}

pragma solidity ^0.8.0;
abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

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

pragma solidity ^0.8.0;

abstract contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
    using Address for address;
    string private _name;
    string private _symbol;
    address[] internal _owners;
    mapping(uint256 => address) private _tokenApprovals;
    mapping(address => mapping(address => bool)) private _operatorApprovals;     
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }     
    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
        return
            interfaceId == type(IERC721).interfaceId ||
            interfaceId == type(IERC721Metadata).interfaceId ||
            super.supportsInterface(interfaceId);
    }
    function balanceOf(address owner) public view virtual override returns (uint256) {
        require(owner != address(0), "ERC721: balance query for the zero address");
        uint count = 0;
        uint length = _owners.length;
        for( uint i = 0; i < length; ++i ){
          if( owner == _owners[i] ){
            ++count;
          }
        }
        delete length;
        return count;
    }
    function ownerOf(uint256 tokenId) public view virtual override returns (address) {
        address owner = _owners[tokenId];
        require(owner != address(0), "ERC721: owner query for nonexistent token");
        return owner;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function approve(address to, uint256 tokenId) public virtual override {
        address owner = ERC721.ownerOf(tokenId);
        require(to != owner, "ERC721: approval to current owner");
        require(
            _msgSender() == owner || isApprovedForAll(owner, _msgSender()),
            "ERC721: approve caller is not owner nor approved for all"
        );
        _approve(to, tokenId);
    }
    function getApproved(uint256 tokenId) public view virtual override returns (address) {
        require(_exists(tokenId), "ERC721: approved query for nonexistent token");
        return _tokenApprovals[tokenId];
    }
    function setApprovalForAll(address operator, bool approved) public virtual override {
        require(operator != _msgSender(), "ERC721: approve to caller");
        _operatorApprovals[_msgSender()][operator] = approved;
        emit ApprovalForAll(_msgSender(), operator, approved);
    }
    function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {
        return _operatorApprovals[owner][operator];
    }
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
        _transfer(from, to, tokenId);
    }
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        safeTransferFrom(from, to, tokenId, "");
    }
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
        _safeTransfer(from, to, tokenId, _data);
    }     
    function _safeTransfer(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _transfer(from, to, tokenId);
        require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer");
    }
	function _exists(uint256 tokenId) internal view virtual returns (bool) {
        return tokenId < _owners.length && _owners[tokenId] != address(0);
    }
	function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {
        require(_exists(tokenId), "ERC721: operator query for nonexistent token");
        address owner = ERC721.ownerOf(tokenId);
        return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));
    }
	function _safeMint(address to, uint256 tokenId) internal virtual {
        _safeMint(to, tokenId, "");
    }
	function _safeMint(
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _mint(to, tokenId);
        require(
            _checkOnERC721Received(address(0), to, tokenId, _data),
            "ERC721: transfer to non ERC721Receiver implementer"
        );
    }
	function _mint(address to, uint256 tokenId) internal virtual {
        require(to != address(0), "ERC721: mint to the zero address");
        require(!_exists(tokenId), "ERC721: token already minted");
        _beforeTokenTransfer(address(0), to, tokenId);
        _owners.push(to);
        emit Transfer(address(0), to, tokenId);
    }
	function _burn(uint256 tokenId) internal virtual {
        address owner = ERC721.ownerOf(tokenId);
        _beforeTokenTransfer(owner, address(0), tokenId);
        _approve(address(0), tokenId);
        _owners[tokenId] = address(0);
        emit Transfer(owner, address(0), tokenId);
    }
	function _transfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {
        require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own");
        require(to != address(0), "ERC721: transfer to the zero address");
        _beforeTokenTransfer(from, to, tokenId);
        _approve(address(0), tokenId);
        _owners[tokenId] = to;
        emit Transfer(from, to, tokenId);
    }
	function _approve(address to, uint256 tokenId) internal virtual {
        _tokenApprovals[tokenId] = to;
        emit Approval(ERC721.ownerOf(tokenId), to, tokenId);
    }
	function _checkOnERC721Received(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) private returns (bool) {
        if (to.isContract()) {
            try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) {
                return retval == IERC721Receiver.onERC721Received.selector;
            } catch (bytes memory reason) {
                if (reason.length == 0) {
                    revert("ERC721: transfer to non ERC721Receiver implementer");
                } else {
                    assembly {
                        revert(add(32, reason), mload(reason))
                    }
                }
            }
        } else {
            return true;
        }
    }
	function _beforeTokenTransfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {}
}


pragma solidity ^0.8.0;
abstract contract ERC721Enum is ERC721, IERC721Enumerable {
    function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) {
        return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId);
    }
    function tokenOfOwnerByIndex(address owner, uint256 index) public view override returns (uint256 tokenId) {
        require(index < ERC721.balanceOf(owner), "ERC721Enum: owner ioob");
        uint count;
        for( uint i; i < _owners.length; ++i ){
            if( owner == _owners[i] ){
                if( count == index )
                    return i;
                else
                    ++count;
            }
        }
        require(false, "ERC721Enum: owner ioob");
    }
    function tokensOfOwner(address owner) public view returns (uint256[] memory) {
        require(0 < ERC721.balanceOf(owner), "ERC721Enum: owner ioob");
        uint256 tokenCount = balanceOf(owner);
        uint256[] memory tokenIds = new uint256[](tokenCount);
        for (uint256 i = 0; i < tokenCount; i++) {
            tokenIds[i] = tokenOfOwnerByIndex(owner, i);
        }
        return tokenIds;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _owners.length;
    }
    function tokenByIndex(uint256 index) public view virtual override returns (uint256) {
        require(index < ERC721Enum.totalSupply(), "ERC721Enum: global ioob");
        return index;
    }
}


pragma solidity ^0.8.0;

contract LionGame is ERC721Enum, Ownable, ReentrancyGuard {
	using Strings for uint256;
	string public baseURI;
	//sale settings
	uint256 public cost = 0.05 ether;
	uint256 public maxSupply = 777;
	uint256 public maxMint = 25;
	bool public status = false;

	constructor(
	string memory _name,
	string memory _symbol,
	string memory _initBaseURI
	) ERC721(_name, _symbol){
	setBaseURI(_initBaseURI);
	}
	// internal
	function _baseURI() internal view virtual returns (string memory) {
	return baseURI;
	}
    //free minting
	function freeMint(uint256 _mintAmount) public nonReentrant{
	uint256 s = totalSupply();
    require(!status, "Off" );
	require(_mintAmount > 0, "0" );
	require(_mintAmount <= maxMint, "Too many" );
	require(s + _mintAmount <= maxSupply, "Max" );
	for (uint256 i = 0; i < _mintAmount; ++i) {
	_safeMint(msg.sender, s + i, "");
	}
	delete s;
	}
	// public minting
	function mint(uint256 _mintAmount) public payable nonReentrant{
	uint256 s = totalSupply();
	require(status, "Off" );
	require(_mintAmount > 0, "0" );
	require(_mintAmount <= maxMint, "Too many" );
	require(s + _mintAmount <= maxSupply, "Max" );
	require(msg.value >= cost * _mintAmount);
	for (uint256 i = 0; i < _mintAmount; ++i) {
	_safeMint(msg.sender, s + i, "");
	}
	delete s;
	}
	// admin minting
	function giveAway(address recipient) external onlyOwner{
	uint256 s = totalSupply();
	require(s <= maxSupply, "Max" );
	_safeMint(recipient, s, "" );
	delete s;	
	}
	function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
	require(_exists(tokenId), "ERC721Metadata: Nonexistent token");
	string memory currentBaseURI = _baseURI();
	return bytes(currentBaseURI).length > 0	? string(abi.encodePacked(currentBaseURI, tokenId.toString())) : "";
	}
	function setCost(uint256 _newCost) public onlyOwner {
	cost = _newCost;
	}
	function setMaxMintAmount(uint256 _newMaxMintAmount) public onlyOwner {
	maxMint = _newMaxMintAmount;
	}
	function setBaseURI(string memory _newBaseURI) public onlyOwner {
	baseURI = _newBaseURI;
	}
	function setSaleStatus(bool _status) public onlyOwner {
	status = _status;
	}
	function withdraw() public onlyOwner {
	payable(msg.sender).call{value: address(this).balance}("");
	}
    function setmaxSupply(uint256 _newMaxSupply) public onlyOwner {
	maxSupply = _newMaxSupply;
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_initBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"}],"name":"freeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"giveAway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCost","type":"uint256"}],"name":"setCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxMintAmount","type":"uint256"}],"name":"setMaxMintAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setSaleStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxSupply","type":"uint256"}],"name":"setmaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"status","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405266b1a2bc2ec500006008556103096009556019600a55600b805460ff191690553480156200003157600080fd5b506040516200284f3803806200284f8339810160408190526200005491620002d7565b8251839083906200006d90600090602085019062000186565b5080516200008390600190602084019062000186565b505050620000a06200009a620000b960201b60201c565b620000bd565b6001600655620000b0816200010f565b505050620003ec565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b62000119620000b9565b6001600160a01b03166200012c62000177565b6001600160a01b0316146200015e5760405162461bcd60e51b8152600401620001559062000364565b60405180910390fd5b80516200017390600790602084019062000186565b5050565b6005546001600160a01b031690565b828054620001949062000399565b90600052602060002090601f016020900481019282620001b8576000855562000203565b82601f10620001d357805160ff191683800117855562000203565b8280016001018555821562000203579182015b8281111562000203578251825591602001919060010190620001e6565b506200021192915062000215565b5090565b5b8082111562000211576000815560010162000216565b600082601f8301126200023d578081fd5b81516001600160401b03808211156200025a576200025a620003d6565b6040516020601f8401601f1916820181018381118382101715620002825762000282620003d6565b604052838252858401810187101562000299578485fd5b8492505b83831015620002bc57858301810151828401820152918201916200029d565b83831115620002cd57848185840101525b5095945050505050565b600080600060608486031215620002ec578283fd5b83516001600160401b038082111562000303578485fd5b62000311878388016200022c565b9450602086015191508082111562000327578384fd5b62000335878388016200022c565b935060408601519150808211156200034b578283fd5b506200035a868287016200022c565b9150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600281046001821680620003ae57607f821691505b60208210811415620003d057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61245380620003fc6000396000f3fe6080604052600436106101f95760003560e01c80636c0360eb1161010d5780639e240785116100a0578063c87b56dd1161006f578063c87b56dd1461056f578063d5abeb011461058f578063d897833e146105a4578063e985e9c5146105c4578063f2fde38b146105e4576101f9565b80639e240785146104fc578063a0712d681461051c578063a22cb4651461052f578063b88d4fde1461054f576101f9565b80637c928fe9116100dc5780637c928fe9146104855780638462151c146104a55780638da5cb5b146104d257806395d89b41146104e7576101f9565b80636c0360eb1461042657806370a082311461043b578063715018a61461045b5780637501f74114610470576101f9565b8063228025e81161019057806342842e0e1161015f57806342842e0e1461038657806344a0d68a146103a65780634f6ccce7146103c657806355f804b3146103e65780636352211e14610406576101f9565b8063228025e81461031157806323b872dd146103315780632f745c59146103515780633ccfd60b14610371576101f9565b8063095ea7b3116101cc578063095ea7b3146102a557806313faede6146102c557806318160ddd146102e7578063200d2ed2146102fc576101f9565b806301ffc9a7146101fe57806306fdde0314610234578063081812fc14610256578063088a4ed014610283575b600080fd5b34801561020a57600080fd5b5061021e610219366004611bb0565b610604565b60405161022b9190611d39565b60405180910390f35b34801561024057600080fd5b50610249610631565b60405161022b9190611d44565b34801561026257600080fd5b50610276610271366004611c2e565b6106c3565b60405161022b9190611ca4565b34801561028f57600080fd5b506102a361029e366004611c2e565b61070f565b005b3480156102b157600080fd5b506102a36102c0366004611b6d565b610753565b3480156102d157600080fd5b506102da6107eb565b60405161022b91906122c4565b3480156102f357600080fd5b506102da6107f1565b34801561030857600080fd5b5061021e6107f7565b34801561031d57600080fd5b506102a361032c366004611c2e565b610800565b34801561033d57600080fd5b506102a361034c366004611a90565b610844565b34801561035d57600080fd5b506102da61036c366004611b6d565b61087c565b34801561037d57600080fd5b506102a361093f565b34801561039257600080fd5b506102a36103a1366004611a90565b6109d2565b3480156103b257600080fd5b506102a36103c1366004611c2e565b6109ed565b3480156103d257600080fd5b506102da6103e1366004611c2e565b610a31565b3480156103f257600080fd5b506102a3610401366004611be8565b610a5d565b34801561041257600080fd5b50610276610421366004611c2e565b610ab3565b34801561043257600080fd5b50610249610b0b565b34801561044757600080fd5b506102da610456366004611a44565b610b99565b34801561046757600080fd5b506102a3610c36565b34801561047c57600080fd5b506102da610c81565b34801561049157600080fd5b506102a36104a0366004611c2e565b610c87565b3480156104b157600080fd5b506104c56104c0366004611a44565b610d94565b60405161022b9190611cf5565b3480156104de57600080fd5b50610276610e7a565b3480156104f357600080fd5b50610249610e89565b34801561050857600080fd5b506102a3610517366004611a44565b610e98565b6102a361052a366004611c2e565b610f1f565b34801561053b57600080fd5b506102a361054a366004611b44565b611026565b34801561055b57600080fd5b506102a361056a366004611acb565b6110f4565b34801561057b57600080fd5b5061024961058a366004611c2e565b611133565b34801561059b57600080fd5b506102da6111b6565b3480156105b057600080fd5b506102a36105bf366004611b96565b6111bc565b3480156105d057600080fd5b5061021e6105df366004611a5e565b61120e565b3480156105f057600080fd5b506102a36105ff366004611a44565b61123c565b60006001600160e01b0319821663780e9d6360e01b14806106295750610629826112ad565b90505b919050565b6060600080546106409061235b565b80601f016020809104026020016040519081016040528092919081815260200182805461066c9061235b565b80156106b95780601f1061068e576101008083540402835291602001916106b9565b820191906000526020600020905b81548152906001019060200180831161069c57829003601f168201915b5050505050905090565b60006106ce826112ed565b6106f35760405162461bcd60e51b81526004016106ea9061206e565b60405180910390fd5b506000908152600360205260409020546001600160a01b031690565b610717611345565b6001600160a01b0316610728610e7a565b6001600160a01b03161461074e5760405162461bcd60e51b81526004016106ea906120dc565b600a55565b600061075e82610ab3565b9050806001600160a01b0316836001600160a01b031614156107925760405162461bcd60e51b81526004016106ea906121de565b806001600160a01b03166107a4611345565b6001600160a01b031614806107c057506107c0816105df611345565b6107dc5760405162461bcd60e51b81526004016106ea90611f49565b6107e68383611349565b505050565b60085481565b60025490565b600b5460ff1681565b610808611345565b6001600160a01b0316610819610e7a565b6001600160a01b03161461083f5760405162461bcd60e51b81526004016106ea906120dc565b600955565b61085561084f611345565b826113b7565b6108715760405162461bcd60e51b81526004016106ea9061221f565b6107e683838361143c565b600061088783610b99565b82106108a55760405162461bcd60e51b81526004016106ea9061215a565b6000805b60025481101561092057600281815481106108d457634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b038681169116141561091057838214156109045791506109399050565b61090d82612396565b91505b61091981612396565b90506108a9565b5060405162461bcd60e51b81526004016106ea9061215a565b92915050565b610947611345565b6001600160a01b0316610958610e7a565b6001600160a01b03161461097e5760405162461bcd60e51b81526004016106ea906120dc565b336001600160a01b03164760405161099590611ca1565b60006040518083038185875af1925050503d80600081146107e6576040519150601f19603f3d011682016040523d82523d6000602084013e6107e6565b6107e6838383604051806020016040528060008152506110f4565b6109f5611345565b6001600160a01b0316610a06610e7a565b6001600160a01b031614610a2c5760405162461bcd60e51b81526004016106ea906120dc565b600855565b6000610a3b6107f1565b8210610a595760405162461bcd60e51b81526004016106ea906121a7565b5090565b610a65611345565b6001600160a01b0316610a76610e7a565b6001600160a01b031614610a9c5760405162461bcd60e51b81526004016106ea906120dc565b8051610aaf90600790602084019061191d565b5050565b60008060028381548110610ad757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03169050806106295760405162461bcd60e51b81526004016106ea90611ff0565b60078054610b189061235b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b449061235b565b8015610b915780601f10610b6657610100808354040283529160200191610b91565b820191906000526020600020905b815481529060010190602001808311610b7457829003601f168201915b505050505081565b60006001600160a01b038216610bc15760405162461bcd60e51b81526004016106ea90611fa6565b600254600090815b81811015610c2d5760028181548110610bf257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0386811691161415610c1d57610c1a83612396565b92505b610c2681612396565b9050610bc9565b50909392505050565b610c3e611345565b6001600160a01b0316610c4f610e7a565b6001600160a01b031614610c755760405162461bcd60e51b81526004016106ea906120dc565b610c7f600061152d565b565b600a5481565b60026006541415610caa5760405162461bcd60e51b81526004016106ea9061228d565b60026006556000610cb96107f1565b600b5490915060ff1615610cdf5760405162461bcd60e51b81526004016106ea90612270565b60008211610cff5760405162461bcd60e51b81526004016106ea90611d57565b600a54821115610d215760405162461bcd60e51b81526004016106ea906120ba565b600954610d2e83836122cd565b1115610d4c5760405162461bcd60e51b81526004016106ea9061218a565b60005b82811015610d8a57610d7a33610d6583856122cd565b6040518060200160405280600081525061157f565b610d8381612396565b9050610d4f565b5050600160065550565b6060610d9f82610b99565b600010610dbe5760405162461bcd60e51b81526004016106ea9061215a565b6000610dc983610b99565b905060008167ffffffffffffffff811115610df457634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610e1d578160200160208202803683370190505b50905060005b82811015610e7257610e35858261087c565b828281518110610e5557634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610e6a81612396565b915050610e23565b509392505050565b6005546001600160a01b031690565b6060600180546106409061235b565b610ea0611345565b6001600160a01b0316610eb1610e7a565b6001600160a01b031614610ed75760405162461bcd60e51b81526004016106ea906120dc565b6000610ee16107f1565b9050600954811115610f055760405162461bcd60e51b81526004016106ea9061218a565b610aaf82826040518060200160405280600081525061157f565b60026006541415610f425760405162461bcd60e51b81526004016106ea9061228d565b60026006556000610f516107f1565b600b5490915060ff16610f765760405162461bcd60e51b81526004016106ea90612270565b60008211610f965760405162461bcd60e51b81526004016106ea90611d57565b600a54821115610fb85760405162461bcd60e51b81526004016106ea906120ba565b600954610fc583836122cd565b1115610fe35760405162461bcd60e51b81526004016106ea9061218a565b81600854610ff191906122f9565b341015610ffd57600080fd5b60005b82811015610d8a5761101633610d6583856122cd565b61101f81612396565b9050611000565b61102e611345565b6001600160a01b0316826001600160a01b0316141561105f5760405162461bcd60e51b81526004016106ea90611ec6565b806004600061106c611345565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff1916921515929092179091556110b0611345565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516110e89190611d39565b60405180910390a35050565b6111056110ff611345565b836113b7565b6111215760405162461bcd60e51b81526004016106ea9061221f565b61112d848484846115b2565b50505050565b606061113e826112ed565b61115a5760405162461bcd60e51b81526004016106ea90611d72565b60006111646115e5565b9050600081511161118457604051806020016040528060008152506111af565b8061118e846115f4565b60405160200161119f929190611c72565b6040516020818303038152906040525b9392505050565b60095481565b6111c4611345565b6001600160a01b03166111d5610e7a565b6001600160a01b0316146111fb5760405162461bcd60e51b81526004016106ea906120dc565b600b805460ff1916911515919091179055565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b611244611345565b6001600160a01b0316611255610e7a565b6001600160a01b03161461127b5760405162461bcd60e51b81526004016106ea906120dc565b6001600160a01b0381166112a15760405162461bcd60e51b81526004016106ea90611e05565b6112aa8161152d565b50565b60006001600160e01b031982166380ac58cd60e01b14806112de57506001600160e01b03198216635b5e139f60e01b145b8061062957506106298261170f565b60025460009082108015610629575060006001600160a01b03166002838154811061132857634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141592915050565b3390565b600081815260036020526040902080546001600160a01b0319166001600160a01b038416908117909155819061137e82610ab3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006113c2826112ed565b6113de5760405162461bcd60e51b81526004016106ea90611efd565b60006113e983610ab3565b9050806001600160a01b0316846001600160a01b031614806114245750836001600160a01b0316611419846106c3565b6001600160a01b0316145b806114345750611434818561120e565b949350505050565b826001600160a01b031661144f82610ab3565b6001600160a01b0316146114755760405162461bcd60e51b81526004016106ea90612111565b6001600160a01b03821661149b5760405162461bcd60e51b81526004016106ea90611e82565b6114a68383836107e6565b6114b1600082611349565b81600282815481106114d357634e487b7160e01b600052603260045260246000fd5b6000918252602082200180546001600160a01b0319166001600160a01b03938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6115898383611728565b61159660008484846117fc565b6107e65760405162461bcd60e51b81526004016106ea90611db3565b6115bd84848461143c565b6115c9848484846117fc565b61112d5760405162461bcd60e51b81526004016106ea90611db3565b6060600780546106409061235b565b60608161161957506040805180820190915260018152600360fc1b602082015261062c565b8160005b8115611643578061162d81612396565b915061163c9050600a836122e5565b915061161d565b60008167ffffffffffffffff81111561166c57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611696576020820181803683370190505b5090505b8415611434576116ab600183612318565b91506116b8600a866123b1565b6116c39060306122cd565b60f81b8183815181106116e657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611708600a866122e5565b945061169a565b6001600160e01b031981166301ffc9a760e01b14919050565b6001600160a01b03821661174e5760405162461bcd60e51b81526004016106ea90612039565b611757816112ed565b156117745760405162461bcd60e51b81526004016106ea90611e4b565b611780600083836107e6565b6002805460018101825560009182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0385169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000611810846001600160a01b0316611917565b1561190c57836001600160a01b031663150b7a0261182c611345565b8786866040518563ffffffff1660e01b815260040161184e9493929190611cb8565b602060405180830381600087803b15801561186857600080fd5b505af1925050508015611898575060408051601f3d908101601f1916820190925261189591810190611bcc565b60015b6118f2573d8080156118c6576040519150601f19603f3d011682016040523d82523d6000602084013e6118cb565b606091505b5080516118ea5760405162461bcd60e51b81526004016106ea90611db3565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611434565b506001949350505050565b3b151590565b8280546119299061235b565b90600052602060002090601f01602090048101928261194b5760008555611991565b82601f1061196457805160ff1916838001178555611991565b82800160010185558215611991579182015b82811115611991578251825591602001919060010190611976565b50610a599291505b80821115610a595760008155600101611999565b600067ffffffffffffffff808411156119c8576119c86123f1565b604051601f8501601f1916810160200182811182821017156119ec576119ec6123f1565b604052848152915081838501861015611a0457600080fd5b8484602083013760006020868301015250509392505050565b80356001600160a01b038116811461062c57600080fd5b8035801515811461062c57600080fd5b600060208284031215611a55578081fd5b6111af82611a1d565b60008060408385031215611a70578081fd5b611a7983611a1d565b9150611a8760208401611a1d565b90509250929050565b600080600060608486031215611aa4578081fd5b611aad84611a1d565b9250611abb60208501611a1d565b9150604084013590509250925092565b60008060008060808587031215611ae0578081fd5b611ae985611a1d565b9350611af760208601611a1d565b925060408501359150606085013567ffffffffffffffff811115611b19578182fd5b8501601f81018713611b29578182fd5b611b38878235602084016119ad565b91505092959194509250565b60008060408385031215611b56578182fd5b611b5f83611a1d565b9150611a8760208401611a34565b60008060408385031215611b7f578182fd5b611b8883611a1d565b946020939093013593505050565b600060208284031215611ba7578081fd5b6111af82611a34565b600060208284031215611bc1578081fd5b81356111af81612407565b600060208284031215611bdd578081fd5b81516111af81612407565b600060208284031215611bf9578081fd5b813567ffffffffffffffff811115611c0f578182fd5b8201601f81018413611c1f578182fd5b611434848235602084016119ad565b600060208284031215611c3f578081fd5b5035919050565b60008151808452611c5e81602086016020860161232f565b601f01601f19169290920160200192915050565b60008351611c8481846020880161232f565b835190830190611c9881836020880161232f565b01949350505050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ceb90830184611c46565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611d2d57835183529284019291840191600101611d11565b50909695505050505050565b901515815260200190565b6000602082526111af6020830184611c46565b6020808252600190820152600360fc1b604082015260600190565b60208082526021908201527f4552433732314d657461646174613a204e6f6e6578697374656e7420746f6b656040820152603760f91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b602080825260089082015267546f6f206d616e7960c01b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960408201526839903737ba1037bbb760b91b606082015260800190565b60208082526016908201527522a9219b9918a2b73ab69d1037bbb732b91034b7b7b160511b604082015260600190565b60208082526003908201526209ac2f60eb1b604082015260600190565b60208082526017908201527f455243373231456e756d3a20676c6f62616c20696f6f62000000000000000000604082015260600190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60208082526003908201526227b33360e91b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b90815260200190565b600082198211156122e0576122e06123c5565b500190565b6000826122f4576122f46123db565b500490565b6000816000190483118215151615612313576123136123c5565b500290565b60008282101561232a5761232a6123c5565b500390565b60005b8381101561234a578181015183820152602001612332565b8381111561112d5750506000910152565b60028104600182168061236f57607f821691505b6020821081141561239057634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156123aa576123aa6123c5565b5060010190565b6000826123c0576123c06123db565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146112aa57600080fdfea2646970667358221220d1b5af73d91c5f7b3db497e3a6bef67581ac48f0d8c17b3a7cdea680fdb9db9a64736f6c63430008000033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000094c696f6e2047616d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d68747470733a2f2f6c696f6e67616d652e696f2f6170692f6c696f6e2f000000

Deployed Bytecode

0x6080604052600436106101f95760003560e01c80636c0360eb1161010d5780639e240785116100a0578063c87b56dd1161006f578063c87b56dd1461056f578063d5abeb011461058f578063d897833e146105a4578063e985e9c5146105c4578063f2fde38b146105e4576101f9565b80639e240785146104fc578063a0712d681461051c578063a22cb4651461052f578063b88d4fde1461054f576101f9565b80637c928fe9116100dc5780637c928fe9146104855780638462151c146104a55780638da5cb5b146104d257806395d89b41146104e7576101f9565b80636c0360eb1461042657806370a082311461043b578063715018a61461045b5780637501f74114610470576101f9565b8063228025e81161019057806342842e0e1161015f57806342842e0e1461038657806344a0d68a146103a65780634f6ccce7146103c657806355f804b3146103e65780636352211e14610406576101f9565b8063228025e81461031157806323b872dd146103315780632f745c59146103515780633ccfd60b14610371576101f9565b8063095ea7b3116101cc578063095ea7b3146102a557806313faede6146102c557806318160ddd146102e7578063200d2ed2146102fc576101f9565b806301ffc9a7146101fe57806306fdde0314610234578063081812fc14610256578063088a4ed014610283575b600080fd5b34801561020a57600080fd5b5061021e610219366004611bb0565b610604565b60405161022b9190611d39565b60405180910390f35b34801561024057600080fd5b50610249610631565b60405161022b9190611d44565b34801561026257600080fd5b50610276610271366004611c2e565b6106c3565b60405161022b9190611ca4565b34801561028f57600080fd5b506102a361029e366004611c2e565b61070f565b005b3480156102b157600080fd5b506102a36102c0366004611b6d565b610753565b3480156102d157600080fd5b506102da6107eb565b60405161022b91906122c4565b3480156102f357600080fd5b506102da6107f1565b34801561030857600080fd5b5061021e6107f7565b34801561031d57600080fd5b506102a361032c366004611c2e565b610800565b34801561033d57600080fd5b506102a361034c366004611a90565b610844565b34801561035d57600080fd5b506102da61036c366004611b6d565b61087c565b34801561037d57600080fd5b506102a361093f565b34801561039257600080fd5b506102a36103a1366004611a90565b6109d2565b3480156103b257600080fd5b506102a36103c1366004611c2e565b6109ed565b3480156103d257600080fd5b506102da6103e1366004611c2e565b610a31565b3480156103f257600080fd5b506102a3610401366004611be8565b610a5d565b34801561041257600080fd5b50610276610421366004611c2e565b610ab3565b34801561043257600080fd5b50610249610b0b565b34801561044757600080fd5b506102da610456366004611a44565b610b99565b34801561046757600080fd5b506102a3610c36565b34801561047c57600080fd5b506102da610c81565b34801561049157600080fd5b506102a36104a0366004611c2e565b610c87565b3480156104b157600080fd5b506104c56104c0366004611a44565b610d94565b60405161022b9190611cf5565b3480156104de57600080fd5b50610276610e7a565b3480156104f357600080fd5b50610249610e89565b34801561050857600080fd5b506102a3610517366004611a44565b610e98565b6102a361052a366004611c2e565b610f1f565b34801561053b57600080fd5b506102a361054a366004611b44565b611026565b34801561055b57600080fd5b506102a361056a366004611acb565b6110f4565b34801561057b57600080fd5b5061024961058a366004611c2e565b611133565b34801561059b57600080fd5b506102da6111b6565b3480156105b057600080fd5b506102a36105bf366004611b96565b6111bc565b3480156105d057600080fd5b5061021e6105df366004611a5e565b61120e565b3480156105f057600080fd5b506102a36105ff366004611a44565b61123c565b60006001600160e01b0319821663780e9d6360e01b14806106295750610629826112ad565b90505b919050565b6060600080546106409061235b565b80601f016020809104026020016040519081016040528092919081815260200182805461066c9061235b565b80156106b95780601f1061068e576101008083540402835291602001916106b9565b820191906000526020600020905b81548152906001019060200180831161069c57829003601f168201915b5050505050905090565b60006106ce826112ed565b6106f35760405162461bcd60e51b81526004016106ea9061206e565b60405180910390fd5b506000908152600360205260409020546001600160a01b031690565b610717611345565b6001600160a01b0316610728610e7a565b6001600160a01b03161461074e5760405162461bcd60e51b81526004016106ea906120dc565b600a55565b600061075e82610ab3565b9050806001600160a01b0316836001600160a01b031614156107925760405162461bcd60e51b81526004016106ea906121de565b806001600160a01b03166107a4611345565b6001600160a01b031614806107c057506107c0816105df611345565b6107dc5760405162461bcd60e51b81526004016106ea90611f49565b6107e68383611349565b505050565b60085481565b60025490565b600b5460ff1681565b610808611345565b6001600160a01b0316610819610e7a565b6001600160a01b03161461083f5760405162461bcd60e51b81526004016106ea906120dc565b600955565b61085561084f611345565b826113b7565b6108715760405162461bcd60e51b81526004016106ea9061221f565b6107e683838361143c565b600061088783610b99565b82106108a55760405162461bcd60e51b81526004016106ea9061215a565b6000805b60025481101561092057600281815481106108d457634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b038681169116141561091057838214156109045791506109399050565b61090d82612396565b91505b61091981612396565b90506108a9565b5060405162461bcd60e51b81526004016106ea9061215a565b92915050565b610947611345565b6001600160a01b0316610958610e7a565b6001600160a01b03161461097e5760405162461bcd60e51b81526004016106ea906120dc565b336001600160a01b03164760405161099590611ca1565b60006040518083038185875af1925050503d80600081146107e6576040519150601f19603f3d011682016040523d82523d6000602084013e6107e6565b6107e6838383604051806020016040528060008152506110f4565b6109f5611345565b6001600160a01b0316610a06610e7a565b6001600160a01b031614610a2c5760405162461bcd60e51b81526004016106ea906120dc565b600855565b6000610a3b6107f1565b8210610a595760405162461bcd60e51b81526004016106ea906121a7565b5090565b610a65611345565b6001600160a01b0316610a76610e7a565b6001600160a01b031614610a9c5760405162461bcd60e51b81526004016106ea906120dc565b8051610aaf90600790602084019061191d565b5050565b60008060028381548110610ad757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03169050806106295760405162461bcd60e51b81526004016106ea90611ff0565b60078054610b189061235b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b449061235b565b8015610b915780601f10610b6657610100808354040283529160200191610b91565b820191906000526020600020905b815481529060010190602001808311610b7457829003601f168201915b505050505081565b60006001600160a01b038216610bc15760405162461bcd60e51b81526004016106ea90611fa6565b600254600090815b81811015610c2d5760028181548110610bf257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0386811691161415610c1d57610c1a83612396565b92505b610c2681612396565b9050610bc9565b50909392505050565b610c3e611345565b6001600160a01b0316610c4f610e7a565b6001600160a01b031614610c755760405162461bcd60e51b81526004016106ea906120dc565b610c7f600061152d565b565b600a5481565b60026006541415610caa5760405162461bcd60e51b81526004016106ea9061228d565b60026006556000610cb96107f1565b600b5490915060ff1615610cdf5760405162461bcd60e51b81526004016106ea90612270565b60008211610cff5760405162461bcd60e51b81526004016106ea90611d57565b600a54821115610d215760405162461bcd60e51b81526004016106ea906120ba565b600954610d2e83836122cd565b1115610d4c5760405162461bcd60e51b81526004016106ea9061218a565b60005b82811015610d8a57610d7a33610d6583856122cd565b6040518060200160405280600081525061157f565b610d8381612396565b9050610d4f565b5050600160065550565b6060610d9f82610b99565b600010610dbe5760405162461bcd60e51b81526004016106ea9061215a565b6000610dc983610b99565b905060008167ffffffffffffffff811115610df457634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610e1d578160200160208202803683370190505b50905060005b82811015610e7257610e35858261087c565b828281518110610e5557634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610e6a81612396565b915050610e23565b509392505050565b6005546001600160a01b031690565b6060600180546106409061235b565b610ea0611345565b6001600160a01b0316610eb1610e7a565b6001600160a01b031614610ed75760405162461bcd60e51b81526004016106ea906120dc565b6000610ee16107f1565b9050600954811115610f055760405162461bcd60e51b81526004016106ea9061218a565b610aaf82826040518060200160405280600081525061157f565b60026006541415610f425760405162461bcd60e51b81526004016106ea9061228d565b60026006556000610f516107f1565b600b5490915060ff16610f765760405162461bcd60e51b81526004016106ea90612270565b60008211610f965760405162461bcd60e51b81526004016106ea90611d57565b600a54821115610fb85760405162461bcd60e51b81526004016106ea906120ba565b600954610fc583836122cd565b1115610fe35760405162461bcd60e51b81526004016106ea9061218a565b81600854610ff191906122f9565b341015610ffd57600080fd5b60005b82811015610d8a5761101633610d6583856122cd565b61101f81612396565b9050611000565b61102e611345565b6001600160a01b0316826001600160a01b0316141561105f5760405162461bcd60e51b81526004016106ea90611ec6565b806004600061106c611345565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff1916921515929092179091556110b0611345565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516110e89190611d39565b60405180910390a35050565b6111056110ff611345565b836113b7565b6111215760405162461bcd60e51b81526004016106ea9061221f565b61112d848484846115b2565b50505050565b606061113e826112ed565b61115a5760405162461bcd60e51b81526004016106ea90611d72565b60006111646115e5565b9050600081511161118457604051806020016040528060008152506111af565b8061118e846115f4565b60405160200161119f929190611c72565b6040516020818303038152906040525b9392505050565b60095481565b6111c4611345565b6001600160a01b03166111d5610e7a565b6001600160a01b0316146111fb5760405162461bcd60e51b81526004016106ea906120dc565b600b805460ff1916911515919091179055565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b611244611345565b6001600160a01b0316611255610e7a565b6001600160a01b03161461127b5760405162461bcd60e51b81526004016106ea906120dc565b6001600160a01b0381166112a15760405162461bcd60e51b81526004016106ea90611e05565b6112aa8161152d565b50565b60006001600160e01b031982166380ac58cd60e01b14806112de57506001600160e01b03198216635b5e139f60e01b145b8061062957506106298261170f565b60025460009082108015610629575060006001600160a01b03166002838154811061132857634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141592915050565b3390565b600081815260036020526040902080546001600160a01b0319166001600160a01b038416908117909155819061137e82610ab3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006113c2826112ed565b6113de5760405162461bcd60e51b81526004016106ea90611efd565b60006113e983610ab3565b9050806001600160a01b0316846001600160a01b031614806114245750836001600160a01b0316611419846106c3565b6001600160a01b0316145b806114345750611434818561120e565b949350505050565b826001600160a01b031661144f82610ab3565b6001600160a01b0316146114755760405162461bcd60e51b81526004016106ea90612111565b6001600160a01b03821661149b5760405162461bcd60e51b81526004016106ea90611e82565b6114a68383836107e6565b6114b1600082611349565b81600282815481106114d357634e487b7160e01b600052603260045260246000fd5b6000918252602082200180546001600160a01b0319166001600160a01b03938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6115898383611728565b61159660008484846117fc565b6107e65760405162461bcd60e51b81526004016106ea90611db3565b6115bd84848461143c565b6115c9848484846117fc565b61112d5760405162461bcd60e51b81526004016106ea90611db3565b6060600780546106409061235b565b60608161161957506040805180820190915260018152600360fc1b602082015261062c565b8160005b8115611643578061162d81612396565b915061163c9050600a836122e5565b915061161d565b60008167ffffffffffffffff81111561166c57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611696576020820181803683370190505b5090505b8415611434576116ab600183612318565b91506116b8600a866123b1565b6116c39060306122cd565b60f81b8183815181106116e657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611708600a866122e5565b945061169a565b6001600160e01b031981166301ffc9a760e01b14919050565b6001600160a01b03821661174e5760405162461bcd60e51b81526004016106ea90612039565b611757816112ed565b156117745760405162461bcd60e51b81526004016106ea90611e4b565b611780600083836107e6565b6002805460018101825560009182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0385169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000611810846001600160a01b0316611917565b1561190c57836001600160a01b031663150b7a0261182c611345565b8786866040518563ffffffff1660e01b815260040161184e9493929190611cb8565b602060405180830381600087803b15801561186857600080fd5b505af1925050508015611898575060408051601f3d908101601f1916820190925261189591810190611bcc565b60015b6118f2573d8080156118c6576040519150601f19603f3d011682016040523d82523d6000602084013e6118cb565b606091505b5080516118ea5760405162461bcd60e51b81526004016106ea90611db3565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611434565b506001949350505050565b3b151590565b8280546119299061235b565b90600052602060002090601f01602090048101928261194b5760008555611991565b82601f1061196457805160ff1916838001178555611991565b82800160010185558215611991579182015b82811115611991578251825591602001919060010190611976565b50610a599291505b80821115610a595760008155600101611999565b600067ffffffffffffffff808411156119c8576119c86123f1565b604051601f8501601f1916810160200182811182821017156119ec576119ec6123f1565b604052848152915081838501861015611a0457600080fd5b8484602083013760006020868301015250509392505050565b80356001600160a01b038116811461062c57600080fd5b8035801515811461062c57600080fd5b600060208284031215611a55578081fd5b6111af82611a1d565b60008060408385031215611a70578081fd5b611a7983611a1d565b9150611a8760208401611a1d565b90509250929050565b600080600060608486031215611aa4578081fd5b611aad84611a1d565b9250611abb60208501611a1d565b9150604084013590509250925092565b60008060008060808587031215611ae0578081fd5b611ae985611a1d565b9350611af760208601611a1d565b925060408501359150606085013567ffffffffffffffff811115611b19578182fd5b8501601f81018713611b29578182fd5b611b38878235602084016119ad565b91505092959194509250565b60008060408385031215611b56578182fd5b611b5f83611a1d565b9150611a8760208401611a34565b60008060408385031215611b7f578182fd5b611b8883611a1d565b946020939093013593505050565b600060208284031215611ba7578081fd5b6111af82611a34565b600060208284031215611bc1578081fd5b81356111af81612407565b600060208284031215611bdd578081fd5b81516111af81612407565b600060208284031215611bf9578081fd5b813567ffffffffffffffff811115611c0f578182fd5b8201601f81018413611c1f578182fd5b611434848235602084016119ad565b600060208284031215611c3f578081fd5b5035919050565b60008151808452611c5e81602086016020860161232f565b601f01601f19169290920160200192915050565b60008351611c8481846020880161232f565b835190830190611c9881836020880161232f565b01949350505050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ceb90830184611c46565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611d2d57835183529284019291840191600101611d11565b50909695505050505050565b901515815260200190565b6000602082526111af6020830184611c46565b6020808252600190820152600360fc1b604082015260600190565b60208082526021908201527f4552433732314d657461646174613a204e6f6e6578697374656e7420746f6b656040820152603760f91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b602080825260089082015267546f6f206d616e7960c01b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960408201526839903737ba1037bbb760b91b606082015260800190565b60208082526016908201527522a9219b9918a2b73ab69d1037bbb732b91034b7b7b160511b604082015260600190565b60208082526003908201526209ac2f60eb1b604082015260600190565b60208082526017908201527f455243373231456e756d3a20676c6f62616c20696f6f62000000000000000000604082015260600190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60208082526003908201526227b33360e91b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b90815260200190565b600082198211156122e0576122e06123c5565b500190565b6000826122f4576122f46123db565b500490565b6000816000190483118215151615612313576123136123c5565b500290565b60008282101561232a5761232a6123c5565b500390565b60005b8381101561234a578181015183820152602001612332565b8381111561112d5750506000910152565b60028104600182168061236f57607f821691505b6020821081141561239057634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156123aa576123aa6123c5565b5060010190565b6000826123c0576123c06123db565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146112aa57600080fdfea2646970667358221220d1b5af73d91c5f7b3db497e3a6bef67581ac48f0d8c17b3a7cdea680fdb9db9a64736f6c63430008000033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000094c696f6e2047616d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d68747470733a2f2f6c696f6e67616d652e696f2f6170692f6c696f6e2f000000

-----Decoded View---------------
Arg [0] : _name (string): Lion Game
Arg [1] : _symbol (string): LG
Arg [2] : _initBaseURI (string): https://liongame.io/api/lion/

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 4c696f6e2047616d650000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [6] : 4c47000000000000000000000000000000000000000000000000000000000000
Arg [7] : 000000000000000000000000000000000000000000000000000000000000001d
Arg [8] : 68747470733a2f2f6c696f6e67616d652e696f2f6170692f6c696f6e2f000000


Deployed Bytecode Sourcemap

20216:2404:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18712:224;;;;;;;;;;-1:-1:-1;18712:224:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12994:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;13623:219::-;;;;;;;;;;-1:-1:-1;13623:219:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22123:106::-;;;;;;;;;;-1:-1:-1;22123:106:0;;;;;:::i;:::-;;:::i;:::-;;13210:407;;;;;;;;;;-1:-1:-1;13210:407:0;;;;;:::i;:::-;;:::i;20350:32::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;19870:110::-;;;;;;;;;;;;;:::i;20451:26::-;;;;;;;;;;;;;:::i;22521:96::-;;;;;;;;;;-1:-1:-1;22521:96:0;;;;;:::i;:::-;;:::i;14317:284::-;;;;;;;;;;-1:-1:-1;14317:284:0;;;;;:::i;:::-;;:::i;18942:499::-;;;;;;;;;;-1:-1:-1;18942:499:0;;;;;:::i;:::-;;:::i;22411:104::-;;;;;;;;;;;;;:::i;14607:185::-;;;;;;;;;;-1:-1:-1;14607:185:0;;;;;:::i;:::-;;:::i;22044:76::-;;;;;;;;;;-1:-1:-1;22044:76:0;;;;;:::i;:::-;;:::i;19986:194::-;;;;;;;;;;-1:-1:-1;19986:194:0;;;;;:::i;:::-;;:::i;22232:94::-;;;;;;;;;;-1:-1:-1;22232:94:0;;;;;:::i;:::-;;:::i;12749:239::-;;;;;;;;;;-1:-1:-1;12749:239:0;;;;;:::i;:::-;;:::i;20307:21::-;;;;;;;;;;;;;:::i;12329:414::-;;;;;;;;;;-1:-1:-1;12329:414:0;;;;;:::i;:::-;;:::i;11043:94::-;;;;;;;;;;;;;:::i;20420:27::-;;;;;;;;;;;;;:::i;20761:352::-;;;;;;;;;;-1:-1:-1;20761:352:0;;;;;:::i;:::-;;:::i;19447:417::-;;;;;;;;;;-1:-1:-1;19447:417:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10820:87::-;;;;;;;;;;;;;:::i;13100:104::-;;;;;;;;;;;;;:::i;21554:169::-;;;;;;;;;;-1:-1:-1;21554:169:0;;;;;:::i;:::-;;:::i;21136:396::-;;;;;;:::i;:::-;;:::i;13848:293::-;;;;;;;;;;-1:-1:-1;13848:293:0;;;;;:::i;:::-;;:::i;14798:328::-;;;;;;;;;;-1:-1:-1;14798:328:0;;;;;:::i;:::-;;:::i;21726:315::-;;;;;;;;;;-1:-1:-1;21726:315:0;;;;;:::i;:::-;;:::i;20386:30::-;;;;;;;;;;;;;:::i;22329:79::-;;;;;;;;;;-1:-1:-1;22329:79:0;;;;;:::i;:::-;;:::i;14147:164::-;;;;;;;;;;-1:-1:-1;14147:164:0;;;;;:::i;:::-;;:::i;11145:192::-;;;;;;;;;;-1:-1:-1;11145:192:0;;;;;:::i;:::-;;:::i;18712:224::-;18814:4;-1:-1:-1;;;;;;18838:50:0;;-1:-1:-1;;;18838:50:0;;:90;;;18892:36;18916:11;18892:23;:36::i;:::-;18831:97;;18712:224;;;;:::o;12994:100::-;13048:13;13081:5;13074:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12994:100;:::o;13623:219::-;13699:7;13727:16;13735:7;13727;:16::i;:::-;13719:73;;;;-1:-1:-1;;;13719:73:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;13810:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;13810:24:0;;13623:219::o;22123:106::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;22197:7:::1;:27:::0;22123:106::o;13210:407::-;13291:13;13307:23;13322:7;13307:14;:23::i;:::-;13291:39;;13355:5;-1:-1:-1;;;;;13349:11:0;:2;-1:-1:-1;;;;;13349:11:0;;;13341:57;;;;-1:-1:-1;;;13341:57:0;;;;;;;:::i;:::-;13447:5;-1:-1:-1;;;;;13431:21:0;:12;:10;:12::i;:::-;-1:-1:-1;;;;;13431:21:0;;:62;;;;13456:37;13473:5;13480:12;:10;:12::i;13456:37::-;13409:168;;;;-1:-1:-1;;;13409:168:0;;;;;;;:::i;:::-;13588:21;13597:2;13601:7;13588:8;:21::i;:::-;13210:407;;;:::o;20350:32::-;;;;:::o;19870:110::-;19958:7;:14;19870:110;:::o;20451:26::-;;;;;;:::o;22521:96::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;22587:9:::1;:25:::0;22521:96::o;14317:284::-;14459:41;14478:12;:10;:12::i;:::-;14492:7;14459:18;:41::i;:::-;14451:103;;;;-1:-1:-1;;;14451:103:0;;;;;;;:::i;:::-;14565:28;14575:4;14581:2;14585:7;14565:9;:28::i;18942:499::-;19031:15;19075:23;19092:5;19075:16;:23::i;:::-;19067:5;:31;19059:66;;;;-1:-1:-1;;;19059:66:0;;;;;;;:::i;:::-;19136:10;19162:6;19157:226;19174:7;:14;19170:18;;19157:226;;;19223:7;19231:1;19223:10;;;;;;-1:-1:-1;;;19223:10:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19214:19:0;;;19223:10;;19214:19;19210:162;;;19267:5;19258;:14;19254:102;;;19303:1;-1:-1:-1;19296:8:0;;-1:-1:-1;19296:8:0;19254:102;19349:7;;;:::i;:::-;;;19254:102;19190:3;;;:::i;:::-;;;19157:226;;;-1:-1:-1;19393:40:0;;-1:-1:-1;;;19393:40:0;;;;;;;:::i;18942:499::-;;;;;:::o;22411:104::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;22460:10:::1;-1:-1:-1::0;;;;;22452:24:0::1;22484:21;22452:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14607:185:::0;14745:39;14762:4;14768:2;14772:7;14745:39;;;;;;;;;;;;:16;:39::i;22044:76::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;22100:4:::1;:15:::0;22044:76::o;19986:194::-;20061:7;20097:24;:22;:24::i;:::-;20089:5;:32;20081:68;;;;-1:-1:-1;;;20081:68:0;;;;;;;:::i;:::-;-1:-1:-1;20167:5:0;19986:194::o;22232:94::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;22300:21;;::::1;::::0;:7:::1;::::0;:21:::1;::::0;::::1;::::0;::::1;:::i;:::-;;22232:94:::0;:::o;12749:239::-;12821:7;12841:13;12857:7;12865;12857:16;;;;;;-1:-1:-1;;;12857:16:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12857:16:0;;-1:-1:-1;12892:19:0;12884:73;;;;-1:-1:-1;;;12884:73:0;;;;;;;:::i;20307:21::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12329:414::-;12401:7;-1:-1:-1;;;;;12429:19:0;;12421:74;;;;-1:-1:-1;;;12421:74:0;;;;;;;:::i;:::-;12545:7;:14;12506:10;;;12570:119;12591:6;12587:1;:10;12570:119;;;12630:7;12638:1;12630:10;;;;;;-1:-1:-1;;;12630:10:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12621:19:0;;;12630:10;;12621:19;12617:61;;;12657:7;;;:::i;:::-;;;12617:61;12599:3;;;:::i;:::-;;;12570:119;;;-1:-1:-1;12730:5:0;;12329:414;-1:-1:-1;;;12329:414:0:o;11043:94::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;11108:21:::1;11126:1;11108:9;:21::i;:::-;11043:94::o:0;20420:27::-;;;;:::o;20761:352::-;152:1;298:7;;:19;;290:63;;;;-1:-1:-1;;;290:63:0;;;;;;;:::i;:::-;152:1;364:7;:18;20823:9:::1;20835:13;:11;:13::i;:::-;20864:6;::::0;20823:25;;-1:-1:-1;20864:6:0::1;;20863:7;20855:24;;;;-1:-1:-1::0;;;20855:24:0::1;;;;;;;:::i;:::-;20905:1;20891:11;:15;20883:30;;;;-1:-1:-1::0;;;20883:30:0::1;;;;;;;:::i;:::-;20940:7;;20925:11;:22;;20917:44;;;;-1:-1:-1::0;;;20917:44:0::1;;;;;;;:::i;:::-;20992:9;::::0;20973:15:::1;20977:11:::0;20973:1;:15:::1;:::i;:::-;:28;;20965:45;;;;-1:-1:-1::0;;;20965:45:0::1;;;;;;;:::i;:::-;21019:9;21014:83;21038:11;21034:1;:15;21014:83;;;21060:32;21070:10;21082:5;21086:1:::0;21082;:5:::1;:::i;:::-;21060:32;;;;;;;;;;;::::0;:9:::1;:32::i;:::-;21051:3;::::0;::::1;:::i;:::-;;;21014:83;;;-1:-1:-1::0;;108:1:0;405:7;:22;-1:-1:-1;20761:352:0:o;19447:417::-;19506:16;19547:23;19564:5;19547:16;:23::i;:::-;19543:1;:27;19535:62;;;;-1:-1:-1;;;19535:62:0;;;;;;;:::i;:::-;19608:18;19629:16;19639:5;19629:9;:16::i;:::-;19608:37;;19656:25;19698:10;19684:25;;;;;;-1:-1:-1;;;19684:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19684:25:0;;19656:53;;19725:9;19720:111;19744:10;19740:1;:14;19720:111;;;19790:29;19810:5;19817:1;19790:19;:29::i;:::-;19776:8;19785:1;19776:11;;;;;;-1:-1:-1;;;19776:11:0;;;;;;;;;;;;;;;;;;:43;19756:3;;;;:::i;:::-;;;;19720:111;;;-1:-1:-1;19848:8:0;19447:417;-1:-1:-1;;;19447:417:0:o;10820:87::-;10893:6;;-1:-1:-1;;;;;10893:6:0;10820:87;:::o;13100:104::-;13156:13;13189:7;13182:14;;;;;:::i;21554:169::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;21613:9:::1;21625:13;:11;:13::i;:::-;21613:25;;21655:9;;21650:1;:14;;21642:31;;;;-1:-1:-1::0;;;21642:31:0::1;;;;;;;:::i;:::-;21677:28;21687:9;21698:1;21677:28;;;;;;;;;;;::::0;:9:::1;:28::i;21136:396::-:0;152:1;298:7;;:19;;290:63;;;;-1:-1:-1;;;290:63:0;;;;;;;:::i;:::-;152:1;364:7;:18;21202:9:::1;21214:13;:11;:13::i;:::-;21239:6;::::0;21202:25;;-1:-1:-1;21239:6:0::1;;21231:23;;;;-1:-1:-1::0;;;21231:23:0::1;;;;;;;:::i;:::-;21280:1;21266:11;:15;21258:30;;;;-1:-1:-1::0;;;21258:30:0::1;;;;;;;:::i;:::-;21315:7;;21300:11;:22;;21292:44;;;;-1:-1:-1::0;;;21292:44:0::1;;;;;;;:::i;:::-;21367:9;::::0;21348:15:::1;21352:11:::0;21348:1;:15:::1;:::i;:::-;:28;;21340:45;;;;-1:-1:-1::0;;;21340:45:0::1;;;;;;;:::i;:::-;21417:11;21410:4;;:18;;;;:::i;:::-;21397:9;:31;;21389:40;;;::::0;::::1;;21438:9;21433:83;21457:11;21453:1;:15;21433:83;;;21479:32;21489:10;21501:5;21505:1:::0;21501;:5:::1;:::i;21479:32::-;21470:3;::::0;::::1;:::i;:::-;;;21433:83;;13848:293:::0;13963:12;:10;:12::i;:::-;-1:-1:-1;;;;;13951:24:0;:8;-1:-1:-1;;;;;13951:24:0;;;13943:62;;;;-1:-1:-1;;;13943:62:0;;;;;;;:::i;:::-;14061:8;14016:18;:32;14035:12;:10;:12::i;:::-;-1:-1:-1;;;;;14016:32:0;;;;;;;;;;;;;;;;;-1:-1:-1;14016:32:0;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;14016:53:0;;;;;;;;;;;14100:12;:10;:12::i;:::-;-1:-1:-1;;;;;14085:48:0;;14124:8;14085:48;;;;;;:::i;:::-;;;;;;;;13848:293;;:::o;14798:328::-;14973:41;14992:12;:10;:12::i;:::-;15006:7;14973:18;:41::i;:::-;14965:103;;;;-1:-1:-1;;;14965:103:0;;;;;;;:::i;:::-;15079:39;15093:4;15099:2;15103:7;15112:5;15079:13;:39::i;:::-;14798:328;;;;:::o;21726:315::-;21799:13;21826:16;21834:7;21826;:16::i;:::-;21818:62;;;;-1:-1:-1;;;21818:62:0;;;;;;;:::i;:::-;21884:28;21915:10;:8;:10::i;:::-;21884:41;;21967:1;21942:14;21936:28;:32;:100;;;;;;;;;;;;;;;;;21995:14;22011:18;:7;:16;:18::i;:::-;21978:52;;;;;;;;;:::i;:::-;;;;;;;;;;;;;21936:100;21929:107;21726:315;-1:-1:-1;;;21726:315:0:o;20386:30::-;;;;:::o;22329:79::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;22387:6:::1;:16:::0;;-1:-1:-1;;22387:16:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22329:79::o;14147:164::-;-1:-1:-1;;;;;14268:25:0;;;14244:4;14268:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;14147:164::o;11145:192::-;10966:12;:10;:12::i;:::-;-1:-1:-1;;;;;10955:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;10955:23:0;;10947:68;;;;-1:-1:-1;;;10947:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11234:22:0;::::1;11226:73;;;;-1:-1:-1::0;;;11226:73:0::1;;;;;;;:::i;:::-;11310:19;11320:8;11310:9;:19::i;:::-;11145:192:::0;:::o;12018:305::-;12120:4;-1:-1:-1;;;;;;12157:40:0;;-1:-1:-1;;;12157:40:0;;:105;;-1:-1:-1;;;;;;;12214:48:0;;-1:-1:-1;;;12214:48:0;12157:105;:158;;;;12279:36;12303:11;12279:23;:36::i;15455:155::-;15554:7;:14;15520:4;;15544:24;;:58;;;;;15600:1;-1:-1:-1;;;;;15572:30:0;:7;15580;15572:16;;;;;;-1:-1:-1;;;15572:16:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15572:16:0;:30;;;15455:155;-1:-1:-1;;15455:155:0:o;4292:98::-;4372:10;4292:98;:::o;17508:174::-;17583:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;17583:29:0;-1:-1:-1;;;;;17583:29:0;;;;;;;;:24;;17637:23;17583:24;17637:14;:23::i;:::-;-1:-1:-1;;;;;17628:46:0;;;;;;;;;;;17508:174;;:::o;15613:348::-;15706:4;15731:16;15739:7;15731;:16::i;:::-;15723:73;;;;-1:-1:-1;;;15723:73:0;;;;;;;:::i;:::-;15807:13;15823:23;15838:7;15823:14;:23::i;:::-;15807:39;;15876:5;-1:-1:-1;;;;;15865:16:0;:7;-1:-1:-1;;;;;15865:16:0;;:51;;;;15909:7;-1:-1:-1;;;;;15885:31:0;:20;15897:7;15885:11;:20::i;:::-;-1:-1:-1;;;;;15885:31:0;;15865:51;:87;;;;15920:32;15937:5;15944:7;15920:16;:32::i;:::-;15857:96;15613:348;-1:-1:-1;;;;15613:348:0:o;17047:458::-;17206:4;-1:-1:-1;;;;;17179:31:0;:23;17194:7;17179:14;:23::i;:::-;-1:-1:-1;;;;;17179:31:0;;17171:85;;;;-1:-1:-1;;;17171:85:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17275:16:0;;17267:65;;;;-1:-1:-1;;;17267:65:0;;;;;;;:::i;:::-;17343:39;17364:4;17370:2;17374:7;17343:20;:39::i;:::-;17393:29;17410:1;17414:7;17393:8;:29::i;:::-;17452:2;17433:7;17441;17433:16;;;;;;-1:-1:-1;;;17433:16:0;;;;;;;;;;;;;;;;;:21;;-1:-1:-1;;;;;;17433:21:0;-1:-1:-1;;;;;17433:21:0;;;;;;17470:27;;17489:7;;17470:27;;;;;;;;;;17433:16;17470:27;17047:458;;;:::o;11345:173::-;11420:6;;;-1:-1:-1;;;;;11437:17:0;;;-1:-1:-1;;;;;;11437:17:0;;;;;;;11470:40;;11420:6;;;11437:17;11420:6;;11470:40;;11401:16;;11470:40;11345:173;;:::o;16077:321::-;16207:18;16213:2;16217:7;16207:5;:18::i;:::-;16258:54;16289:1;16293:2;16297:7;16306:5;16258:22;:54::i;:::-;16236:154;;;;-1:-1:-1;;;16236:154:0;;;;;;;:::i;15137:315::-;15294:28;15304:4;15310:2;15314:7;15294:9;:28::i;:::-;15341:48;15364:4;15370:2;15374:7;15383:5;15341:22;:48::i;:::-;15333:111;;;;-1:-1:-1;;;15333:111:0;;;;;;;:::i;20649:89::-;20700:13;20726:7;20719:14;;;;;:::i;4621:532::-;4677:13;4707:10;4703:53;;-1:-1:-1;4734:10:0;;;;;;;;;;;;-1:-1:-1;;;4734:10:0;;;;;;4703:53;4781:5;4766:12;4822:78;4829:9;;4822:78;;4855:8;;;;:::i;:::-;;-1:-1:-1;4878:10:0;;-1:-1:-1;4886:2:0;4878:10;;:::i;:::-;;;4822:78;;;4910:19;4942:6;4932:17;;;;;;-1:-1:-1;;;4932:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4932:17:0;;4910:39;;4960:154;4967:10;;4960:154;;4994:11;5004:1;4994:11;;:::i;:::-;;-1:-1:-1;5063:10:0;5071:2;5063:5;:10;:::i;:::-;5050:24;;:2;:24;:::i;:::-;5037:39;;5020:6;5027;5020:14;;;;;;-1:-1:-1;;;5020:14:0;;;;;;;;;;;;:56;-1:-1:-1;;;;;5020:56:0;;;;;;;;-1:-1:-1;5091:11:0;5100:2;5091:11;;:::i;:::-;;;4960:154;;8614:157;-1:-1:-1;;;;;;8723:40:0;;-1:-1:-1;;;8723:40:0;8614:157;;;:::o;16401:342::-;-1:-1:-1;;;;;16481:16:0;;16473:61;;;;-1:-1:-1;;;16473:61:0;;;;;;;:::i;:::-;16554:16;16562:7;16554;:16::i;:::-;16553:17;16545:58;;;;-1:-1:-1;;;16545:58:0;;;;;;;:::i;:::-;16614:45;16643:1;16647:2;16651:7;16614:20;:45::i;:::-;16670:7;:16;;;;;;;-1:-1:-1;16670:16:0;;;;;;;-1:-1:-1;;;;;;16670:16:0;-1:-1:-1;;;;;16670:16:0;;;;;;;;16702:33;;16727:7;;-1:-1:-1;16702:33:0;;-1:-1:-1;;16702:33:0;16401:342;;:::o;17685:799::-;17840:4;17861:15;:2;-1:-1:-1;;;;;17861:13:0;;:15::i;:::-;17857:620;;;17913:2;-1:-1:-1;;;;;17897:36:0;;17934:12;:10;:12::i;:::-;17948:4;17954:7;17963:5;17897:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17897:72:0;;;;;;;;-1:-1:-1;;17897:72:0;;;;;;;;;;;;:::i;:::-;;;17893:529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18139:13:0;;18135:272;;18182:60;;-1:-1:-1;;;18182:60:0;;;;;;;:::i;18135:272::-;18357:6;18351:13;18342:6;18338:2;18334:15;18327:38;17893:529;-1:-1:-1;;;;;;18020:51:0;-1:-1:-1;;;18020:51:0;;-1:-1:-1;18013:58:0;;17857:620;-1:-1:-1;18461:4:0;17685:799;;;;;;:::o;728:196::-;860:20;908:8;;;728:196::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:607:1;;110:18;151:2;143:6;140:14;137:2;;;157:18;;:::i;:::-;206:2;200:9;279:2;256:17;;-1:-1:-1;;252:31:1;240:44;;286:4;236:55;306:18;;;326:22;;;303:46;300:2;;;352:18;;:::i;:::-;388:2;381:22;436;;;421:6;-1:-1:-1;421:6:1;473:16;;;470:25;-1:-1:-1;467:2:1;;;508:1;505;498:12;467:2;558:6;553:3;546:4;538:6;534:17;521:44;613:1;606:4;597:6;589;585:19;581:30;574:41;;;90:531;;;;;:::o;626:175::-;696:20;;-1:-1:-1;;;;;745:31:1;;735:42;;725:2;;791:1;788;781:12;806:162;873:20;;929:13;;922:21;912:32;;902:2;;958:1;955;948:12;973:198;;1085:2;1073:9;1064:7;1060:23;1056:32;1053:2;;;1106:6;1098;1091:22;1053:2;1134:31;1155:9;1134:31;:::i;1176:274::-;;;1305:2;1293:9;1284:7;1280:23;1276:32;1273:2;;;1326:6;1318;1311:22;1273:2;1354:31;1375:9;1354:31;:::i;:::-;1344:41;;1404:40;1440:2;1429:9;1425:18;1404:40;:::i;:::-;1394:50;;1263:187;;;;;:::o;1455:342::-;;;;1601:2;1589:9;1580:7;1576:23;1572:32;1569:2;;;1622:6;1614;1607:22;1569:2;1650:31;1671:9;1650:31;:::i;:::-;1640:41;;1700:40;1736:2;1725:9;1721:18;1700:40;:::i;:::-;1690:50;;1787:2;1776:9;1772:18;1759:32;1749:42;;1559:238;;;;;:::o;1802:702::-;;;;;1974:3;1962:9;1953:7;1949:23;1945:33;1942:2;;;1996:6;1988;1981:22;1942:2;2024:31;2045:9;2024:31;:::i;:::-;2014:41;;2074:40;2110:2;2099:9;2095:18;2074:40;:::i;:::-;2064:50;;2161:2;2150:9;2146:18;2133:32;2123:42;;2216:2;2205:9;2201:18;2188:32;2243:18;2235:6;2232:30;2229:2;;;2280:6;2272;2265:22;2229:2;2308:22;;2361:4;2353:13;;2349:27;-1:-1:-1;2339:2:1;;2395:6;2387;2380:22;2339:2;2423:75;2490:7;2485:2;2472:16;2467:2;2463;2459:11;2423:75;:::i;:::-;2413:85;;;1932:572;;;;;;;:::o;2509:268::-;;;2635:2;2623:9;2614:7;2610:23;2606:32;2603:2;;;2656:6;2648;2641:22;2603:2;2684:31;2705:9;2684:31;:::i;:::-;2674:41;;2734:37;2767:2;2756:9;2752:18;2734:37;:::i;2782:266::-;;;2911:2;2899:9;2890:7;2886:23;2882:32;2879:2;;;2932:6;2924;2917:22;2879:2;2960:31;2981:9;2960:31;:::i;:::-;2950:41;3038:2;3023:18;;;;3010:32;;-1:-1:-1;;;2869:179:1:o;3053:192::-;;3162:2;3150:9;3141:7;3137:23;3133:32;3130:2;;;3183:6;3175;3168:22;3130:2;3211:28;3229:9;3211:28;:::i;3250:257::-;;3361:2;3349:9;3340:7;3336:23;3332:32;3329:2;;;3382:6;3374;3367:22;3329:2;3426:9;3413:23;3445:32;3471:5;3445:32;:::i;3512:261::-;;3634:2;3622:9;3613:7;3609:23;3605:32;3602:2;;;3655:6;3647;3640:22;3602:2;3692:9;3686:16;3711:32;3737:5;3711:32;:::i;3778:482::-;;3900:2;3888:9;3879:7;3875:23;3871:32;3868:2;;;3921:6;3913;3906:22;3868:2;3966:9;3953:23;3999:18;3991:6;3988:30;3985:2;;;4036:6;4028;4021:22;3985:2;4064:22;;4117:4;4109:13;;4105:27;-1:-1:-1;4095:2:1;;4151:6;4143;4136:22;4095:2;4179:75;4246:7;4241:2;4228:16;4223:2;4219;4215:11;4179:75;:::i;4265:190::-;;4377:2;4365:9;4356:7;4352:23;4348:32;4345:2;;;4398:6;4390;4383:22;4345:2;-1:-1:-1;4426:23:1;;4335:120;-1:-1:-1;4335:120:1:o;4460:259::-;;4541:5;4535:12;4568:6;4563:3;4556:19;4584:63;4640:6;4633:4;4628:3;4624:14;4617:4;4610:5;4606:16;4584:63;:::i;:::-;4701:2;4680:15;-1:-1:-1;;4676:29:1;4667:39;;;;4708:4;4663:50;;4511:208;-1:-1:-1;;4511:208:1:o;4724:470::-;;4941:6;4935:13;4957:53;5003:6;4998:3;4991:4;4983:6;4979:17;4957:53;:::i;:::-;5073:13;;5032:16;;;;5095:57;5073:13;5032:16;5129:4;5117:17;;5095:57;:::i;:::-;5168:20;;4911:283;-1:-1:-1;;;;4911:283:1:o;5199:205::-;5399:3;5390:14::o;5409:203::-;-1:-1:-1;;;;;5573:32:1;;;;5555:51;;5543:2;5528:18;;5510:102::o;5617:490::-;-1:-1:-1;;;;;5886:15:1;;;5868:34;;5938:15;;5933:2;5918:18;;5911:43;5985:2;5970:18;;5963:34;;;6033:3;6028:2;6013:18;;6006:31;;;5617:490;;6054:47;;6081:19;;6073:6;6054:47;:::i;:::-;6046:55;5820:287;-1:-1:-1;;;;;;5820:287:1:o;6112:635::-;6283:2;6335:21;;;6405:13;;6308:18;;;6427:22;;;6112:635;;6283:2;6506:15;;;;6480:2;6465:18;;;6112:635;6552:169;6566:6;6563:1;6560:13;6552:169;;;6627:13;;6615:26;;6696:15;;;;6661:12;;;;6588:1;6581:9;6552:169;;;-1:-1:-1;6738:3:1;;6263:484;-1:-1:-1;;;;;;6263:484:1:o;6752:187::-;6917:14;;6910:22;6892:41;;6880:2;6865:18;;6847:92::o;6944:221::-;;7093:2;7082:9;7075:21;7113:46;7155:2;7144:9;7140:18;7132:6;7113:46;:::i;7170:324::-;7372:2;7354:21;;;7411:1;7391:18;;;7384:29;-1:-1:-1;;;7444:2:1;7429:18;;7422:31;7485:2;7470:18;;7344:150::o;7499:397::-;7701:2;7683:21;;;7740:2;7720:18;;;7713:30;7779:34;7774:2;7759:18;;7752:62;-1:-1:-1;;;7845:2:1;7830:18;;7823:31;7886:3;7871:19;;7673:223::o;7901:414::-;8103:2;8085:21;;;8142:2;8122:18;;;8115:30;8181:34;8176:2;8161:18;;8154:62;-1:-1:-1;;;8247:2:1;8232:18;;8225:48;8305:3;8290:19;;8075:240::o;8320:402::-;8522:2;8504:21;;;8561:2;8541:18;;;8534:30;8600:34;8595:2;8580:18;;8573:62;-1:-1:-1;;;8666:2:1;8651:18;;8644:36;8712:3;8697:19;;8494:228::o;8727:352::-;8929:2;8911:21;;;8968:2;8948:18;;;8941:30;9007;9002:2;8987:18;;8980:58;9070:2;9055:18;;8901:178::o;9084:400::-;9286:2;9268:21;;;9325:2;9305:18;;;9298:30;9364:34;9359:2;9344:18;;9337:62;-1:-1:-1;;;9430:2:1;9415:18;;9408:34;9474:3;9459:19;;9258:226::o;9489:349::-;9691:2;9673:21;;;9730:2;9710:18;;;9703:30;9769:27;9764:2;9749:18;;9742:55;9829:2;9814:18;;9663:175::o;9843:408::-;10045:2;10027:21;;;10084:2;10064:18;;;10057:30;10123:34;10118:2;10103:18;;10096:62;-1:-1:-1;;;10189:2:1;10174:18;;10167:42;10241:3;10226:19;;10017:234::o;10256:420::-;10458:2;10440:21;;;10497:2;10477:18;;;10470:30;10536:34;10531:2;10516:18;;10509:62;10607:26;10602:2;10587:18;;10580:54;10666:3;10651:19;;10430:246::o;10681:406::-;10883:2;10865:21;;;10922:2;10902:18;;;10895:30;10961:34;10956:2;10941:18;;10934:62;-1:-1:-1;;;11027:2:1;11012:18;;11005:40;11077:3;11062:19;;10855:232::o;11092:405::-;11294:2;11276:21;;;11333:2;11313:18;;;11306:30;11372:34;11367:2;11352:18;;11345:62;-1:-1:-1;;;11438:2:1;11423:18;;11416:39;11487:3;11472:19;;11266:231::o;11502:356::-;11704:2;11686:21;;;11723:18;;;11716:30;11782:34;11777:2;11762:18;;11755:62;11849:2;11834:18;;11676:182::o;11863:408::-;12065:2;12047:21;;;12104:2;12084:18;;;12077:30;12143:34;12138:2;12123:18;;12116:62;-1:-1:-1;;;12209:2:1;12194:18;;12187:42;12261:3;12246:19;;12037:234::o;12276:331::-;12478:2;12460:21;;;12517:1;12497:18;;;12490:29;-1:-1:-1;;;12550:2:1;12535:18;;12528:38;12598:2;12583:18;;12450:157::o;12612:356::-;12814:2;12796:21;;;12833:18;;;12826:30;12892:34;12887:2;12872:18;;12865:62;12959:2;12944:18;;12786:182::o;12973:405::-;13175:2;13157:21;;;13214:2;13194:18;;;13187:30;13253:34;13248:2;13233:18;;13226:62;-1:-1:-1;;;13319:2:1;13304:18;;13297:39;13368:3;13353:19;;13147:231::o;13383:346::-;13585:2;13567:21;;;13624:2;13604:18;;;13597:30;-1:-1:-1;;;13658:2:1;13643:18;;13636:52;13720:2;13705:18;;13557:172::o;13734:326::-;13936:2;13918:21;;;13975:1;13955:18;;;13948:29;-1:-1:-1;;;14008:2:1;13993:18;;13986:33;14051:2;14036:18;;13908:152::o;14065:347::-;14267:2;14249:21;;;14306:2;14286:18;;;14279:30;14345:25;14340:2;14325:18;;14318:53;14403:2;14388:18;;14239:173::o;14417:397::-;14619:2;14601:21;;;14658:2;14638:18;;;14631:30;14697:34;14692:2;14677:18;;14670:62;-1:-1:-1;;;14763:2:1;14748:18;;14741:31;14804:3;14789:19;;14591:223::o;14819:413::-;15021:2;15003:21;;;15060:2;15040:18;;;15033:30;15099:34;15094:2;15079:18;;15072:62;-1:-1:-1;;;15165:2:1;15150:18;;15143:47;15222:3;15207:19;;14993:239::o;15237:326::-;15439:2;15421:21;;;15478:1;15458:18;;;15451:29;-1:-1:-1;;;15511:2:1;15496:18;;15489:33;15554:2;15539:18;;15411:152::o;15568:355::-;15770:2;15752:21;;;15809:2;15789:18;;;15782:30;15848:33;15843:2;15828:18;;15821:61;15914:2;15899:18;;15742:181::o;15928:177::-;16074:25;;;16062:2;16047:18;;16029:76::o;16110:128::-;;16181:1;16177:6;16174:1;16171:13;16168:2;;;16187:18;;:::i;:::-;-1:-1:-1;16223:9:1;;16158:80::o;16243:120::-;;16309:1;16299:2;;16314:18;;:::i;:::-;-1:-1:-1;16348:9:1;;16289:74::o;16368:168::-;;16474:1;16470;16466:6;16462:14;16459:1;16456:21;16451:1;16444:9;16437:17;16433:45;16430:2;;;16481:18;;:::i;:::-;-1:-1:-1;16521:9:1;;16420:116::o;16541:125::-;;16609:1;16606;16603:8;16600:2;;;16614:18;;:::i;:::-;-1:-1:-1;16651:9:1;;16590:76::o;16671:258::-;16743:1;16753:113;16767:6;16764:1;16761:13;16753:113;;;16843:11;;;16837:18;16824:11;;;16817:39;16789:2;16782:10;16753:113;;;16884:6;16881:1;16878:13;16875:2;;;-1:-1:-1;;16919:1:1;16901:16;;16894:27;16724:205::o;16934:380::-;17019:1;17009:12;;17066:1;17056:12;;;17077:2;;17131:4;17123:6;17119:17;17109:27;;17077:2;17184;17176:6;17173:14;17153:18;17150:38;17147:2;;;17230:10;17225:3;17221:20;17218:1;17211:31;17265:4;17262:1;17255:15;17293:4;17290:1;17283:15;17147:2;;16989:325;;;:::o;17319:135::-;;-1:-1:-1;;17379:17:1;;17376:2;;;17399:18;;:::i;:::-;-1:-1:-1;17446:1:1;17435:13;;17366:88::o;17459:112::-;;17517:1;17507:2;;17522:18;;:::i;:::-;-1:-1:-1;17556:9:1;;17497:74::o;17576:127::-;17637:10;17632:3;17628:20;17625:1;17618:31;17668:4;17665:1;17658:15;17692:4;17689:1;17682:15;17708:127;17769:10;17764:3;17760:20;17757:1;17750:31;17800:4;17797:1;17790:15;17824:4;17821:1;17814:15;17840:127;17901:10;17896:3;17892:20;17889:1;17882:31;17932:4;17929:1;17922:15;17956:4;17953:1;17946:15;17972:133;-1:-1:-1;;;;;;18048:32:1;;18038:43;;18028:2;;18095:1;18092;18085:12

Swarm Source

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