ETH Price: $2,662.53 (-2.70%)

Token

Somnium Space Avatars (AVATAR)
 

Overview

Max Total Supply

284 AVATAR

Holders

126

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
illservitup2u.eth
Balance
1 AVATAR
0x9e744dd1333ef3d075ac2b7c1d17906d257d6b28
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Somnium Space is an open and social virtual reality world built on the Ethereum blockchain. Buy land, build or import objects, and instantly enjoy or monetize assets. Somnium space is a universe shaped entirely by its community of users. Trade and explore assets using filters like recently listed, scarcity, and size in this OpenSea store.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ERC721FullMock

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 8 of 24: ERC721FullMock.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./ERC721Full.sol";
import "./ERC721Mintable.sol";
import "./ERC721MetadataMintable.sol";
import "./ERC721Burnable.sol";
/**
* @title ERC721FullMock
* This mock just provides public functions for setting metadata URI, getting all tokens of an owner,
* checking token existence, removal of a token from an address
*/
contract ERC721FullMock is ERC721Full, ERC721Mintable, ERC721MetadataMintable, ERC721Burnable {
constructor (string memory name, string memory symbol) public ERC721Mintable() ERC721Full(name, symbol) {
// solhint-disable-previous-line no-empty-blocks
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 1 of 24: Address.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* This test is non-exhaustive, and there may be false-negatives: during the
* execution of a contract's constructor, its address will be reported as
* not containing a contract.
*
* > It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 24: Counters.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./SafeMath.sol";
/**
* @title Counters
* @author Matt Condon (@shrugs)
* @dev Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number
* of elements in a mapping, issuing ERC721 ids, or counting request ids.
*
* Include with `using Counters for Counters.Counter;`
* Since it is not possible to overflow a 256 bit integer with increments of one, `increment` can skip the SafeMath
* overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never
* directly accessed.
*/
library Counters {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 24: ERC165.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./IERC165.sol";
/**
* @dev Implementation of the `IERC165` interface.
*
* Contracts may inherit from this and call `_registerInterface` to declare
* their support of an interface.
*/
contract ERC165 is IERC165 {
/*
* bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7
*/
bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 24: ERC721.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./IERC721.sol";
import "./IERC721Receiver.sol";
import "./SafeMath.sol";
import "./Address.sol";
import "./Counters.sol";
import "./ERC165.sol";
/**
* @title ERC721 Non-Fungible Token Standard basic implementation
* @dev see https://eips.ethereum.org/EIPS/eip-721
*/
contract ERC721 is ERC165, IERC721 {
using SafeMath for uint256;
using Address for address;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 24: ERC721Burnable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./ERC721.sol";
/**
* @title ERC721 Burnable Token
* @dev ERC721 Token that can be irreversibly burned (destroyed).
*/
contract ERC721Burnable is ERC721 {
/**
* @dev Burns a specific ERC721 token.
* @param tokenId uint256 id of the ERC721 token to be burned.
*/
function burn(uint256 tokenId) public {
//solhint-disable-next-line max-line-length
require(_isApprovedOrOwner(msg.sender, tokenId), "ERC721Burnable: caller is not owner nor approved");
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 24: ERC721Enumerable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./IERC721Enumerable.sol";
import "./ERC721.sol";
import "./ERC165.sol";
/**
* @title ERC-721 Non-Fungible Token with optional enumeration extension logic
* @dev See https://eips.ethereum.org/EIPS/eip-721
*/
contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
// Mapping from owner to list of owned token IDs
mapping(address => uint256[]) private _ownedTokens;
// Mapping from token ID to index of the owner tokens list
mapping(uint256 => uint256) private _ownedTokensIndex;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 24: ERC721Full.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./ERC721.sol";
import "./ERC721Enumerable.sol";
import "./ERC721Metadata.sol";
/**
* @title Full ERC721 Token
* This implementation includes all the required and some optional functionality of the ERC721 standard
* Moreover, it includes approve all functionality using operator terminology
* @dev see https://eips.ethereum.org/EIPS/eip-721
*/
contract ERC721Full is ERC721, ERC721Enumerable, ERC721Metadata {
constructor (string memory name, string memory symbol) public ERC721Metadata(name, symbol) {
// solhint-disable-previous-line no-empty-blocks
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 24: ERC721Holder.sol
1
2
3
4
5
6
7
8
9
10
pragma solidity ^0.5.0;
import "./IERC721Receiver.sol";
contract ERC721Holder is IERC721Receiver {
function onERC721Received(address, address, uint256, bytes memory) public returns (bytes4) {
return this.onERC721Received.selector;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 24: ERC721Metadata.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./ERC721.sol";
import "./IERC721Metadata.sol";
import "./ERC165.sol";
contract ERC721Metadata is ERC165, ERC721, IERC721Metadata {
// Token name
string private _name;
// Token symbol
string private _symbol;
// Optional mapping for token URIs
mapping(uint256 => string) private _tokenURIs;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 24: ERC721MetadataMintable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./ERC721Metadata.sol";
import "./MinterRole.sol";
/**
* @title ERC721MetadataMintable
* @dev ERC721 minting logic with metadata.
*/
contract ERC721MetadataMintable is ERC721, ERC721Metadata, MinterRole {
/**
* @dev Function to mint tokens.
* @param to The address that will receive the minted tokens.
* @param tokenId The token id to mint.
* @param tokenURI The token URI of the minted token.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 24: ERC721Mintable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./ERC721.sol";
import "./MinterRole.sol";
/**
* @title ERC721Mintable
* @dev ERC721 minting logic.
*/
contract ERC721Mintable is ERC721, MinterRole {
/**
* @dev Function to mint tokens.
* @param to The address that will receive the minted tokens.
* @param tokenId The token id to mint.
* @return A boolean that indicates if the operation was successful.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 24: ERC721Pausable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./ERC721.sol";
import "./Pausable.sol";
/**
* @title ERC721 Non-Fungible Pausable token
* @dev ERC721 modified with pausable transfers.
*/
contract ERC721Pausable is ERC721, Pausable {
function approve(address to, uint256 tokenId) public whenNotPaused {
super.approve(to, tokenId);
}
function setApprovalForAll(address to, bool approved) public whenNotPaused {
super.setApprovalForAll(to, approved);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 24: IERC165.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
/**
* @dev Interface of the ERC165 standard, as defined in the
* [EIP](https://eips.ethereum.org/EIPS/eip-165).
*
* Implementers can declare support of contract interfaces, which can then be
* queried by others (`ERC165Checker`).
*
* For an implementation, see `ERC165`.
*/
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 15 of 24: IERC721.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./IERC165.sol";
/**
* @dev Required interface of an ERC721 compliant contract.
*/
contract 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);
/**
* @dev Returns the number of NFTs in `owner`'s account.
*/
function balanceOf(address owner) public view returns (uint256 balance);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 16 of 24: IERC721Enumerable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pragma solidity ^0.5.0;
import "./IERC721.sol";
/**
* @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
* @dev See https://eips.ethereum.org/EIPS/eip-721
*/
contract IERC721Enumerable is IERC721 {
function totalSupply() public view returns (uint256);
function tokenOfOwnerByIndex(address owner, uint256 index) public view returns (uint256 tokenId);
function tokenByIndex(uint256 index) public view returns (uint256);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 17 of 24: IERC721Full.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
pragma solidity ^0.5.0;
import "./IERC721.sol";
import "./IERC721Enumerable.sol";
import "./IERC721Metadata.sol";
/**
* @title ERC-721 Non-Fungible Token Standard, full implementation interface
* @dev See https://eips.ethereum.org/EIPS/eip-721
*/
contract IERC721Full is IERC721, IERC721Enumerable, IERC721Metadata {
// solhint-disable-previous-line no-empty-blocks
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 18 of 24: IERC721Metadata.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
pragma solidity ^0.5.0;
import "./IERC721.sol";
/**
* @title ERC-721 Non-Fungible Token Standard, optional metadata extension
* @dev See https://eips.ethereum.org/EIPS/eip-721
*/
contract 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);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 19 of 24: IERC721Receiver.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
/**
* @title ERC721 token receiver interface
* @dev Interface for any contract that wants to support safeTransfers
* from ERC721 asset contracts.
*/
contract IERC721Receiver {
/**
* @notice Handle the receipt of an NFT
* @dev The ERC721 smart contract calls this function on the recipient
* after a `safeTransfer`. This function MUST return the function selector,
* otherwise the caller will revert the transaction. The selector to be
* returned can be obtained as `this.onERC721Received.selector`. This
* function MAY throw to revert and reject the transfer.
* Note: the ERC721 contract address is always the message sender.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 20 of 24: MinterRole.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./Roles.sol";
contract MinterRole {
using Roles for Roles.Role;
event MinterAdded(address indexed account);
event MinterRemoved(address indexed account);
Roles.Role private _minters;
constructor () internal {
_addMinter(msg.sender);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 21 of 24: Pausable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./PauserRole.sol";
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
contract Pausable is PauserRole {
/**
* @dev Emitted when the pause is triggered by a pauser (`account`).
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 22 of 24: PauserRole.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
import "./Roles.sol";
contract PauserRole {
using Roles for Roles.Role;
event PauserAdded(address indexed account);
event PauserRemoved(address indexed account);
Roles.Role private _pausers;
constructor () internal {
_addPauser(msg.sender);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 23 of 24: Roles.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
/**
* @title Roles
* @dev Library for managing addresses assigned to a Role.
*/
library Roles {
struct Role {
mapping (address => bool) bearer;
}
/**
* @dev Give an account access to this role.
*/
function add(Role storage role, address account) internal {
require(!has(role, account), "Roles: account already has role");
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 24 of 24: SafeMath.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pragma solidity ^0.5.0;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenId","type":"uint256"},{"name":"uri","type":"string"}],"name":"setTokenURI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"tokenURI","type":"string"}],"name":"mintWithTokenURI","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokenId","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"operator","type":"address"},{"indexed":false,"name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"}]

60806040523480156200001157600080fd5b5060405162003c5438038062003c54833981018060405260408110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b50509291906020018051640100000000811115620000a257600080fd5b82810190506020810184811115620000b957600080fd5b8151856001820283011164010000000082111715620000d757600080fd5b505092919050505081818181620001206301ffc9a77c0100000000000000000000000000000000000000000000000000000000026200022f640100000000026401000000009004565b6200015d6380ac58cd7c0100000000000000000000000000000000000000000000000000000000026200022f640100000000026401000000009004565b6200019a63780e9d637c0100000000000000000000000000000000000000000000000000000000026200022f640100000000026401000000009004565b8160099080519060200190620001b2929190620005d3565b5080600a9080519060200190620001cb929190620005d3565b5062000209635b5e139f7c0100000000000000000000000000000000000000000000000000000000026200022f640100000000026401000000009004565b50505050620002273362000356640100000000026401000000009004565b505062000682565b63ffffffff7c010000000000000000000000000000000000000000000000000000000002817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614151515620002ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6200037a81600c620003c06401000000000262002e3b179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620003db8282620004af640100000000026401000000009004565b15151562000451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200057c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200061657805160ff191683800117855562000647565b8280016001018555821562000647579182015b828111156200064657825182559160200191906001019062000629565b5b5090506200065691906200065a565b5090565b6200067f91905b808211156200067b57600081600090555060010162000661565b5090565b90565b6135c280620006926000396000f3fe608060405260043610610143576000357c01000000000000000000000000000000000000000000000000000000009004806301ffc9a71461014857806306fdde03146101ba578063081812fc1461024a578063095ea7b3146102c5578063162094c41461032057806318160ddd146103f257806323b872dd1461041d5780632f745c591461049857806340c10f191461050757806342842e0e1461057a57806342966c68146105f55780634f558e79146106305780634f6ccce71461068357806350bb4e7f146106d25780636352211e146107dc57806370a08231146108575780638462151c146108bc57806395d89b4114610962578063983b2d56146109f25780639865027514610a43578063a22cb46514610a5a578063aa271e1a14610ab7578063b88d4fde14610b20578063c87b56dd14610c32578063e985e9c514610ce6575b600080fd5b34801561015457600080fd5b506101a06004803603602081101561016b57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d6f565b604051808215151515815260200191505060405180910390f35b3480156101c657600080fd5b506101cf610dd6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561020f5780820151818401526020810190506101f4565b50505050905090810190601f16801561023c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025657600080fd5b506102836004803603602081101561026d57600080fd5b8101908080359060200190929190505050610e78565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d157600080fd5b5061031e600480360360408110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f58565b005b34801561032c57600080fd5b506103f06004803603604081101561034357600080fd5b81019080803590602001909291908035906020019064010000000081111561036a57600080fd5b82018360208201111561037c57600080fd5b8035906020019184600183028401116401000000008311171561039e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111bb565b005b3480156103fe57600080fd5b506104076111c9565b6040518082815260200191505060405180910390f35b34801561042957600080fd5b506104966004803603606081101561044057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d6565b005b3480156104a457600080fd5b506104f1600480360360408110156104bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128a565b6040518082815260200191505060405180910390f35b34801561051357600080fd5b506105606004803603604081101561052a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611390565b604051808215151515815260200191505060405180910390f35b34801561058657600080fd5b506105f36004803603606081101561059d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611449565b005b34801561060157600080fd5b5061062e6004803603602081101561061857600080fd5b810190808035906020019092919050505061146a565b005b34801561063c57600080fd5b506106696004803603602081101561065357600080fd5b810190808035906020019092919050505061151a565b604051808215151515815260200191505060405180910390f35b34801561068f57600080fd5b506106bc600480360360208110156106a657600080fd5b810190808035906020019092919050505061152c565b6040518082815260200191505060405180910390f35b3480156106de57600080fd5b506107c2600480360360608110156106f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561073c57600080fd5b82018360208201111561074e57600080fd5b8035906020019184600183028401116401000000008311171561077057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506115f3565b604051808215151515815260200191505060405180910390f35b3480156107e857600080fd5b50610815600480360360208110156107ff57600080fd5b81019080803590602001909291905050506116b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086357600080fd5b506108a66004803603602081101561087a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117c4565b6040518082815260200191505060405180910390f35b3480156108c857600080fd5b5061090b600480360360208110156108df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118de565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561094e578082015181840152602081019050610933565b505050509050019250505060405180910390f35b34801561096e57600080fd5b5061097761193f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109b757808201518184015260208101905061099c565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109fe57600080fd5b50610a4160048036036020811015610a1557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e1565b005b348015610a4f57600080fd5b50610a58611a90565b005b348015610a6657600080fd5b50610ab560048036036040811015610a7d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611a9b565b005b348015610ac357600080fd5b50610b0660048036036020811015610ada57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c40565b604051808215151515815260200191505060405180910390f35b348015610b2c57600080fd5b50610c3060048036036080811015610b4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610baa57600080fd5b820183602082011115610bbc57600080fd5b80359060200191846001830284011164010000000083111715610bde57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611c5d565b005b348015610c3e57600080fd5b50610c6b60048036036020811015610c5557600080fd5b8101908080359060200190929190505050611d14565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cab578082015181840152602081019050610c90565b50505050905090810190601f168015610cd85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610cf257600080fd5b50610d5560048036036040811015610d0957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e6c565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e6e5780601f10610e4357610100808354040283529160200191610e6e565b820191906000526020600020905b815481529060010190602001808311610e5157829003601f168201915b5050505050905090565b6000610e8382611f00565b1515610f1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4552433732313a20617070726f76656420717565727920666f72206e6f6e657881526020017f697374656e7420746f6b656e000000000000000000000000000000000000000081525060400191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610f63826116b7565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561102f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6581526020017f720000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061106f575061106e8133611e6c565b5b1515611109576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001807f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7781526020017f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000081525060400191505060405180910390fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6111c58282611f72565b5050565b6000600780549050905090565b6111e03382612041565b151561127a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f81526020017f776e6572206e6f7220617070726f76656400000000000000000000000000000081525060400191505060405180910390fd5b61128583838361217a565b505050565b6000611295836117c4565b82101515611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f455243373231456e756d657261626c653a206f776e657220696e646578206f7581526020017f74206f6620626f756e647300000000000000000000000000000000000000000081525060400191505060405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561137d57fe5b9060005260206000200154905092915050565b600061139b33611c40565b1515611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b61143f838361219e565b6001905092915050565b6114658383836020604051908101604052806000815250611c5d565b505050565b6114743382612041565b151561150e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7781526020017f6e6572206e6f7220617070726f7665640000000000000000000000000000000081525060400191505060405180910390fd5b611517816121bf565b50565b600061152582611f00565b9050919050565b60006115366111c9565b821015156115d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f81526020017f7574206f6620626f756e6473000000000000000000000000000000000000000081525060400191505060405180910390fd5b6007828154811015156115e157fe5b90600052602060002001549050919050565b60006115fe33611c40565b1515611698576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b6116a2848461219e565b6116ac8383611f72565b600190509392505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156117bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f4552433732313a206f776e657220717565727920666f72206e6f6e657869737481526020017f656e7420746f6b656e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f4552433732313a2062616c616e636520717565727920666f7220746865207a6581526020017f726f20616464726573730000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6118d7600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206121d4565b9050919050565b60606118e9826121e2565b80548060200260200160405190810160405280929190818152602001828054801561193357602002820191906000526020600020905b81548152602001906001019080831161191f575b50505050509050919050565b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119d75780601f106119ac576101008083540402835291602001916119d7565b820191906000526020600020905b8154815290600101906020018083116119ba57829003601f168201915b5050505050905090565b6119ea33611c40565b1515611a84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b611a8d8161222a565b50565b611a9933612284565b565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611b3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000611c5682600c6122de90919063ffffffff16565b9050919050565b611c688484846111d6565b611c7484848484612401565b1515611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581526020017f63656976657220696d706c656d656e746572000000000000000000000000000081525060400191505060405180910390fd5b50505050565b6060611d1f82611f00565b1515611db9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4552433732314d657461646174613a2055524920717565727920666f72206e6f81526020017f6e6578697374656e7420746f6b656e000000000000000000000000000000000081525060400191505060405180910390fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e605780601f10611e3557610100808354040283529160200191611e60565b820191906000526020600020905b815481529060010190602001808311611e4357829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b611f7b82611f00565b1515612015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4552433732314d657461646174613a2055524920736574206f66206e6f6e657881526020017f697374656e7420746f6b656e000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600b6000848152602001908152602001600020908051906020019061203c92919061347d565b505050565b600061204c82611f00565b15156120e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657881526020017f697374656e7420746f6b656e000000000000000000000000000000000000000081525060400191505060405180910390fd5b60006120f1836116b7565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061216057508373ffffffffffffffffffffffffffffffffffffffff1661214884610e78565b73ffffffffffffffffffffffffffffffffffffffff16145b8061217157506121708185611e6c565b5b91505092915050565b612185838383612624565b61218f8382612909565b6121998282612aad565b505050565b6121a88282612b74565b6121b28282612aad565b6121bb81612d90565b5050565b6121d16121cb826116b7565b82612ddc565b50565b600081600001549050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050919050565b61223e81600c612e3b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61229881600c612f1890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156123aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006124228473ffffffffffffffffffffffffffffffffffffffff1661301a565b1515612431576001905061261c565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561252857808201518184015260208101905061250d565b50505050905090810190601f1680156125555780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561257757600080fd5b505af115801561258b573d6000803e3d6000fd5b505050506040513d60208110156125a157600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16612644826116b7565b73ffffffffffffffffffffffffffffffffffffffff161415156126f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f4552433732313a207472616e73666572206f6620746f6b656e2074686174206981526020017f73206e6f74206f776e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156127c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4552433732313a207472616e7366657220746f20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6127c98161302d565b612810600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206130ed565b612857600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613110565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006129616001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061312690919063ffffffff16565b90506000600660008481526020019081526020016000205490508181141515612a54576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156129d257fe5b9060005260206000200154905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515612a2c57fe5b9060005260206000200181905550816006600083815260200190815260200160002081905550505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003612aa691906134fd565b5050505050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506006600083815260200190815260200160002081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612c19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b612c2281611f00565b151515612c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612d30600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613110565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6007805490506008600083815260200190815260200160002081905550600781908060018154018082558091505090600182039060005260206000200160009091929091909150555050565b612de682826131b1565b6000600b6000838152602001908152602001600020805460018160011615610100020316600290049050141515612e3757600b60008281526020019081526020016000206000612e369190613529565b5b5050565b612e4582826122de565b151515612eba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b612f2282826122de565b1515612fbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c81526020017f650000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156130ea5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6131056001826000015461312690919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b60008282111515156131a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6131bb82826131eb565b6131c58282612909565b600060066000838152602001908152602001600020819055506131e7816133bf565b5050565b8173ffffffffffffffffffffffffffffffffffffffff1661320b826116b7565b73ffffffffffffffffffffffffffffffffffffffff161415156132bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4552433732313a206275726e206f6620746f6b656e2074686174206973206e6f81526020017f74206f776e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6132c58161302d565b61330c600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206130ed565b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006133da600160078054905061312690919063ffffffff16565b9050600060086000848152602001908152602001600020549050600060078381548110151561340557fe5b906000526020600020015490508060078381548110151561342257fe5b9060005260206000200181905550816008600083815260200190815260200160002081905550600780548091906001900361345d91906134fd565b506000600860008681526020019081526020016000208190555050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106134be57805160ff19168380011785556134ec565b828001600101855582156134ec579182015b828111156134eb5782518255916020019190600101906134d0565b5b5090506134f99190613571565b5090565b815481835581811115613524578183600052602060002091820191016135239190613571565b5b505050565b50805460018160011615610100020316600290046000825580601f1061354f575061356e565b601f01602090049060005260206000209081019061356d9190613571565b5b50565b61359391905b8082111561358f576000816000905550600101613577565b5090565b9056fea165627a7a72305820487b9213b645cd6dc017fd427a7b771e29b63ef0b40bc85fa405ad8ebb8aa0f50029000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000015536f6d6e69756d2053706163652041766174617273000000000000000000000000000000000000000000000000000000000000000000000000000000000000064156415441520000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610143576000357c01000000000000000000000000000000000000000000000000000000009004806301ffc9a71461014857806306fdde03146101ba578063081812fc1461024a578063095ea7b3146102c5578063162094c41461032057806318160ddd146103f257806323b872dd1461041d5780632f745c591461049857806340c10f191461050757806342842e0e1461057a57806342966c68146105f55780634f558e79146106305780634f6ccce71461068357806350bb4e7f146106d25780636352211e146107dc57806370a08231146108575780638462151c146108bc57806395d89b4114610962578063983b2d56146109f25780639865027514610a43578063a22cb46514610a5a578063aa271e1a14610ab7578063b88d4fde14610b20578063c87b56dd14610c32578063e985e9c514610ce6575b600080fd5b34801561015457600080fd5b506101a06004803603602081101561016b57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d6f565b604051808215151515815260200191505060405180910390f35b3480156101c657600080fd5b506101cf610dd6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561020f5780820151818401526020810190506101f4565b50505050905090810190601f16801561023c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025657600080fd5b506102836004803603602081101561026d57600080fd5b8101908080359060200190929190505050610e78565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d157600080fd5b5061031e600480360360408110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f58565b005b34801561032c57600080fd5b506103f06004803603604081101561034357600080fd5b81019080803590602001909291908035906020019064010000000081111561036a57600080fd5b82018360208201111561037c57600080fd5b8035906020019184600183028401116401000000008311171561039e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111bb565b005b3480156103fe57600080fd5b506104076111c9565b6040518082815260200191505060405180910390f35b34801561042957600080fd5b506104966004803603606081101561044057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d6565b005b3480156104a457600080fd5b506104f1600480360360408110156104bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128a565b6040518082815260200191505060405180910390f35b34801561051357600080fd5b506105606004803603604081101561052a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611390565b604051808215151515815260200191505060405180910390f35b34801561058657600080fd5b506105f36004803603606081101561059d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611449565b005b34801561060157600080fd5b5061062e6004803603602081101561061857600080fd5b810190808035906020019092919050505061146a565b005b34801561063c57600080fd5b506106696004803603602081101561065357600080fd5b810190808035906020019092919050505061151a565b604051808215151515815260200191505060405180910390f35b34801561068f57600080fd5b506106bc600480360360208110156106a657600080fd5b810190808035906020019092919050505061152c565b6040518082815260200191505060405180910390f35b3480156106de57600080fd5b506107c2600480360360608110156106f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561073c57600080fd5b82018360208201111561074e57600080fd5b8035906020019184600183028401116401000000008311171561077057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506115f3565b604051808215151515815260200191505060405180910390f35b3480156107e857600080fd5b50610815600480360360208110156107ff57600080fd5b81019080803590602001909291905050506116b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086357600080fd5b506108a66004803603602081101561087a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117c4565b6040518082815260200191505060405180910390f35b3480156108c857600080fd5b5061090b600480360360208110156108df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118de565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561094e578082015181840152602081019050610933565b505050509050019250505060405180910390f35b34801561096e57600080fd5b5061097761193f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109b757808201518184015260208101905061099c565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109fe57600080fd5b50610a4160048036036020811015610a1557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e1565b005b348015610a4f57600080fd5b50610a58611a90565b005b348015610a6657600080fd5b50610ab560048036036040811015610a7d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611a9b565b005b348015610ac357600080fd5b50610b0660048036036020811015610ada57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c40565b604051808215151515815260200191505060405180910390f35b348015610b2c57600080fd5b50610c3060048036036080811015610b4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610baa57600080fd5b820183602082011115610bbc57600080fd5b80359060200191846001830284011164010000000083111715610bde57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611c5d565b005b348015610c3e57600080fd5b50610c6b60048036036020811015610c5557600080fd5b8101908080359060200190929190505050611d14565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cab578082015181840152602081019050610c90565b50505050905090810190601f168015610cd85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610cf257600080fd5b50610d5560048036036040811015610d0957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e6c565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e6e5780601f10610e4357610100808354040283529160200191610e6e565b820191906000526020600020905b815481529060010190602001808311610e5157829003601f168201915b5050505050905090565b6000610e8382611f00565b1515610f1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4552433732313a20617070726f76656420717565727920666f72206e6f6e657881526020017f697374656e7420746f6b656e000000000000000000000000000000000000000081525060400191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610f63826116b7565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561102f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6581526020017f720000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061106f575061106e8133611e6c565b5b1515611109576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001807f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7781526020017f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000081525060400191505060405180910390fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6111c58282611f72565b5050565b6000600780549050905090565b6111e03382612041565b151561127a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f81526020017f776e6572206e6f7220617070726f76656400000000000000000000000000000081525060400191505060405180910390fd5b61128583838361217a565b505050565b6000611295836117c4565b82101515611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f455243373231456e756d657261626c653a206f776e657220696e646578206f7581526020017f74206f6620626f756e647300000000000000000000000000000000000000000081525060400191505060405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561137d57fe5b9060005260206000200154905092915050565b600061139b33611c40565b1515611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b61143f838361219e565b6001905092915050565b6114658383836020604051908101604052806000815250611c5d565b505050565b6114743382612041565b151561150e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7781526020017f6e6572206e6f7220617070726f7665640000000000000000000000000000000081525060400191505060405180910390fd5b611517816121bf565b50565b600061152582611f00565b9050919050565b60006115366111c9565b821015156115d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f81526020017f7574206f6620626f756e6473000000000000000000000000000000000000000081525060400191505060405180910390fd5b6007828154811015156115e157fe5b90600052602060002001549050919050565b60006115fe33611c40565b1515611698576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b6116a2848461219e565b6116ac8383611f72565b600190509392505050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156117bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f4552433732313a206f776e657220717565727920666f72206e6f6e657869737481526020017f656e7420746f6b656e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f4552433732313a2062616c616e636520717565727920666f7220746865207a6581526020017f726f20616464726573730000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6118d7600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206121d4565b9050919050565b60606118e9826121e2565b80548060200260200160405190810160405280929190818152602001828054801561193357602002820191906000526020600020905b81548152602001906001019080831161191f575b50505050509050919050565b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119d75780601f106119ac576101008083540402835291602001916119d7565b820191906000526020600020905b8154815290600101906020018083116119ba57829003601f168201915b5050505050905090565b6119ea33611c40565b1515611a84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766581526020017f20746865204d696e74657220726f6c650000000000000000000000000000000081525060400191505060405180910390fd5b611a8d8161222a565b50565b611a9933612284565b565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611b3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000611c5682600c6122de90919063ffffffff16565b9050919050565b611c688484846111d6565b611c7484848484612401565b1515611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581526020017f63656976657220696d706c656d656e746572000000000000000000000000000081525060400191505060405180910390fd5b50505050565b6060611d1f82611f00565b1515611db9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001807f4552433732314d657461646174613a2055524920717565727920666f72206e6f81526020017f6e6578697374656e7420746f6b656e000000000000000000000000000000000081525060400191505060405180910390fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e605780601f10611e3557610100808354040283529160200191611e60565b820191906000526020600020905b815481529060010190602001808311611e4357829003601f168201915b50505050509050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b611f7b82611f00565b1515612015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4552433732314d657461646174613a2055524920736574206f66206e6f6e657881526020017f697374656e7420746f6b656e000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600b6000848152602001908152602001600020908051906020019061203c92919061347d565b505050565b600061204c82611f00565b15156120e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657881526020017f697374656e7420746f6b656e000000000000000000000000000000000000000081525060400191505060405180910390fd5b60006120f1836116b7565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061216057508373ffffffffffffffffffffffffffffffffffffffff1661214884610e78565b73ffffffffffffffffffffffffffffffffffffffff16145b8061217157506121708185611e6c565b5b91505092915050565b612185838383612624565b61218f8382612909565b6121998282612aad565b505050565b6121a88282612b74565b6121b28282612aad565b6121bb81612d90565b5050565b6121d16121cb826116b7565b82612ddc565b50565b600081600001549050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050919050565b61223e81600c612e3b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61229881600c612f1890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156123aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006124228473ffffffffffffffffffffffffffffffffffffffff1661301a565b1515612431576001905061261c565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561252857808201518184015260208101905061250d565b50505050905090810190601f1680156125555780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561257757600080fd5b505af115801561258b573d6000803e3d6000fd5b505050506040513d60208110156125a157600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16612644826116b7565b73ffffffffffffffffffffffffffffffffffffffff161415156126f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f4552433732313a207472616e73666572206f6620746f6b656e2074686174206981526020017f73206e6f74206f776e000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156127c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4552433732313a207472616e7366657220746f20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6127c98161302d565b612810600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206130ed565b612857600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613110565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006129616001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061312690919063ffffffff16565b90506000600660008481526020019081526020016000205490508181141515612a54576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156129d257fe5b9060005260206000200154905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515612a2c57fe5b9060005260206000200181905550816006600083815260200190815260200160002081905550505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003612aa691906134fd565b5050505050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506006600083815260200190815260200160002081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612c19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b612c2281611f00565b151515612c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612d30600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613110565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6007805490506008600083815260200190815260200160002081905550600781908060018154018082558091505090600182039060005260206000200160009091929091909150555050565b612de682826131b1565b6000600b6000838152602001908152602001600020805460018160011615610100020316600290049050141515612e3757600b60008281526020019081526020016000206000612e369190613529565b5b5050565b612e4582826122de565b151515612eba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b612f2282826122de565b1515612fbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c81526020017f650000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156130ea5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6131056001826000015461312690919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b60008282111515156131a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6131bb82826131eb565b6131c58282612909565b600060066000838152602001908152602001600020819055506131e7816133bf565b5050565b8173ffffffffffffffffffffffffffffffffffffffff1661320b826116b7565b73ffffffffffffffffffffffffffffffffffffffff161415156132bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4552433732313a206275726e206f6620746f6b656e2074686174206973206e6f81526020017f74206f776e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6132c58161302d565b61330c600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206130ed565b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006133da600160078054905061312690919063ffffffff16565b9050600060086000848152602001908152602001600020549050600060078381548110151561340557fe5b906000526020600020015490508060078381548110151561342257fe5b9060005260206000200181905550816008600083815260200190815260200160002081905550600780548091906001900361345d91906134fd565b506000600860008681526020019081526020016000208190555050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106134be57805160ff19168380011785556134ec565b828001600101855582156134ec579182015b828111156134eb5782518255916020019190600101906134d0565b5b5090506134f99190613571565b5090565b815481835581811115613524578183600052602060002091820191016135239190613571565b5b505050565b50805460018160011615610100020316600290046000825580601f1061354f575061356e565b601f01602090049060005260206000209081019061356d9190613571565b5b50565b61359391905b8082111561358f576000816000905550600101613577565b5090565b9056fea165627a7a72305820487b9213b645cd6dc017fd427a7b771e29b63ef0b40bc85fa405ad8ebb8aa0f50029

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000015536f6d6e69756d2053706163652041766174617273000000000000000000000000000000000000000000000000000000000000000000000000000000000000064156415441520000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Somnium Space Avatars
Arg [1] : symbol (string): AVATAR

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000015
Arg [3] : 536f6d6e69756d20537061636520417661746172730000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 4156415441520000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

365:633:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;947:135:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;947:135:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;947:135:2;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1134:85:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1134:85:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1134:85:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4293:204:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4293:204:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4293:204:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3579:421;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3579:421:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3579:421:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;886:109:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;886:109:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;886:109:7;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;886:109:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;886:109:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;886:109:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;886:109:7;;;;;;;;;;;;;;;:::i;:::-;;2167:96:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2167:96:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5970:290:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5970:290:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5970:290:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1776:232:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1776:232:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1776:232:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;443:135:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;443:135:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;443:135:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6906:134:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6906:134:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6906:134:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;334:235:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;334:235:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;334:235:4;;;;;;;;;;;;;;;;;:::i;:::-;;644:102:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;644:102:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;644:102:7;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2609:199:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2609:199:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2609:199:5;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;558:213:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;558:213:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;558:213:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;558:213:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;558:213:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;558:213:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;558:213:10;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2920:228:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2920:228:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2920:228:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2483:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2483:211:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2483:211:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;754:124:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;754:124:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;754:124:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;754:124:7;;;;;;;;;;;;;;;;;1334:89:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1334:89:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1334:89:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:92:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:92:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;584:92:19;;;;;;;;;;;;;;;;;;;:::i;:::-;;684:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;684:77:19;;;:::i;:::-;;4798:248:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4798:248:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4798:248:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;467:109:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;467:109:19;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;467:109:19;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7759:268:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7759:268:3;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7759:268:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7759:268:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7759:268:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7759:268:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7759:268:3;;;;;;;;;;;;;;;:::i;:::-;;1630:205:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1630:205:9;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1630:205:9;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1630:205:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5376:147:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5376:147:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5376:147:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;947:135:2;1017:4;1041:20;:33;1062:11;1041:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1034:40;;947:135;;;:::o;1134:85:9:-;1173:13;1206:5;1199:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1134:85;:::o;4293:204:3:-;4352:7;4380:16;4388:7;4380;:16::i;:::-;4372:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4465:15;:24;4481:7;4465:24;;;;;;;;;;;;;;;;;;;;;4458:31;;4293:204;;;:::o;3579:421::-;3643:13;3659:16;3667:7;3659;:16::i;:::-;3643:32;;3700:5;3694:11;;:2;:11;;;;3686:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3778:5;3764:19;;:10;:19;;;:58;;;;3787:35;3804:5;3811:10;3787:16;:35::i;:::-;3764:58;3756:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3946:2;3919:15;:24;3935:7;3919:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3984:7;3980:2;3964:28;;3973:5;3964:28;;;;;;;;;;;;3579:421;;;:::o;886:109:7:-;961:26;974:7;983:3;961:12;:26::i;:::-;886:109;;:::o;2167:96:5:-;2211:7;2238:10;:17;;;;2231:24;;2167:96;:::o;5970:290:3:-;6114:39;6133:10;6145:7;6114:18;:39::i;:::-;6106:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6220:32;6234:4;6240:2;6244:7;6220:13;:32::i;:::-;5970:290;;;:::o;1776:232:5:-;1856:7;1892:16;1902:5;1892:9;:16::i;:::-;1884:5;:24;1876:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1974:12;:19;1987:5;1974:19;;;;;;;;;;;;;;;1994:5;1974:26;;;;;;;;;;;;;;;;;;1967:33;;1776:232;;;;:::o;443:135:11:-;513:4;366:20:19;375:10;366:8;:20::i;:::-;358:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;530:18:11;536:2;540:7;530:5;:18::i;:::-;566:4;559:11;;443:135;;;;:::o;6906:134:3:-;6993:39;7010:4;7016:2;7020:7;6993:39;;;;;;;;;;;;;:16;:39::i;:::-;6906:134;;;:::o;334:235:4:-;444:39;463:10;475:7;444:18;:39::i;:::-;436:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;547:14;553:7;547:5;:14::i;:::-;334:235;:::o;644:102:7:-;698:4;722:16;730:7;722;:16::i;:::-;715:23;;644:102;;;:::o;2609:199:5:-;2667:7;2703:13;:11;:13::i;:::-;2695:5;:21;2687:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2783:10;2794:5;2783:17;;;;;;;;;;;;;;;;;;2776:24;;2609:199;;;:::o;558:213:10:-;664:4;366:20:19;375:10;366:8;:20::i;:::-;358:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;681:18:10;687:2;691:7;681:5;:18::i;:::-;710:31;723:7;732:8;710:12;:31::i;:::-;759:4;752:11;;558:213;;;;;:::o;2920:228:3:-;2975:7;2995:13;3011:11;:20;3023:7;3011:20;;;;;;;;;;;;;;;;;;;;;2995:36;;3067:1;3050:19;;:5;:19;;;;3042:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3135:5;3128:12;;;2920:228;;;:::o;2483:211::-;2538:7;2583:1;2566:19;;:5;:19;;;;2558:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2652:34;:17;:24;2670:5;2652:24;;;;;;;;;;;;;;;:32;:34::i;:::-;2645:41;;2483:211;;;:::o;754:124:7:-;813:16;849:21;864:5;849:14;:21::i;:::-;842:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:124;;;:::o;1334:89:9:-;1375:13;1408:7;1401:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1334:89;:::o;584:92:19:-;366:20;375:10;366:8;:20::i;:::-;358:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;649:19;660:7;649:10;:19::i;:::-;584:92;:::o;684:77::-;728:25;742:10;728:13;:25::i;:::-;684:77::o;4798:248:3:-;4884:10;4878:16;;:2;:16;;;;4870:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4974:8;4937:18;:30;4956:10;4937:30;;;;;;;;;;;;;;;:34;4968:2;4937:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;5025:2;4998:40;;5013:10;4998:40;;;5029:8;4998:40;;;;;;;;;;;;;;;;;;;;;;4798:248;;:::o;467:109:19:-;523:4;547:21;560:7;547:8;:12;;:21;;;;:::i;:::-;540:28;;467:109;;;:::o;7759:268:3:-;7866:31;7879:4;7885:2;7889:7;7866:12;:31::i;:::-;7916:48;7939:4;7945:2;7949:7;7958:5;7916:22;:48::i;:::-;7908:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7759:268;;;;:::o;1630:205:9:-;1688:13;1722:16;1730:7;1722;:16::i;:::-;1714:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:10;:19;1819:7;1808:19;;;;;;;;;;;1801:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1630:205;;;:::o;5376:147:3:-;5456:4;5480:18;:25;5499:5;5480:25;;;;;;;;;;;;;;;:35;5506:8;5480:35;;;;;;;;;;;;;;;;;;;;;;;;;5473:42;;5376:147;;;;:::o;8229:155::-;8286:4;8303:13;8319:11;:20;8331:7;8319:20;;;;;;;;;;;;;;;;;;;;;8303:36;;8374:1;8357:19;;:5;:19;;;;8350:26;;;8229:155;;;:::o;2082:195:9:-;2168:16;2176:7;2168;:16::i;:::-;2160:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2266:3;2244:10;:19;2255:7;2244:19;;;;;;;;;;;:25;;;;;;;;;;;;:::i;:::-;;2082:195;;:::o;8754:333:3:-;8839:4;8864:16;8872:7;8864;:16::i;:::-;8856:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8940:13;8956:16;8964:7;8956;:16::i;:::-;8940:32;;9002:5;8991:16;;:7;:16;;;:51;;;;9035:7;9011:31;;:20;9023:7;9011:11;:20::i;:::-;:31;;;8991:51;:87;;;;9046:32;9063:5;9070:7;9046:16;:32::i;:::-;8991:87;8983:96;;;8754:333;;;;:::o;3192:245:5:-;3278:38;3298:4;3304:2;3308:7;3278:19;:38::i;:::-;3329:47;3362:4;3368:7;3329:32;:47::i;:::-;3389:40;3417:2;3421:7;3389:27;:40::i;:::-;3192:245;;;:::o;3702:202::-;3766:24;3778:2;3782:7;3766:11;:24::i;:::-;3803:40;3831:2;3835:7;3803:27;:40::i;:::-;3856;3888:7;3856:31;:40::i;:::-;3702:202;;:::o;10480:92:3:-;10532:32;10538:16;10546:7;10538;:16::i;:::-;10556:7;10532:5;:32::i;:::-;10480:92;:::o;1082:114:1:-;1147:7;1174;:14;;;1167:21;;1082:114;;;:::o;4772:126:5:-;4834:17;4871:12;:19;4884:5;4871:19;;;;;;;;;;;;;;;4864:26;;4772:126;;;:::o;769:122:19:-;826:21;839:7;826:8;:12;;:21;;;;:::i;:::-;875:7;863:20;;;;;;;;;;;;769:122;:::o;899:130::-;959:24;975:7;959:8;:15;;:24;;;;:::i;:::-;1013:7;999:22;;;;;;;;;;;;899:130;:::o;810:203:22:-;882:4;926:1;907:21;;:7;:21;;;;899:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;985:4;:11;;:20;997:7;985:20;;;;;;;;;;;;;;;;;;;;;;;;;978:27;;810:203;;;;:::o;12001:356:3:-;12123:4;12150:15;:2;:13;;;:15::i;:::-;12149:16;12145:60;;;12189:4;12182:11;;;;12145:60;12217:13;12249:2;12233:36;;;12270:10;12282:4;12288:7;12297:5;12233:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12233:70:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12233:70:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12233:70:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12233:70:3;;;;;;;;;;;;;;;;12217:86;;685:10;12332:16;;12322:26;;;:6;:26;;;;12314:35;;;12001:356;;;;;;;:::o;10956:459::-;11070:4;11050:24;;:16;11058:7;11050;:16::i;:::-;:24;;;11042:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11153:1;11139:16;;:2;:16;;;;11131:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11209:23;11224:7;11209:14;:23::i;:::-;11245:35;:17;:23;11263:4;11245:23;;;;;;;;;;;;;;;:33;:35::i;:::-;11291:33;:17;:21;11309:2;11291:21;;;;;;;;;;;;;;;:31;:33::i;:::-;11360:2;11337:11;:20;11349:7;11337:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;11399:7;11395:2;11380:27;;11389:4;11380:27;;;;;;;;;;;;10956:459;;;:::o;6375:1148:5:-;6641:22;6666:32;6696:1;6666:12;:18;6679:4;6666:18;;;;;;;;;;;;;;;:25;;;;:29;;:32;;;;:::i;:::-;6641:57;;6709:18;6730:17;:26;6748:7;6730:26;;;;;;;;;;;;6709:47;;6877:14;6863:10;:28;;6859:328;;;6908:19;6930:12;:18;6943:4;6930:18;;;;;;;;;;;;;;;6949:14;6930:34;;;;;;;;;;;;;;;;;;6908:56;;7014:11;6981:12;:18;6994:4;6981:18;;;;;;;;;;;;;;;7000:10;6981:30;;;;;;;;;;;;;;;;;:44;;;;7131:10;7098:17;:30;7116:11;7098:30;;;;;;;;;;;:43;;;;6859:328;;7276:12;:18;7289:4;7276:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:::i;:::-;;6375:1148;;;;:::o;5199:186::-;5313:12;:16;5326:2;5313:16;;;;;;;;;;;;;;;:23;;;;5284:17;:26;5302:7;5284:26;;;;;;;;;;;:52;;;;5347:12;:16;5360:2;5347:16;;;;;;;;;;;;;;;5369:7;5347:30;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;5347:30:5;;;;;;;;;;;;;;;;;;;;;;5199:186;;:::o;9340:335:3:-;9426:1;9412:16;;:2;:16;;;;9404:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9485:16;9493:7;9485;:16::i;:::-;9484:17;9476:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9570:2;9547:11;:20;9559:7;9547:20;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;9583:33;:17;:21;9601:2;9583:21;;;;;;;;;;;;;;;:31;:33::i;:::-;9659:7;9655:2;9634:33;;9651:1;9634:33;;;;;;;;;;;;9340:335;;:::o;5586:164:5:-;5690:10;:17;;;;5663:15;:24;5679:7;5663:24;;;;;;;;;;;:44;;;;5718:10;5734:7;5718:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;5718:24:5;;;;;;;;;;;;;;;;;;;;;;5586:164;:::o;2579:247:9:-;2646:27;2658:5;2665:7;2646:11;:27::i;:::-;2763:1;2732:10;:19;2743:7;2732:19;;;;;;;;;;;2726:33;;;;;;;;;;;;;;;;:38;;2722:97;;;2788:10;:19;2799:7;2788:19;;;;;;;;;;;;2781:26;;;;:::i;:::-;2722:97;2579:247;;:::o;274:178:22:-;352:18;356:4;362:7;352:3;:18::i;:::-;351:19;343:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;440:4;417;:11;;:20;429:7;417:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;274:178;;:::o;532:183::-;612:18;616:4;622:7;612:3;:18::i;:::-;604:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;702:5;679:4;:11;;:20;691:7;679:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;532:183;;:::o;557:422:0:-;617:4;825:12;936:7;924:20;916:28;;970:1;963:4;:8;956:15;;;557:422;;;:::o;12525:175:3:-;12625:1;12589:38;;:15;:24;12605:7;12589:24;;;;;;;;;;;;;;;;;;;;;:38;;;;12585:108;;;12679:1;12644:15;:24;12660:7;12644:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12585:108;12525:175;:::o;1303:110:1:-;1384:21;1403:1;1384:7;:14;;;:18;;:21;;;;:::i;:::-;1367:7;:14;;:38;;;;1303:110;:::o;1204:91::-;1286:1;1268:7;:14;;;:19;;;;;;;;;;;1204:91;:::o;1315:184:23:-;1373:7;1406:1;1401;:6;;1393:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1453:9;1469:1;1465;:5;1453:17;;1490:1;1483:8;;;1315:184;;;;:::o;4188:372:5:-;4255:27;4267:5;4274:7;4255:11;:27::i;:::-;4295:48;4328:5;4335:7;4295:32;:48::i;:::-;4493:1;4464:17;:26;4482:7;4464:26;;;;;;;;;;;:30;;;;4507:45;4544:7;4507:36;:45::i;:::-;4188:372;;:::o;9959:333:3:-;10054:5;10034:25;;:16;10042:7;10034;:16::i;:::-;:25;;;10026:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10114:23;10129:7;10114:14;:23::i;:::-;10150:36;:17;:24;10168:5;10150:24;;;;;;;;;;;;;;;:34;:36::i;:::-;10228:1;10197:11;:20;10209:7;10197:20;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;10276:7;10272:1;10248:36;;10257:5;10248:36;;;;;;;;;;;;9959:333;;:::o;7818:1082:5:-;8071:22;8096:24;8118:1;8096:10;:17;;;;:21;;:24;;;;:::i;:::-;8071:49;;8131:18;8152:15;:24;8168:7;8152:24;;;;;;;;;;;;8131:45;;8503:19;8525:10;8536:14;8525:26;;;;;;;;;;;;;;;;;;8503:48;;8589:11;8564:10;8575;8564:22;;;;;;;;;;;;;;;;;:36;;;;8700:10;8669:15;:28;8685:11;8669:28;;;;;;;;;;;:41;;;;8834:10;:19;;;;;;;;;;;;:::i;:::-;;8891:1;8864:15;:24;8880:7;8864:24;;;;;;;;;;;:28;;;;7818:1082;;;;:::o;365:633:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://487b9213b645cd6dc017fd427a7b771e29b63ef0b40bc85fa405ad8ebb8aa0f5
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.