BscScan - Sponsored slots available. Book your slot here!
BEP-721
Source Code
Overview
Max Total Supply
524,553ERC20 ***
Holders
112,193
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 ERC20 ***Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
FairSharesDailyNFT
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at BscScan.com on 2026-01-26
*/
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.10 <=0.8.20;
interface IERC165 {
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
interface IERC721 is IERC165 {
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
function balanceOf(address owner) external view returns (uint256 balance);
function ownerOf(uint256 tokenId) external view returns (address owner);
function safeTransferFrom(address from, address to, uint256 tokenId) external;
function transferFrom(address from, address to, uint256 tokenId) external;
function approve(address to, uint256 tokenId) external;
function getApproved(uint256 tokenId) external view returns (address operator);
function setApprovalForAll(address operator, bool _approved) external;
function isApprovedForAll(address owner, address operator) external view returns (bool);
function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
}
interface IERC721Receiver {
function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) view external returns (bytes4);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
interface IERC721Metadata is IERC721 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function tokenURI(uint256 tokenId) external view returns (string memory);
}
library Address {
function isContract(address account) internal view returns (bool) {
uint256 size;
assembly {size := extcodesize(account)}
return size > 0;
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
library Strings {
bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
function toString(uint256 value) internal pure returns (string memory) {
if (value == 0) {
return "0";
}
uint256 temp = value;
uint256 digits;
while (temp != 0) {
digits++;
temp /= 10;
}
bytes memory buffer = new bytes(digits);
while (value != 0) {
digits -= 1;
buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
value /= 10;
}
return string(buffer);
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
library Counters {
struct Counter {
uint256 _value;
}
function current(Counter storage counter) internal view returns (uint256) {
return counter._value;
}
function increment(Counter storage counter) internal {
unchecked {counter._value += 1;}
}
}
interface IERC721Enumerable is IERC721 {
function totalSupply() external view returns (uint256);
function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);
function tokenByIndex(uint256 index) external view returns (uint256);
}
contract ReentrancyGuard {
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
modifier nonReentrant() {
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
_status = _ENTERED;
_;
_status = _NOT_ENTERED;
}
}
abstract contract ERC165 is IERC165 {
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
return interfaceId == type(IERC165).interfaceId;
}
}
abstract contract ERC721 is Context, ERC165, IERC721, IERC721Metadata, IERC721Receiver, Ownable {
using Address for address;
using Strings for uint256;
string private _name;
string private _symbol;
mapping(uint256 => address) private _owners;
mapping(address => uint256) private _balances;
mapping(uint256 => address) private _tokenApprovals;
mapping(address => mapping(address => bool)) private _operatorApprovals;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function balanceOf(address owner) public view virtual override returns (uint256) {
require(owner != address(0), "ERC721: balance query for the zero address");
return _balances[owner];
}
function ownerOf(uint256 tokenId) public view virtual override returns (address) {
address owner = _owners[tokenId];
require(owner != address(0), "ERC721: owner query for nonexistent token");
return owner;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
require(_exists(tokenId), "FBXNFT: URI query for nonexistent token");
string memory baseURI = _baseURI();
return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : "";
}
function _baseURI() internal view virtual returns (string memory) {
return "";
}
function approve(address to, uint256 tokenId) public virtual override {
address owner = ERC721.ownerOf(tokenId);
require(to != owner, "ERC721: approval to current owner");
require(_msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all");
_approve(to, tokenId);
}
function getApproved(uint256 tokenId) public view virtual override returns (address) {
require(_exists(tokenId), "ERC721: approved query for nonexistent token");
return _tokenApprovals[tokenId];
}
function setApprovalForAll(address operator, bool approved) public virtual override {
require(operator != _msgSender(), "ERC721: approve to caller");
_operatorApprovals[_msgSender()][operator] = approved;
emit ApprovalForAll(_msgSender(), operator, approved);
}
function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {
return _operatorApprovals[owner][operator];
}
function transferFrom(address from, address to, uint256 tokenId) public virtual override {
require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
_transfer(from, to, tokenId);
}
function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {
safeTransferFrom(from, to, tokenId, "");
}
function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public virtual override {
require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
_safeTransfer(from, to, tokenId, _data);
}
function _safeTransfer(address from, address to, uint256 tokenId, bytes memory _data) internal virtual {
_transfer(from, to, tokenId);
require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer");
}
function _exists(uint256 tokenId) internal view virtual returns (bool) {
return _owners[tokenId] != address(0);
}
function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {
require(_exists(tokenId), "ERC721: operator query for nonexistent token");
address owner = ERC721.ownerOf(tokenId);
return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));
}
function _safeMint(address to, uint256 tokenId) internal virtual {
_safeMint(to, tokenId, "");
}
function _safeMint(address to, uint256 tokenId, bytes memory _data) internal virtual {
_mint(to, tokenId);
require(_checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer");
}
function _mint(address to, uint256 tokenId) internal virtual {
require(to != address(0), "ERC721: mint to the zero address");
require(!_exists(tokenId), "ERC721: token already minted");
_beforeTokenTransfer(address(0), to, tokenId);
_balances[to] += 1;
_owners[tokenId] = to;
emit Transfer(address(0), to, tokenId);
}
function _burn(uint256 tokenId) internal virtual {
address owner = ERC721.ownerOf(tokenId);
_beforeTokenTransfer(owner, address(0), tokenId);
_approve(address(0), tokenId);
_balances[owner] -= 1;
delete _owners[tokenId];
emit Transfer(owner, address(0), tokenId);
}
function _transfer(address from, address to, uint256 tokenId) internal virtual {
require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own");
require(to != address(0), "ERC721: transfer to the zero address");
_beforeTokenTransfer(from, to, tokenId);
_approve(address(0), tokenId);
_balances[from] -= 1;
_balances[to] += 1;
_owners[tokenId] = to;
emit Transfer(from, to, tokenId);
}
function _approve(address to, uint256 tokenId) internal virtual {
_tokenApprovals[tokenId] = to;
emit Approval(ERC721.ownerOf(tokenId), to, tokenId);
}
function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data) private view returns (bool) {
if (to.isContract()) {
try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval){
return retval == IERC721Receiver.onERC721Received.selector;
}
catch (bytes memory reason){
if (reason.length == 0) {
revert("ERC721: transfer to non ERC721Receiver implementer");
}
else {
assembly {revert(add(32, reason), mload(reason))}
}
}
} else {
return true;
}
}
function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
return
interfaceId == type(IERC721).interfaceId ||
interfaceId == type(IERC721Metadata).interfaceId ||
super.supportsInterface(interfaceId);
}
function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual {}
}
abstract contract ERC721Enumerable is ERC721, IERC721Enumerable {
mapping(address => mapping(uint256 => uint256)) private _ownedTokens;
mapping(uint256 => uint256) private _ownedTokensIndex;
uint256[] private _allTokens;
mapping(uint256 => uint256) private _allTokensIndex;
function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) {
require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds");
return _ownedTokens[owner][index];
}
function tokenOfOwner(address owner) public view returns (uint256[] memory) {
uint256 num = ERC721.balanceOf(owner);
uint256[] memory Token_list = new uint256[](uint256(num));
for (uint256 i = 0; i < num; ++i) {
Token_list[i] = _ownedTokens[owner][i];
}
return Token_list;
}
function totalSupply() public view virtual override returns (uint256) {
return _allTokens.length;
}
function tokenByIndex(uint256 index) public view virtual override returns (uint256) {
require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds");
return _allTokens[index];
}
function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual override {
super._beforeTokenTransfer(from, to, tokenId);
if (from == address(0)) {
_addTokenToAllTokensEnumeration(tokenId);
} else if (from != to) {
_removeTokenFromOwnerEnumeration(from, tokenId);
}
if (to == address(0)) {
_removeTokenFromAllTokensEnumeration(tokenId);
} else if (to != from) {
_addTokenToOwnerEnumeration(to, tokenId);
}
}
function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private {
uint256 length = ERC721.balanceOf(to);
_ownedTokens[to][length] = tokenId;
_ownedTokensIndex[tokenId] = length;
}
function _addTokenToAllTokensEnumeration(uint256 tokenId) private {
_allTokensIndex[tokenId] = _allTokens.length;
_allTokens.push(tokenId);
}
function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private {
uint256 lastTokenIndex = ERC721.balanceOf(from) - 1;
uint256 tokenIndex = _ownedTokensIndex[tokenId];
if (tokenIndex != lastTokenIndex) {
uint256 lastTokenId = _ownedTokens[from][lastTokenIndex];
_ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token
_ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index
}
delete _ownedTokensIndex[tokenId];
delete _ownedTokens[from][lastTokenIndex];
}
function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private {
uint256 lastTokenIndex = _allTokens.length - 1;
uint256 tokenIndex = _allTokensIndex[tokenId];
uint256 lastTokenId = _allTokens[lastTokenIndex];
_allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token
_allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index
delete _allTokensIndex[tokenId];
_allTokens.pop();
}
function onERC721Received(address, address, uint256, bytes memory) public view virtual override returns (bytes4) {
return this.onERC721Received.selector;
}
function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) {
return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId);
}
}
contract FairSharesDailyNFT is ERC721Enumerable, ReentrancyGuard {
using Strings for uint256;
using Counters for Counters.Counter;
using SafeMath for uint256;
Counters.Counter private _tokenIds;
string private _baseURIextended = "";
uint public maxSupply = 10**28;
uint public switchMint = 1;
uint public mintLimit = 10**18;
constructor () ERC721("FairSharesDailyNFT", "FSD") {
}
//---view---//
function _baseURI() internal view virtual override returns (string memory) {
return _baseURIextended;
}
function bExistsID(uint256 tokenId) public view returns (bool) {
return _exists(tokenId);
}
function tokenURI(uint256 tokenId) public view virtual override(ERC721) returns (string memory){
require(_exists(tokenId), "URI query for nonexistent token");
string memory base = _baseURI();
if (bytes(base).length != 0)return base;
string memory uri = "ipfs/QmWTDhk4cHPqtR6tGYgqrBdaXyWshVutLQrWXYDyQFfdQo";
return uri;
}
//---White---//
function setBaseURI(string memory jsonStr) public onlyOwner {
_baseURIextended = jsonStr;
return;
}
function mintAddr() external {
require(switchMint > 0,"Mint is not open");
_mintNFT(msg.sender);
return;
}
//---internal---//
function _mintNFT(address to) internal returns (uint256) {
require(super.balanceOf(to) < mintLimit,"Personal limit reached");
_tokenIds.increment();
uint256 newItemId = _tokenIds.current();
require(newItemId <= maxSupply,"Reached the maximum limit");
_mint(to, newItemId);
return newItemId;
}
function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual override {
require(from == address(0) || to == address(0), "can not transfer token!");
super._beforeTokenTransfer(from, to, tokenId);
}
function _burn(uint256 tokenId) internal override(ERC721) {
super._burn(tokenId);
return;
}
function mintAddrsNums(address[] calldata accountArr, uint256[] calldata nums) public onlyOwner {
for (uint256 i = 0; i < accountArr.length; ++i) {
for (uint256 j = 0; j < nums[i]; ++j) {
_mintNFT(accountArr[i]);
}
}
return;
}
function setMaxSupply(uint num) public onlyOwner{
maxSupply = num;
return;
}
function setSwitchMint(uint num) public onlyOwner{
switchMint = num;
return;
}
function setMintLimit(uint num) public onlyOwner{
mintLimit = num;
return;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"bExistsID","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accountArr","type":"address[]"},{"internalType":"uint256[]","name":"nums","type":"uint256[]"}],"name":"mintAddrsNums","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"jsonStr","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"setMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"setMintLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"setSwitchMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"switchMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"tokenOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60a06040525f6080908152600d90620000199082620001b8565b506b204fce5e3e25026110000000600e556001600f55670de0b6b3a764000060105534801562000047575f80fd5b506040518060400160405280601281526020017111985a5c94da185c995cd1185a5b1e53919560721b815250604051806040016040528060038152602001621194d160ea1b8152505f620000a06200011460201b60201c565b5f80546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001620000f78382620001b8565b506002620001068282620001b8565b50506001600b555062000280565b3390565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200014157607f821691505b6020821081036200016057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001b3575f81815260208120601f850160051c810160208610156200018e5750805b601f850160051c820191505b81811015620001af578281556001016200019a565b5050505b505050565b81516001600160401b03811115620001d457620001d462000118565b620001ec81620001e584546200012c565b8462000166565b602080601f83116001811462000222575f84156200020a5750858301515b5f19600386901b1c1916600185901b178555620001af565b5f85815260208120601f198616915b82811015620002525788860151825594840194600190910190840162000231565b50858210156200027057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b611f5b806200028e5f395ff3fe608060405234801561000f575f80fd5b50600436106101dc575f3560e01c80636352211e116101095780639e6a1d7d1161009e578063c87b56dd1161006e578063c87b56dd146103ff578063d5abeb0114610412578063e985e9c51461041b578063f2fde38b14610456575f80fd5b80639e6a1d7d146103b3578063a22cb465146103c6578063b88d4fde146103d9578063c846cf3d146103ec575f80fd5b80638da5cb5b116100d95780638da5cb5b1461037f57806395d89b411461038f57806398045a0e14610397578063996517cf146103aa575f80fd5b80636352211e1461033e5780636f8b44b01461035157806370a0823114610364578063715018a614610377575f80fd5b806323b872dd1161017f57806342842e0e1161014f57806342842e0e146102fc5780634f6ccce71461030f57806355f804b3146103225780635ca6a6a414610335575f80fd5b806323b872dd146102a3578063294cdf0d146102b65780632f745c59146102d65780633a1f334c146102e9575f80fd5b8063095ea7b3116101ba578063095ea7b314610248578063150b7a021461025d5780631570b77c1461028957806318160ddd14610291575f80fd5b806301ffc9a7146101e057806306fdde0314610208578063081812fc1461021d575b5f80fd5b6101f36101ee366004611846565b610469565b60405190151581526020015b60405180910390f35b610210610493565b6040516101ff91906118ab565b61023061022b3660046118bd565b610523565b6040516001600160a01b0390911681526020016101ff565b61025b6102563660046118ef565b6105bb565b005b61027061026b36600461199e565b6106cf565b6040516001600160e01b031990911681526020016101ff565b61025b6106e0565b6009545b6040519081526020016101ff565b61025b6102b1366004611a15565b610730565b6102c96102c4366004611a4e565b610761565b6040516101ff9190611a67565b6102956102e43660046118ef565b610819565b6101f36102f73660046118bd565b6108ad565b61025b61030a366004611a15565b6108cb565b61029561031d3660046118bd565b6108e5565b61025b610330366004611aaa565b610975565b610295600f5481565b61023061034c3660046118bd565b6109ae565b61025b61035f3660046118bd565b610a24565b610295610372366004611a4e565b610a52565b61025b610ad7565b5f546001600160a01b0316610230565b610210610b48565b61025b6103a53660046118bd565b610b57565b61029560105481565b61025b6103c13660046118bd565b610b85565b61025b6103d4366004611aef565b610bb3565b61025b6103e736600461199e565b610c76565b61025b6103fa366004611b70565b610cae565b61021061040d3660046118bd565b610d5b565b610295600e5481565b6101f3610429366004611bd7565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205460ff1690565b61025b610464366004611a4e565b610dfc565b5f6001600160e01b0319821663780e9d6360e01b148061048d575061048d82610ee3565b92915050565b6060600180546104a290611c08565b80601f01602080910402602001604051908101604052809291908181526020018280546104ce90611c08565b80156105195780601f106104f057610100808354040283529160200191610519565b820191905f5260205f20905b8154815290600101906020018083116104fc57829003601f168201915b5050505050905090565b5f818152600360205260408120546001600160a01b03166105a05760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b505f908152600560205260409020546001600160a01b031690565b5f6105c5826109ae565b9050806001600160a01b0316836001600160a01b0316036106325760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610597565b336001600160a01b038216148061064e575061064e8133610429565b6106c05760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610597565b6106ca8383610f32565b505050565b630a85bd0160e11b5b949350505050565b5f600f54116107245760405162461bcd60e51b815260206004820152601060248201526f26b4b73a1034b9903737ba1037b832b760811b6044820152606401610597565b61072d33610f9f565b50565b61073a3382611068565b6107565760405162461bcd60e51b815260040161059790611c40565b6106ca838383611158565b60605f61076d83610a52565b90505f8167ffffffffffffffff81111561078957610789611917565b6040519080825280602002602001820160405280156107b2578160200160208202803683370190505b5090505f5b82811015610811576001600160a01b0385165f90815260076020908152604080832084845290915290205482518390839081106107f6576107f6611c91565b602090810291909101015261080a81611cb9565b90506107b7565b509392505050565b5f61082383610a52565b82106108855760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610597565b506001600160a01b03919091165f908152600760209081526040808320938352929052205490565b5f818152600360205260408120546001600160a01b0316151561048d565b6106ca83838360405180602001604052805f815250610c76565b5f6108ef60095490565b82106109525760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610597565b6009828154811061096557610965611c91565b905f5260205f2001549050919050565b5f546001600160a01b0316331461099e5760405162461bcd60e51b815260040161059790611cd1565b600d6109aa8282611d53565b5050565b5f818152600360205260408120546001600160a01b03168061048d5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610597565b5f546001600160a01b03163314610a4d5760405162461bcd60e51b815260040161059790611cd1565b600e55565b5f6001600160a01b038216610abc5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610597565b506001600160a01b03165f9081526004602052604090205490565b5f546001600160a01b03163314610b005760405162461bcd60e51b815260040161059790611cd1565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600280546104a290611c08565b5f546001600160a01b03163314610b805760405162461bcd60e51b815260040161059790611cd1565b600f55565b5f546001600160a01b03163314610bae5760405162461bcd60e51b815260040161059790611cd1565b601055565b336001600160a01b03831603610c0b5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610597565b335f8181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c803383611068565b610c9c5760405162461bcd60e51b815260040161059790611c40565b610ca8848484846112ff565b50505050565b5f546001600160a01b03163314610cd75760405162461bcd60e51b815260040161059790611cd1565b5f5b83811015610d54575f5b838383818110610cf557610cf5611c91565b90506020020135811015610d4357610d32868684818110610d1857610d18611c91565b9050602002016020810190610d2d9190611a4e565b610f9f565b50610d3c81611cb9565b9050610ce3565b50610d4d81611cb9565b9050610cd9565b5050505050565b5f818152600360205260409020546060906001600160a01b0316610dc15760405162461bcd60e51b815260206004820152601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e006044820152606401610597565b5f610dca611332565b905080515f14610dda5792915050565b5f604051806060016040528060338152602001611ef360339139949350505050565b5f546001600160a01b03163314610e255760405162461bcd60e51b815260040161059790611cd1565b6001600160a01b038116610e8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610597565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6001600160e01b031982166380ac58cd60e01b1480610f1357506001600160e01b03198216635b5e139f60e01b145b8061048d57506301ffc9a760e01b6001600160e01b031983161461048d565b5f81815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610f66826109ae565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f601054610fac83610a52565b10610ff25760405162461bcd60e51b815260206004820152601660248201527514195c9cdbdb985b081b1a5b5a5d081c995858da195960521b6044820152606401610597565b611000600c80546001019055565b5f61100a600c5490565b9050600e5481111561105e5760405162461bcd60e51b815260206004820152601960248201527f5265616368656420746865206d6178696d756d206c696d6974000000000000006044820152606401610597565b61048d8382611341565b5f818152600360205260408120546001600160a01b03166110e05760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610597565b5f6110ea836109ae565b9050806001600160a01b0316846001600160a01b031614806111255750836001600160a01b031661111a84610523565b6001600160a01b0316145b806106d857506001600160a01b038082165f9081526006602090815260408083209388168352929052205460ff166106d8565b826001600160a01b031661116b826109ae565b6001600160a01b0316146111d35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610597565b6001600160a01b0382166112355760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610597565b61124083838361148b565b61124a5f82610f32565b6001600160a01b0383165f908152600460205260408120805460019290611272908490611e0f565b90915550506001600160a01b0382165f90815260046020526040812080546001929061129f908490611e22565b90915550505f8181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61130a848484611158565b611316848484846114ff565b610ca85760405162461bcd60e51b815260040161059790611e35565b6060600d80546104a290611c08565b6001600160a01b0382166113975760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610597565b5f818152600360205260409020546001600160a01b0316156113fb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610597565b6114065f838361148b565b6001600160a01b0382165f90815260046020526040812080546001929061142e908490611e22565b90915550505f8181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160a01b03831615806114a857506001600160a01b038216155b6114f45760405162461bcd60e51b815260206004820152601760248201527f63616e206e6f74207472616e7366657220746f6b656e210000000000000000006044820152606401610597565b6106ca8383836115f8565b5f6001600160a01b0384163b156115f057604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611542903390899088908890600401611e87565b602060405180830381865afa92505050801561157b575060408051601f3d908101601f1916820190925261157891810190611ec3565b60015b6115d6573d8080156115a8576040519150601f19603f3d011682016040523d82523d5f602084013e6115ad565b606091505b5080515f036115ce5760405162461bcd60e51b815260040161059790611e35565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506106d8565b5060016106d8565b6001600160a01b0383166116525761164d81600980545f838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b611675565b816001600160a01b0316836001600160a01b0316146116755761167583826116af565b6001600160a01b03821661168c576106ca81611748565b826001600160a01b0316826001600160a01b0316146106ca576106ca82826117ef565b5f60016116bb84610a52565b6116c59190611e0f565b5f83815260086020526040902054909150808214611716576001600160a01b0384165f9081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b505f9182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b6009545f9061175990600190611e0f565b5f838152600a60205260408120546009805493945090928490811061178057611780611c91565b905f5260205f2001549050806009838154811061179f5761179f611c91565b5f918252602080832090910192909255828152600a909152604080822084905585825281205560098054806117d6576117d6611ede565b600190038181905f5260205f20015f9055905550505050565b5f6117f983610a52565b6001600160a01b039093165f908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b6001600160e01b03198116811461072d575f80fd5b5f60208284031215611856575f80fd5b813561186181611831565b9392505050565b5f81518084525f5b8181101561188c57602081850181015186830182015201611870565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6118616020830184611868565b5f602082840312156118cd575f80fd5b5035919050565b80356001600160a01b03811681146118ea575f80fd5b919050565b5f8060408385031215611900575f80fd5b611909836118d4565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff8084111561194557611945611917565b604051601f8501601f19908116603f0116810190828211818310171561196d5761196d611917565b81604052809350858152868686011115611985575f80fd5b858560208301375f602087830101525050509392505050565b5f805f80608085870312156119b1575f80fd5b6119ba856118d4565b93506119c8602086016118d4565b925060408501359150606085013567ffffffffffffffff8111156119ea575f80fd5b8501601f810187136119fa575f80fd5b611a098782356020840161192b565b91505092959194509250565b5f805f60608486031215611a27575f80fd5b611a30846118d4565b9250611a3e602085016118d4565b9150604084013590509250925092565b5f60208284031215611a5e575f80fd5b611861826118d4565b602080825282518282018190525f9190848201906040850190845b81811015611a9e57835183529284019291840191600101611a82565b50909695505050505050565b5f60208284031215611aba575f80fd5b813567ffffffffffffffff811115611ad0575f80fd5b8201601f81018413611ae0575f80fd5b6106d88482356020840161192b565b5f8060408385031215611b00575f80fd5b611b09836118d4565b915060208301358015158114611b1d575f80fd5b809150509250929050565b5f8083601f840112611b38575f80fd5b50813567ffffffffffffffff811115611b4f575f80fd5b6020830191508360208260051b8501011115611b69575f80fd5b9250929050565b5f805f8060408587031215611b83575f80fd5b843567ffffffffffffffff80821115611b9a575f80fd5b611ba688838901611b28565b90965094506020870135915080821115611bbe575f80fd5b50611bcb87828801611b28565b95989497509550505050565b5f8060408385031215611be8575f80fd5b611bf1836118d4565b9150611bff602084016118d4565b90509250929050565b600181811c90821680611c1c57607f821691505b602082108103611c3a57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611cca57611cca611ca5565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f8211156106ca575f81815260208120601f850160051c81016020861015611d2c5750805b601f850160051c820191505b81811015611d4b57828155600101611d38565b505050505050565b815167ffffffffffffffff811115611d6d57611d6d611917565b611d8181611d7b8454611c08565b84611d06565b602080601f831160018114611db4575f8415611d9d5750858301515b5f19600386901b1c1916600185901b178555611d4b565b5f85815260208120601f198616915b82811015611de257888601518255948401946001909101908401611dc3565b5085821015611dff57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561048d5761048d611ca5565b8082018082111561048d5761048d611ca5565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611eb990830184611868565b9695505050505050565b5f60208284031215611ed3575f80fd5b815161186181611831565b634e487b7160e01b5f52603160045260245ffdfe697066732f516d575444686b346348507174523674475967717242646158795773685675744c5172575859447951466664516fa2646970667358221220c07a94b25c450621c95d9d8a442b61d7d17fc7d08d4e620ef99fcc956835d5ee64736f6c63430008140033
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101dc575f3560e01c80636352211e116101095780639e6a1d7d1161009e578063c87b56dd1161006e578063c87b56dd146103ff578063d5abeb0114610412578063e985e9c51461041b578063f2fde38b14610456575f80fd5b80639e6a1d7d146103b3578063a22cb465146103c6578063b88d4fde146103d9578063c846cf3d146103ec575f80fd5b80638da5cb5b116100d95780638da5cb5b1461037f57806395d89b411461038f57806398045a0e14610397578063996517cf146103aa575f80fd5b80636352211e1461033e5780636f8b44b01461035157806370a0823114610364578063715018a614610377575f80fd5b806323b872dd1161017f57806342842e0e1161014f57806342842e0e146102fc5780634f6ccce71461030f57806355f804b3146103225780635ca6a6a414610335575f80fd5b806323b872dd146102a3578063294cdf0d146102b65780632f745c59146102d65780633a1f334c146102e9575f80fd5b8063095ea7b3116101ba578063095ea7b314610248578063150b7a021461025d5780631570b77c1461028957806318160ddd14610291575f80fd5b806301ffc9a7146101e057806306fdde0314610208578063081812fc1461021d575b5f80fd5b6101f36101ee366004611846565b610469565b60405190151581526020015b60405180910390f35b610210610493565b6040516101ff91906118ab565b61023061022b3660046118bd565b610523565b6040516001600160a01b0390911681526020016101ff565b61025b6102563660046118ef565b6105bb565b005b61027061026b36600461199e565b6106cf565b6040516001600160e01b031990911681526020016101ff565b61025b6106e0565b6009545b6040519081526020016101ff565b61025b6102b1366004611a15565b610730565b6102c96102c4366004611a4e565b610761565b6040516101ff9190611a67565b6102956102e43660046118ef565b610819565b6101f36102f73660046118bd565b6108ad565b61025b61030a366004611a15565b6108cb565b61029561031d3660046118bd565b6108e5565b61025b610330366004611aaa565b610975565b610295600f5481565b61023061034c3660046118bd565b6109ae565b61025b61035f3660046118bd565b610a24565b610295610372366004611a4e565b610a52565b61025b610ad7565b5f546001600160a01b0316610230565b610210610b48565b61025b6103a53660046118bd565b610b57565b61029560105481565b61025b6103c13660046118bd565b610b85565b61025b6103d4366004611aef565b610bb3565b61025b6103e736600461199e565b610c76565b61025b6103fa366004611b70565b610cae565b61021061040d3660046118bd565b610d5b565b610295600e5481565b6101f3610429366004611bd7565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205460ff1690565b61025b610464366004611a4e565b610dfc565b5f6001600160e01b0319821663780e9d6360e01b148061048d575061048d82610ee3565b92915050565b6060600180546104a290611c08565b80601f01602080910402602001604051908101604052809291908181526020018280546104ce90611c08565b80156105195780601f106104f057610100808354040283529160200191610519565b820191905f5260205f20905b8154815290600101906020018083116104fc57829003601f168201915b5050505050905090565b5f818152600360205260408120546001600160a01b03166105a05760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b505f908152600560205260409020546001600160a01b031690565b5f6105c5826109ae565b9050806001600160a01b0316836001600160a01b0316036106325760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610597565b336001600160a01b038216148061064e575061064e8133610429565b6106c05760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610597565b6106ca8383610f32565b505050565b630a85bd0160e11b5b949350505050565b5f600f54116107245760405162461bcd60e51b815260206004820152601060248201526f26b4b73a1034b9903737ba1037b832b760811b6044820152606401610597565b61072d33610f9f565b50565b61073a3382611068565b6107565760405162461bcd60e51b815260040161059790611c40565b6106ca838383611158565b60605f61076d83610a52565b90505f8167ffffffffffffffff81111561078957610789611917565b6040519080825280602002602001820160405280156107b2578160200160208202803683370190505b5090505f5b82811015610811576001600160a01b0385165f90815260076020908152604080832084845290915290205482518390839081106107f6576107f6611c91565b602090810291909101015261080a81611cb9565b90506107b7565b509392505050565b5f61082383610a52565b82106108855760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610597565b506001600160a01b03919091165f908152600760209081526040808320938352929052205490565b5f818152600360205260408120546001600160a01b0316151561048d565b6106ca83838360405180602001604052805f815250610c76565b5f6108ef60095490565b82106109525760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610597565b6009828154811061096557610965611c91565b905f5260205f2001549050919050565b5f546001600160a01b0316331461099e5760405162461bcd60e51b815260040161059790611cd1565b600d6109aa8282611d53565b5050565b5f818152600360205260408120546001600160a01b03168061048d5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610597565b5f546001600160a01b03163314610a4d5760405162461bcd60e51b815260040161059790611cd1565b600e55565b5f6001600160a01b038216610abc5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610597565b506001600160a01b03165f9081526004602052604090205490565b5f546001600160a01b03163314610b005760405162461bcd60e51b815260040161059790611cd1565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600280546104a290611c08565b5f546001600160a01b03163314610b805760405162461bcd60e51b815260040161059790611cd1565b600f55565b5f546001600160a01b03163314610bae5760405162461bcd60e51b815260040161059790611cd1565b601055565b336001600160a01b03831603610c0b5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610597565b335f8181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c803383611068565b610c9c5760405162461bcd60e51b815260040161059790611c40565b610ca8848484846112ff565b50505050565b5f546001600160a01b03163314610cd75760405162461bcd60e51b815260040161059790611cd1565b5f5b83811015610d54575f5b838383818110610cf557610cf5611c91565b90506020020135811015610d4357610d32868684818110610d1857610d18611c91565b9050602002016020810190610d2d9190611a4e565b610f9f565b50610d3c81611cb9565b9050610ce3565b50610d4d81611cb9565b9050610cd9565b5050505050565b5f818152600360205260409020546060906001600160a01b0316610dc15760405162461bcd60e51b815260206004820152601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e006044820152606401610597565b5f610dca611332565b905080515f14610dda5792915050565b5f604051806060016040528060338152602001611ef360339139949350505050565b5f546001600160a01b03163314610e255760405162461bcd60e51b815260040161059790611cd1565b6001600160a01b038116610e8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610597565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6001600160e01b031982166380ac58cd60e01b1480610f1357506001600160e01b03198216635b5e139f60e01b145b8061048d57506301ffc9a760e01b6001600160e01b031983161461048d565b5f81815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610f66826109ae565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f601054610fac83610a52565b10610ff25760405162461bcd60e51b815260206004820152601660248201527514195c9cdbdb985b081b1a5b5a5d081c995858da195960521b6044820152606401610597565b611000600c80546001019055565b5f61100a600c5490565b9050600e5481111561105e5760405162461bcd60e51b815260206004820152601960248201527f5265616368656420746865206d6178696d756d206c696d6974000000000000006044820152606401610597565b61048d8382611341565b5f818152600360205260408120546001600160a01b03166110e05760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610597565b5f6110ea836109ae565b9050806001600160a01b0316846001600160a01b031614806111255750836001600160a01b031661111a84610523565b6001600160a01b0316145b806106d857506001600160a01b038082165f9081526006602090815260408083209388168352929052205460ff166106d8565b826001600160a01b031661116b826109ae565b6001600160a01b0316146111d35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610597565b6001600160a01b0382166112355760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610597565b61124083838361148b565b61124a5f82610f32565b6001600160a01b0383165f908152600460205260408120805460019290611272908490611e0f565b90915550506001600160a01b0382165f90815260046020526040812080546001929061129f908490611e22565b90915550505f8181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61130a848484611158565b611316848484846114ff565b610ca85760405162461bcd60e51b815260040161059790611e35565b6060600d80546104a290611c08565b6001600160a01b0382166113975760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610597565b5f818152600360205260409020546001600160a01b0316156113fb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610597565b6114065f838361148b565b6001600160a01b0382165f90815260046020526040812080546001929061142e908490611e22565b90915550505f8181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160a01b03831615806114a857506001600160a01b038216155b6114f45760405162461bcd60e51b815260206004820152601760248201527f63616e206e6f74207472616e7366657220746f6b656e210000000000000000006044820152606401610597565b6106ca8383836115f8565b5f6001600160a01b0384163b156115f057604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611542903390899088908890600401611e87565b602060405180830381865afa92505050801561157b575060408051601f3d908101601f1916820190925261157891810190611ec3565b60015b6115d6573d8080156115a8576040519150601f19603f3d011682016040523d82523d5f602084013e6115ad565b606091505b5080515f036115ce5760405162461bcd60e51b815260040161059790611e35565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506106d8565b5060016106d8565b6001600160a01b0383166116525761164d81600980545f838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b611675565b816001600160a01b0316836001600160a01b0316146116755761167583826116af565b6001600160a01b03821661168c576106ca81611748565b826001600160a01b0316826001600160a01b0316146106ca576106ca82826117ef565b5f60016116bb84610a52565b6116c59190611e0f565b5f83815260086020526040902054909150808214611716576001600160a01b0384165f9081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b505f9182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b6009545f9061175990600190611e0f565b5f838152600a60205260408120546009805493945090928490811061178057611780611c91565b905f5260205f2001549050806009838154811061179f5761179f611c91565b5f918252602080832090910192909255828152600a909152604080822084905585825281205560098054806117d6576117d6611ede565b600190038181905f5260205f20015f9055905550505050565b5f6117f983610a52565b6001600160a01b039093165f908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b6001600160e01b03198116811461072d575f80fd5b5f60208284031215611856575f80fd5b813561186181611831565b9392505050565b5f81518084525f5b8181101561188c57602081850181015186830182015201611870565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6118616020830184611868565b5f602082840312156118cd575f80fd5b5035919050565b80356001600160a01b03811681146118ea575f80fd5b919050565b5f8060408385031215611900575f80fd5b611909836118d4565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff8084111561194557611945611917565b604051601f8501601f19908116603f0116810190828211818310171561196d5761196d611917565b81604052809350858152868686011115611985575f80fd5b858560208301375f602087830101525050509392505050565b5f805f80608085870312156119b1575f80fd5b6119ba856118d4565b93506119c8602086016118d4565b925060408501359150606085013567ffffffffffffffff8111156119ea575f80fd5b8501601f810187136119fa575f80fd5b611a098782356020840161192b565b91505092959194509250565b5f805f60608486031215611a27575f80fd5b611a30846118d4565b9250611a3e602085016118d4565b9150604084013590509250925092565b5f60208284031215611a5e575f80fd5b611861826118d4565b602080825282518282018190525f9190848201906040850190845b81811015611a9e57835183529284019291840191600101611a82565b50909695505050505050565b5f60208284031215611aba575f80fd5b813567ffffffffffffffff811115611ad0575f80fd5b8201601f81018413611ae0575f80fd5b6106d88482356020840161192b565b5f8060408385031215611b00575f80fd5b611b09836118d4565b915060208301358015158114611b1d575f80fd5b809150509250929050565b5f8083601f840112611b38575f80fd5b50813567ffffffffffffffff811115611b4f575f80fd5b6020830191508360208260051b8501011115611b69575f80fd5b9250929050565b5f805f8060408587031215611b83575f80fd5b843567ffffffffffffffff80821115611b9a575f80fd5b611ba688838901611b28565b90965094506020870135915080821115611bbe575f80fd5b50611bcb87828801611b28565b95989497509550505050565b5f8060408385031215611be8575f80fd5b611bf1836118d4565b9150611bff602084016118d4565b90509250929050565b600181811c90821680611c1c57607f821691505b602082108103611c3a57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611cca57611cca611ca5565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f8211156106ca575f81815260208120601f850160051c81016020861015611d2c5750805b601f850160051c820191505b81811015611d4b57828155600101611d38565b505050505050565b815167ffffffffffffffff811115611d6d57611d6d611917565b611d8181611d7b8454611c08565b84611d06565b602080601f831160018114611db4575f8415611d9d5750858301515b5f19600386901b1c1916600185901b178555611d4b565b5f85815260208120601f198616915b82811015611de257888601518255948401946001909101908401611dc3565b5085821015611dff57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561048d5761048d611ca5565b8082018082111561048d5761048d611ca5565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611eb990830184611868565b9695505050505050565b5f60208284031215611ed3575f80fd5b815161186181611831565b634e487b7160e01b5f52603160045260245ffdfe697066732f516d575444686b346348507174523674475967717242646158795773685675744c5172575859447951466664516fa2646970667358221220c07a94b25c450621c95d9d8a442b61d7d17fc7d08d4e620ef99fcc956835d5ee64736f6c63430008140033
Deployed Bytecode Sourcemap
16935:2765:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16704:224;;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;16704:224:0;;;;;;;;6981:100;;;:::i;:::-;;;;;;;:::i;8015:219::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1594:32:1;;;1576:51;;1564:2;1549:18;8015:219:0;1430:203:1;7637:370:0;;;;;;:::i;:::-;;:::i;:::-;;16527:169;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3676:33:1;;;3658:52;;3646:2;3631:18;16527:169:0;3514:202:1;18168:138:0;;;:::i;14033:113::-;14121:10;:17;14033:113;;;3867:25:1;;;3855:2;3840:18;14033:113:0;3721:177:1;8715:250:0;;;;;;:::i;:::-;;:::i;13688:337::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13424:256::-;;;;;;:::i;:::-;;:::i;17519:105::-;;;;;;:::i;:::-;;:::i;8973:151::-;;;;;;:::i;:::-;;:::i;14154:233::-;;;;;;:::i;:::-;;:::i;18038:122::-;;;;;;:::i;:::-;;:::i;17237:26::-;;;;;;6734:239;;;;;;:::i;:::-;;:::i;19382:99::-;;;;;;:::i;:::-;;:::i;6518:208::-;;;;;;:::i;:::-;;:::i;4319:140::-;;;:::i;4109:79::-;4147:7;4174:6;-1:-1:-1;;;;;4174:6:0;4109:79;;7089:104;;;:::i;19489:101::-;;;;;;:::i;:::-;;:::i;17270:30::-;;;;;;19598:99;;;;;;:::i;:::-;;:::i;8242:293::-;;;;;;:::i;:::-;;:::i;9132:285::-;;;;;;:::i;:::-;;:::i;19075:301::-;;;;;;:::i;:::-;;:::i;17630:381::-;;;;;;:::i;:::-;;:::i;17200:30::-;;;;;;8543:164;;;;;;:::i;:::-;-1:-1:-1;;;;;8664:25:0;;;8640:4;8664:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8543:164;4467:244;;;;;;:::i;:::-;;:::i;16704:224::-;16806:4;-1:-1:-1;;;;;;16830:50:0;;-1:-1:-1;;;16830:50:0;;:90;;;16884:36;16908:11;16884:23;:36::i;:::-;16823:97;16704:224;-1:-1:-1;;16704:224:0:o;6981:100::-;7035:13;7068:5;7061:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6981:100;:::o;8015:219::-;8091:7;9794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;9794:16:0;8111:73;;;;-1:-1:-1;;;8111:73:0;;7873:2:1;8111:73:0;;;7855:21:1;7912:2;7892:18;;;7885:30;7951:34;7931:18;;;7924:62;-1:-1:-1;;;8002:18:1;;;7995:42;8054:19;;8111:73:0;;;;;;;;;-1:-1:-1;8202:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;8202:24:0;;8015:219::o;7637:370::-;7718:13;7734:23;7749:7;7734:14;:23::i;:::-;7718:39;;7782:5;-1:-1:-1;;;;;7776:11:0;:2;-1:-1:-1;;;;;7776:11:0;;7768:57;;;;-1:-1:-1;;;7768:57:0;;8286:2:1;7768:57:0;;;8268:21:1;8325:2;8305:18;;;8298:30;8364:34;8344:18;;;8337:62;-1:-1:-1;;;8415:18:1;;;8408:31;8456:19;;7768:57:0;8084:397:1;7768:57:0;3130:10;-1:-1:-1;;;;;7844:21:0;;;;:62;;-1:-1:-1;7869:37:0;7886:5;3130:10;8543:164;:::i;7869:37::-;7836:131;;;;-1:-1:-1;;;7836:131:0;;8688:2:1;7836:131:0;;;8670:21:1;8727:2;8707:18;;;8700:30;8766:34;8746:18;;;8739:62;8837:26;8817:18;;;8810:54;8881:19;;7836:131:0;8486:420:1;7836:131:0;7978:21;7987:2;7991:7;7978:8;:21::i;:::-;7707:300;7637:370;;:::o;16527:169::-;-1:-1:-1;;;16527:169:0;;;;;;;:::o;18168:138::-;18229:1;18216:10;;:14;18208:42;;;;-1:-1:-1;;;18208:42:0;;9113:2:1;18208:42:0;;;9095:21:1;9152:2;9132:18;;;9125:30;-1:-1:-1;;;9171:18:1;;;9164:46;9227:18;;18208:42:0;8911:340:1;18208:42:0;18261:20;18270:10;18261:8;:20::i;:::-;;18168:138::o;8715:250::-;8823:41;3130:10;8856:7;8823:18;:41::i;:::-;8815:103;;;;-1:-1:-1;;;8815:103:0;;;;;;;:::i;:::-;8929:28;8939:4;8945:2;8949:7;8929:9;:28::i;13688:337::-;13746:16;13775:11;13789:23;13806:5;13789:16;:23::i;:::-;13775:37;;13823:27;13875:3;13853:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13853:27:0;;13823:57;;13896:9;13891:99;13915:3;13911:1;:7;13891:99;;;-1:-1:-1;;;;;13956:19:0;;;;;;:12;:19;;;;;;;;:22;;;;;;;;;13940:13;;:10;;13976:1;;13940:13;;;;;;:::i;:::-;;;;;;;;;;:38;13920:3;;;:::i;:::-;;;13891:99;;;-1:-1:-1;14007:10:0;13688:337;-1:-1:-1;;;13688:337:0:o;13424:256::-;13521:7;13557:23;13574:5;13557:16;:23::i;:::-;13549:5;:31;13541:87;;;;-1:-1:-1;;;13541:87:0;;10280:2:1;13541:87:0;;;10262:21:1;10319:2;10299:18;;;10292:30;10358:34;10338:18;;;10331:62;-1:-1:-1;;;10409:18:1;;;10402:41;10460:19;;13541:87:0;10078:407:1;13541:87:0;-1:-1:-1;;;;;;13646:19:0;;;;;;;;:12;:19;;;;;;;;:26;;;;;;;;;13424:256::o;17519:105::-;17576:4;9794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;9794:16:0;:30;;17600:16;9705:127;8973:151;9077:39;9094:4;9100:2;9104:7;9077:39;;;;;;;;;;;;:16;:39::i;14154:233::-;14229:7;14265:30;14121:10;:17;;14033:113;14265:30;14257:5;:38;14249:95;;;;-1:-1:-1;;;14249:95:0;;10692:2:1;14249:95:0;;;10674:21:1;10731:2;10711:18;;;10704:30;10770:34;10750:18;;;10743:62;-1:-1:-1;;;10821:18:1;;;10814:42;10873:19;;14249:95:0;10490:408:1;14249:95:0;14362:10;14373:5;14362:17;;;;;;;;:::i;:::-;;;;;;;;;14355:24;;14154:233;;;:::o;18038:122::-;4234:6;;-1:-1:-1;;;;;4234:6:0;3130:10;4234:22;4226:67;;;;-1:-1:-1;;;4226:67:0;;;;;;;:::i;:::-;18109:16:::1;:26;18128:7:::0;18109:16;:26:::1;:::i;:::-;;18038:122:::0;:::o;6734:239::-;6806:7;6842:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6842:16:0;;6869:73;;;;-1:-1:-1;;;6869:73:0;;13670:2:1;6869:73:0;;;13652:21:1;13709:2;13689:18;;;13682:30;13748:34;13728:18;;;13721:62;-1:-1:-1;;;13799:18:1;;;13792:39;13848:19;;6869:73:0;13468:405:1;19382:99:0;4234:6;;-1:-1:-1;;;;;4234:6:0;3130:10;4234:22;4226:67;;;;-1:-1:-1;;;4226:67:0;;;;;;;:::i;:::-;19441:9:::1;:15:::0;19382:99::o;6518:208::-;6590:7;-1:-1:-1;;;;;6618:19:0;;6610:74;;;;-1:-1:-1;;;6610:74:0;;14080:2:1;6610:74:0;;;14062:21:1;14119:2;14099:18;;;14092:30;14158:34;14138:18;;;14131:62;-1:-1:-1;;;14209:18:1;;;14202:40;14259:19;;6610:74:0;13878:406:1;6610:74:0;-1:-1:-1;;;;;;6702:16:0;;;;;:9;:16;;;;;;;6518:208::o;4319:140::-;4234:6;;-1:-1:-1;;;;;4234:6:0;3130:10;4234:22;4226:67;;;;-1:-1:-1;;;4226:67:0;;;;;;;:::i;:::-;4418:1:::1;4402:6:::0;;4381:40:::1;::::0;-1:-1:-1;;;;;4402:6:0;;::::1;::::0;4381:40:::1;::::0;4418:1;;4381:40:::1;4449:1;4432:19:::0;;-1:-1:-1;;;;;;4432:19:0::1;::::0;;4319:140::o;7089:104::-;7145:13;7178:7;7171:14;;;;;:::i;19489:101::-;4234:6;;-1:-1:-1;;;;;4234:6:0;3130:10;4234:22;4226:67;;;;-1:-1:-1;;;4226:67:0;;;;;;;:::i;:::-;19549:10:::1;:16:::0;19489:101::o;19598:99::-;4234:6;;-1:-1:-1;;;;;4234:6:0;3130:10;4234:22;4226:67;;;;-1:-1:-1;;;4226:67:0;;;;;;;:::i;:::-;19657:9:::1;:15:::0;19598:99::o;8242:293::-;3130:10;-1:-1:-1;;;;;8345:24:0;;;8337:62;;;;-1:-1:-1;;;8337:62:0;;14491:2:1;8337:62:0;;;14473:21:1;14530:2;14510:18;;;14503:30;14569:27;14549:18;;;14542:55;14614:18;;8337:62:0;14289:349:1;8337:62:0;3130:10;8410:32;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8410:42:0;;;;;;;;;;;;:53;;-1:-1:-1;;8410:53:0;;;;;;;;;;8479:48;;540:41:1;;;8410:42:0;;3130:10;8479:48;;513:18:1;8479:48:0;;;;;;;8242:293;;:::o;9132:285::-;9264:41;3130:10;9297:7;9264:18;:41::i;:::-;9256:103;;;;-1:-1:-1;;;9256:103:0;;;;;;;:::i;:::-;9370:39;9384:4;9390:2;9394:7;9403:5;9370:13;:39::i;:::-;9132:285;;;;:::o;19075:301::-;4234:6;;-1:-1:-1;;;;;4234:6:0;3130:10;4234:22;4226:67;;;;-1:-1:-1;;;4226:67:0;;;;;;;:::i;:::-;19187:9:::1;19182:170;19202:21:::0;;::::1;19182:170;;;19250:9;19245:96;19269:4;;19274:1;19269:7;;;;;;;:::i;:::-;;;;;;;19265:1;:11;19245:96;;;19302:23;19311:10;;19322:1;19311:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;19302:8;:23::i;:::-;-1:-1:-1::0;19278:3:0::1;::::0;::::1;:::i;:::-;;;19245:96;;;-1:-1:-1::0;19225:3:0::1;::::0;::::1;:::i;:::-;;;19182:170;;;;19075:301:::0;;;;:::o;17630:381::-;9770:4;9794:16;;;:7;:16;;;;;;17711:13;;-1:-1:-1;;;;;9794:16:0;17736:60;;;;-1:-1:-1;;;17736:60:0;;14845:2:1;17736:60:0;;;14827:21:1;14884:2;14864:18;;;14857:30;14923:33;14903:18;;;14896:61;14974:18;;17736:60:0;14643:355:1;17736:60:0;17807:18;17828:10;:8;:10::i;:::-;17807:31;;17859:4;17853:18;17875:1;17853:23;17849:39;;17884:4;17630:381;-1:-1:-1;;17630:381:0:o;17849:39::-;17909:17;:73;;;;;;;;;;;;;;;;;;17630:381;-1:-1:-1;;;;17630:381:0:o;4467:244::-;4234:6;;-1:-1:-1;;;;;4234:6:0;3130:10;4234:22;4226:67;;;;-1:-1:-1;;;4226:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4556:22:0;::::1;4548:73;;;::::0;-1:-1:-1;;;4548:73:0;;15205:2:1;4548:73:0::1;::::0;::::1;15187:21:1::0;15244:2;15224:18;;;15217:30;15283:34;15263:18;;;15256:62;-1:-1:-1;;;15334:18:1;;;15327:36;15380:19;;4548:73:0::1;15003:402:1::0;4548:73:0::1;4658:6;::::0;;4637:38:::1;::::0;-1:-1:-1;;;;;4637:38:0;;::::1;::::0;4658:6;::::1;::::0;4637:38:::1;::::0;::::1;4686:6;:17:::0;;-1:-1:-1;;;;;;4686:17:0::1;-1:-1:-1::0;;;;;4686:17:0;;;::::1;::::0;;;::::1;::::0;;4467:244::o;12711:305::-;12813:4;-1:-1:-1;;;;;;12850:40:0;;-1:-1:-1;;;12850:40:0;;:105;;-1:-1:-1;;;;;;;12907:48:0;;-1:-1:-1;;;12907:48:0;12850:105;:158;;;-1:-1:-1;;;;;;;;;;5876:40:0;;;12972:36;5767:157;11780:174;11855:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11855:29:0;-1:-1:-1;;;;;11855:29:0;;;;;;;;:24;;11909:23;11855:24;11909:14;:23::i;:::-;-1:-1:-1;;;;;11900:46:0;;;;;;;;;;;11780:174;;:::o;18340:351::-;18388:7;18438:9;;18416:19;18432:2;18416:15;:19::i;:::-;:31;18408:65;;;;-1:-1:-1;;;18408:65:0;;15612:2:1;18408:65:0;;;15594:21:1;15651:2;15631:18;;;15624:30;-1:-1:-1;;;15670:18:1;;;15663:52;15732:18;;18408:65:0;15410:346:1;18408:65:0;18484:21;:9;4995:19;;5013:1;4995:19;;;4920:103;18484:21;18516:17;18536:19;:9;4890:14;;4798:114;18536:19;18516:39;;18587:9;;18574;:22;;18566:59;;;;-1:-1:-1;;;18566:59:0;;15963:2:1;18566:59:0;;;15945:21:1;16002:2;15982:18;;;15975:30;16041:27;16021:18;;;16014:55;16086:18;;18566:59:0;15761:349:1;18566:59:0;18636:20;18642:2;18646:9;18636:5;:20::i;9840:348::-;9933:4;9794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;9794:16:0;9950:73;;;;-1:-1:-1;;;9950:73:0;;16317:2:1;9950:73:0;;;16299:21:1;16356:2;16336:18;;;16329:30;16395:34;16375:18;;;16368:62;-1:-1:-1;;;16446:18:1;;;16439:42;16498:19;;9950:73:0;16115:408:1;9950:73:0;10034:13;10050:23;10065:7;10050:14;:23::i;:::-;10034:39;;10103:5;-1:-1:-1;;;;;10092:16:0;:7;-1:-1:-1;;;;;10092:16:0;;:51;;;;10136:7;-1:-1:-1;;;;;10112:31:0;:20;10124:7;10112:11;:20::i;:::-;-1:-1:-1;;;;;10112:31:0;;10092:51;:87;;;-1:-1:-1;;;;;;8664:25:0;;;8640:4;8664:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;10147:32;8543:164;11288:484;11413:4;-1:-1:-1;;;;;11386:31:0;:23;11401:7;11386:14;:23::i;:::-;-1:-1:-1;;;;;11386:31:0;;11378:85;;;;-1:-1:-1;;;11378:85:0;;16730:2:1;11378:85:0;;;16712:21:1;16769:2;16749:18;;;16742:30;16808:34;16788:18;;;16781:62;-1:-1:-1;;;16859:18:1;;;16852:39;16908:19;;11378:85:0;16528:405:1;11378:85:0;-1:-1:-1;;;;;11482:16:0;;11474:65;;;;-1:-1:-1;;;11474:65:0;;17140:2:1;11474:65:0;;;17122:21:1;17179:2;17159:18;;;17152:30;17218:34;17198:18;;;17191:62;-1:-1:-1;;;17269:18:1;;;17262:34;17313:19;;11474:65:0;16938:400:1;11474:65:0;11550:39;11571:4;11577:2;11581:7;11550:20;:39::i;:::-;11600:29;11617:1;11621:7;11600:8;:29::i;:::-;-1:-1:-1;;;;;11640:15:0;;;;;;:9;:15;;;;;:20;;11659:1;;11640:15;:20;;11659:1;;11640:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11671:13:0;;;;;;:9;:13;;;;;:18;;11688:1;;11671:13;:18;;11688:1;;11671:18;:::i;:::-;;;;-1:-1:-1;;11700:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11700:21:0;-1:-1:-1;;;;;11700:21:0;;;;;;;;;11737:27;;11700:16;;11737:27;;;;;;;11288:484;;;:::o;9425:272::-;9539:28;9549:4;9555:2;9559:7;9539:9;:28::i;:::-;9586:48;9609:4;9615:2;9619:7;9628:5;9586:22;:48::i;:::-;9578:111;;;;-1:-1:-1;;;9578:111:0;;;;;;;:::i;17394:117::-;17454:13;17487:16;17480:23;;;;;:::i;10572:376::-;-1:-1:-1;;;;;10652:16:0;;10644:61;;;;-1:-1:-1;;;10644:61:0;;18227:2:1;10644:61:0;;;18209:21:1;;;18246:18;;;18239:30;18305:34;18285:18;;;18278:62;18357:18;;10644:61:0;18025:356:1;10644:61:0;9770:4;9794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;9794:16:0;:30;10716:58;;;;-1:-1:-1;;;10716:58:0;;18588:2:1;10716:58:0;;;18570:21:1;18627:2;18607:18;;;18600:30;18666;18646:18;;;18639:58;18714:18;;10716:58:0;18386:352:1;10716:58:0;10785:45;10814:1;10818:2;10822:7;10785:20;:45::i;:::-;-1:-1:-1;;;;;10841:13:0;;;;;;:9;:13;;;;;:18;;10858:1;;10841:13;:18;;10858:1;;10841:18;:::i;:::-;;;;-1:-1:-1;;10870:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;10870:21:0;-1:-1:-1;;;;;10870:21:0;;;;;;;;10907:33;;10870:16;;;10907:33;;10870:16;;10907:33;10572:376;;:::o;18699:248::-;-1:-1:-1;;;;;18817:18:0;;;;:38;;-1:-1:-1;;;;;;18839:16:0;;;18817:38;18809:74;;;;-1:-1:-1;;;18809:74:0;;18945:2:1;18809:74:0;;;18927:21:1;18984:2;18964:18;;;18957:30;19023:25;19003:18;;;18996:53;19066:18;;18809:74:0;18743:347:1;18809:74:0;18894:45;18921:4;18927:2;18931:7;18894:26;:45::i;11962:741::-;12079:4;-1:-1:-1;;;;;12100:13:0;;2956:20;2994:8;12096:600;;12136:72;;-1:-1:-1;;;12136:72:0;;-1:-1:-1;;;;;12136:36:0;;;;;:72;;3130:10;;12187:4;;12193:7;;12202:5;;12136:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;12136:72:0;;;;;;;;-1:-1:-1;;12136:72:0;;;;;;;;;;;;:::i;:::-;;;12132:509;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12389:6;:13;12406:1;12389:18;12385:241;;12432:60;;-1:-1:-1;;;12432:60:0;;;;;;;:::i;12385:241::-;12598:6;12592:13;12583:6;12579:2;12575:15;12568:38;12132:509;-1:-1:-1;;;;;;12258:51:0;-1:-1:-1;;;12258:51:0;;-1:-1:-1;12251:58:0;;12096:600;-1:-1:-1;12680:4:0;12673:11;;14395:553;-1:-1:-1;;;;;14565:18:0;;14561:187;;14600:40;14632:7;15289:10;:17;;15262:24;;;;:15;:24;;;;;:44;;;15317:24;;;;;;;;;;;;15185:164;14600:40;14561:187;;;14670:2;-1:-1:-1;;;;;14662:10:0;:4;-1:-1:-1;;;;;14662:10:0;;14658:90;;14689:47;14722:4;14728:7;14689:32;:47::i;:::-;-1:-1:-1;;;;;14762:16:0;;14758:183;;14795:45;14832:7;14795:36;:45::i;14758:183::-;14868:4;-1:-1:-1;;;;;14862:10:0;:2;-1:-1:-1;;;;;14862:10:0;;14858:83;;14889:40;14917:2;14921:7;14889:27;:40::i;15357:641::-;15449:22;15499:1;15474:22;15491:4;15474:16;:22::i;:::-;:26;;;;:::i;:::-;15511:18;15532:26;;;:17;:26;;;;;;15449:51;;-1:-1:-1;15573:28:0;;;15569:326;;-1:-1:-1;;;;;15640:18:0;;15618:19;15640:18;;;:12;:18;;;;;;;;:34;;;;;;;;;15689:30;;;;;;:44;;;15806:30;;:17;:30;;;;;:43;;;15569:326;-1:-1:-1;15912:26:0;;;;:17;:26;;;;;;;;15905:33;;;-1:-1:-1;;;;;15956:18:0;;;;;:12;:18;;;;;:34;;;;;;;15949:41;15357:641::o;16006:513::-;16113:10;:17;16088:22;;16113:21;;16133:1;;16113:21;:::i;:::-;16145:18;16166:24;;;:15;:24;;;;;;16223:10;:26;;16088:46;;-1:-1:-1;16166:24:0;;16088:46;;16223:26;;;;;;:::i;:::-;;;;;;;;;16201:48;;16285:11;16260:10;16271;16260:22;;;;;;;;:::i;:::-;;;;;;;;;;;;:36;;;;16365:28;;;:15;:28;;;;;;;:41;;;16460:24;;;;;16453:31;16495:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;16077:442;;;16006:513;:::o;14956:221::-;15041:14;15058:20;15075:2;15058:16;:20::i;:::-;-1:-1:-1;;;;;15089:16:0;;;;;;;:12;:16;;;;;;;;:24;;;;;;;;:34;;;15134:26;;;:17;:26;;;;;;:35;;;;-1:-1:-1;14956:221:0:o;14:131:1:-;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:1:o;592:423::-;634:3;672:5;666:12;699:6;694:3;687:19;724:1;734:162;748:6;745:1;742:13;734:162;;;810:4;866:13;;;862:22;;856:29;838:11;;;834:20;;827:59;763:12;734:162;;;738:3;941:1;934:4;925:6;920:3;916:16;912:27;905:38;1004:4;997:2;993:7;988:2;980:6;976:15;972:29;967:3;963:39;959:50;952:57;;;592:423;;;;:::o;1020:220::-;1169:2;1158:9;1151:21;1132:4;1189:45;1230:2;1219:9;1215:18;1207:6;1189:45;:::i;1245:180::-;1304:6;1357:2;1345:9;1336:7;1332:23;1328:32;1325:52;;;1373:1;1370;1363:12;1325:52;-1:-1:-1;1396:23:1;;1245:180;-1:-1:-1;1245:180:1:o;1638:173::-;1706:20;;-1:-1:-1;;;;;1755:31:1;;1745:42;;1735:70;;1801:1;1798;1791:12;1735:70;1638:173;;;:::o;1816:254::-;1884:6;1892;1945:2;1933:9;1924:7;1920:23;1916:32;1913:52;;;1961:1;1958;1951:12;1913:52;1984:29;2003:9;1984:29;:::i;:::-;1974:39;2060:2;2045:18;;;;2032:32;;-1:-1:-1;;;1816:254:1:o;2075:127::-;2136:10;2131:3;2127:20;2124:1;2117:31;2167:4;2164:1;2157:15;2191:4;2188:1;2181:15;2207:631;2271:5;2301:18;2342:2;2334:6;2331:14;2328:40;;;2348:18;;:::i;:::-;2423:2;2417:9;2391:2;2477:15;;-1:-1:-1;;2473:24:1;;;2499:2;2469:33;2465:42;2453:55;;;2523:18;;;2543:22;;;2520:46;2517:72;;;2569:18;;:::i;:::-;2609:10;2605:2;2598:22;2638:6;2629:15;;2668:6;2660;2653:22;2708:3;2699:6;2694:3;2690:16;2687:25;2684:45;;;2725:1;2722;2715:12;2684:45;2775:6;2770:3;2763:4;2755:6;2751:17;2738:44;2830:1;2823:4;2814:6;2806;2802:19;2798:30;2791:41;;;;2207:631;;;;;:::o;2843:666::-;2938:6;2946;2954;2962;3015:3;3003:9;2994:7;2990:23;2986:33;2983:53;;;3032:1;3029;3022:12;2983:53;3055:29;3074:9;3055:29;:::i;:::-;3045:39;;3103:38;3137:2;3126:9;3122:18;3103:38;:::i;:::-;3093:48;;3188:2;3177:9;3173:18;3160:32;3150:42;;3243:2;3232:9;3228:18;3215:32;3270:18;3262:6;3259:30;3256:50;;;3302:1;3299;3292:12;3256:50;3325:22;;3378:4;3370:13;;3366:27;-1:-1:-1;3356:55:1;;3407:1;3404;3397:12;3356:55;3430:73;3495:7;3490:2;3477:16;3472:2;3468;3464:11;3430:73;:::i;:::-;3420:83;;;2843:666;;;;;;;:::o;3903:328::-;3980:6;3988;3996;4049:2;4037:9;4028:7;4024:23;4020:32;4017:52;;;4065:1;4062;4055:12;4017:52;4088:29;4107:9;4088:29;:::i;:::-;4078:39;;4136:38;4170:2;4159:9;4155:18;4136:38;:::i;:::-;4126:48;;4221:2;4210:9;4206:18;4193:32;4183:42;;3903:328;;;;;:::o;4236:186::-;4295:6;4348:2;4336:9;4327:7;4323:23;4319:32;4316:52;;;4364:1;4361;4354:12;4316:52;4387:29;4406:9;4387:29;:::i;4427:632::-;4598:2;4650:21;;;4720:13;;4623:18;;;4742:22;;;4569:4;;4598:2;4821:15;;;;4795:2;4780:18;;;4569:4;4864:169;4878:6;4875:1;4872:13;4864:169;;;4939:13;;4927:26;;5008:15;;;;4973:12;;;;4900:1;4893:9;4864:169;;;-1:-1:-1;5050:3:1;;4427:632;-1:-1:-1;;;;;;4427:632:1:o;5064:450::-;5133:6;5186:2;5174:9;5165:7;5161:23;5157:32;5154:52;;;5202:1;5199;5192:12;5154:52;5242:9;5229:23;5275:18;5267:6;5264:30;5261:50;;;5307:1;5304;5297:12;5261:50;5330:22;;5383:4;5375:13;;5371:27;-1:-1:-1;5361:55:1;;5412:1;5409;5402:12;5361:55;5435:73;5500:7;5495:2;5482:16;5477:2;5473;5469:11;5435:73;:::i;5519:347::-;5584:6;5592;5645:2;5633:9;5624:7;5620:23;5616:32;5613:52;;;5661:1;5658;5651:12;5613:52;5684:29;5703:9;5684:29;:::i;:::-;5674:39;;5763:2;5752:9;5748:18;5735:32;5810:5;5803:13;5796:21;5789:5;5786:32;5776:60;;5832:1;5829;5822:12;5776:60;5855:5;5845:15;;;5519:347;;;;;:::o;5871:367::-;5934:8;5944:6;5998:3;5991:4;5983:6;5979:17;5975:27;5965:55;;6016:1;6013;6006:12;5965:55;-1:-1:-1;6039:20:1;;6082:18;6071:30;;6068:50;;;6114:1;6111;6104:12;6068:50;6151:4;6143:6;6139:17;6127:29;;6211:3;6204:4;6194:6;6191:1;6187:14;6179:6;6175:27;6171:38;6168:47;6165:67;;;6228:1;6225;6218:12;6165:67;5871:367;;;;;:::o;6243:773::-;6365:6;6373;6381;6389;6442:2;6430:9;6421:7;6417:23;6413:32;6410:52;;;6458:1;6455;6448:12;6410:52;6498:9;6485:23;6527:18;6568:2;6560:6;6557:14;6554:34;;;6584:1;6581;6574:12;6554:34;6623:70;6685:7;6676:6;6665:9;6661:22;6623:70;:::i;:::-;6712:8;;-1:-1:-1;6597:96:1;-1:-1:-1;6800:2:1;6785:18;;6772:32;;-1:-1:-1;6816:16:1;;;6813:36;;;6845:1;6842;6835:12;6813:36;;6884:72;6948:7;6937:8;6926:9;6922:24;6884:72;:::i;:::-;6243:773;;;;-1:-1:-1;6975:8:1;-1:-1:-1;;;;6243:773:1:o;7021:260::-;7089:6;7097;7150:2;7138:9;7129:7;7125:23;7121:32;7118:52;;;7166:1;7163;7156:12;7118:52;7189:29;7208:9;7189:29;:::i;:::-;7179:39;;7237:38;7271:2;7260:9;7256:18;7237:38;:::i;:::-;7227:48;;7021:260;;;;;:::o;7286:380::-;7365:1;7361:12;;;;7408;;;7429:61;;7483:4;7475:6;7471:17;7461:27;;7429:61;7536:2;7528:6;7525:14;7505:18;7502:38;7499:161;;7582:10;7577:3;7573:20;7570:1;7563:31;7617:4;7614:1;7607:15;7645:4;7642:1;7635:15;7499:161;;7286:380;;;:::o;9256:413::-;9458:2;9440:21;;;9497:2;9477:18;;;9470:30;9536:34;9531:2;9516:18;;9509:62;-1:-1:-1;;;9602:2:1;9587:18;;9580:47;9659:3;9644:19;;9256:413::o;9674:127::-;9735:10;9730:3;9726:20;9723:1;9716:31;9766:4;9763:1;9756:15;9790:4;9787:1;9780:15;9806:127;9867:10;9862:3;9858:20;9855:1;9848:31;9898:4;9895:1;9888:15;9922:4;9919:1;9912:15;9938:135;9977:3;9998:17;;;9995:43;;10018:18;;:::i;:::-;-1:-1:-1;10065:1:1;10054:13;;9938:135::o;10903:356::-;11105:2;11087:21;;;11124:18;;;11117:30;11183:34;11178:2;11163:18;;11156:62;11250:2;11235:18;;10903:356::o;11390:545::-;11492:2;11487:3;11484:11;11481:448;;;11528:1;11553:5;11549:2;11542:17;11598:4;11594:2;11584:19;11668:2;11656:10;11652:19;11649:1;11645:27;11639:4;11635:38;11704:4;11692:10;11689:20;11686:47;;;-1:-1:-1;11727:4:1;11686:47;11782:2;11777:3;11773:12;11770:1;11766:20;11760:4;11756:31;11746:41;;11837:82;11855:2;11848:5;11845:13;11837:82;;;11900:17;;;11881:1;11870:13;11837:82;;;11841:3;;;11390:545;;;:::o;12111:1352::-;12237:3;12231:10;12264:18;12256:6;12253:30;12250:56;;;12286:18;;:::i;:::-;12315:97;12405:6;12365:38;12397:4;12391:11;12365:38;:::i;:::-;12359:4;12315:97;:::i;:::-;12467:4;;12531:2;12520:14;;12548:1;12543:663;;;;13250:1;13267:6;13264:89;;;-1:-1:-1;13319:19:1;;;13313:26;13264:89;-1:-1:-1;;12068:1:1;12064:11;;;12060:24;12056:29;12046:40;12092:1;12088:11;;;12043:57;13366:81;;12513:944;;12543:663;11337:1;11330:14;;;11374:4;11361:18;;-1:-1:-1;;12579:20:1;;;12697:236;12711:7;12708:1;12705:14;12697:236;;;12800:19;;;12794:26;12779:42;;12892:27;;;;12860:1;12848:14;;;;12727:19;;12697:236;;;12701:3;12961:6;12952:7;12949:19;12946:201;;;13022:19;;;13016:26;-1:-1:-1;;13105:1:1;13101:14;;;13117:3;13097:24;13093:37;13089:42;13074:58;13059:74;;12946:201;-1:-1:-1;;;;;13193:1:1;13177:14;;;13173:22;13160:36;;-1:-1:-1;12111:1352:1:o;17343:128::-;17410:9;;;17431:11;;;17428:37;;;17445:18;;:::i;17476:125::-;17541:9;;;17562:10;;;17559:36;;;17575:18;;:::i;17606:414::-;17808:2;17790:21;;;17847:2;17827:18;;;17820:30;17886:34;17881:2;17866:18;;17859:62;-1:-1:-1;;;17952:2:1;17937:18;;17930:48;18010:3;17995:19;;17606:414::o;19095:489::-;-1:-1:-1;;;;;19364:15:1;;;19346:34;;19416:15;;19411:2;19396:18;;19389:43;19463:2;19448:18;;19441:34;;;19511:3;19506:2;19491:18;;19484:31;;;19289:4;;19532:46;;19558:19;;19550:6;19532:46;:::i;:::-;19524:54;19095:489;-1:-1:-1;;;;;;19095:489:1:o;19589:249::-;19658:6;19711:2;19699:9;19690:7;19686:23;19682:32;19679:52;;;19727:1;19724;19717:12;19679:52;19759:9;19753:16;19778:30;19802:5;19778:30;:::i;19843:127::-;19904:10;19899:3;19895:20;19892:1;19885:31;19935:4;19932:1;19925:15;19959:4;19956:1;19949:15
Swarm Source
ipfs://c07a94b25c450621c95d9d8a442b61d7d17fc7d08d4e620ef99fcc956835d5ee
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.