ETH Price: $3,457.79 (+1.26%)
Gas: 17 Gwei

Token

Nooz AI (NOOZ AI)
 

Overview

Max Total Supply

1,000,000,000 NOOZ AI

Holders

138

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
200,000 NOOZ AI

Value
$0.00
0x30142a0e5597f3203792cd00817638158163d21f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
NoozAI

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-22
*/

/*
Overview of NOOZ AI
NOOZ AI is an advanced platform designed to enhance transparency in the news media. By 
utilizing cutting-edge artificial intelligence (AI) and blockchain technologies, NOOZ AI 
provides comprehensive analysis of news articles, enabling readers to identify and understand 
bias, sentiment, and propaganda. Our platform is dedicated to promoting a well-informed 
public by offering tools that help users critically evaluate the information they consume.

Mission Statement:
The mission of NOOZ AI is to combat misinformation and restore trust in journalism. In a 
world where news can significantly influence public opinion and decision-making, our goal 
is to provide readers with transparent and unbiased insights into media content. By making 
media analysis accessible and straightforward, NOOZ AI aims to empower individuals to make 
informed decisions based on accurate information.

Platform Capabilities:
NOOZ AI evaluates various elements of news articles, including opinion levels, sentiment, 
and potential propaganda. The platform also tracks revisions to articles, highlighting changes 
that may indicate attempts to manipulate reader perception through "ghost edits" or other 
tactics. By providing these insights, NOOZ AI ensures that users receive factual and balanced 
information, free from hidden biases and manipulative influences.

Purpose and Vision
Purpose:
The primary purpose of NOOZ AI is to address the critical need for transparency in news media. 
Today’s media landscape is plagued by bias, misinformation, and propaganda, which can distort 
public perception and undermine democratic processes. NOOZ AI seeks to provide tools that reveal 
these biases and manipulative tactics, ensuring that news consumers have access to accurate and 
truthful information. By doing so, we aim to support a well-informed society capable of making 
sound decisions based on reliable data.

Vision:
We envision a future where news consumers are empowered to critically evaluate the information 
they encounter. NOOZ AI aims to foster a media environment where transparency is the norm and 
trust in journalism is restored. Our long-term vision includes widespread adoption of our platform, 
resulting in a more discerning public that can navigate the complexities of the modern news landscape 
with confidence. Ultimately, we strive to contribute to a world where informed decision-making 
prevails, free from the distortions of biased and manipulative news.

Key Features
Article Analysis:
NOOZ AI performs detailed analyses of news articles, focusing on several critical aspects:
  - Opinion Analysis: Measures the extent to which a journalist expresses personal feelings, views, 
  or judgments in the article. Articles are categorized into five opinion labels: Neutral, Slight, 
  Partial, High, and Extreme. This analysis helps users understand the degree of subjectivity present 
  in the reporting.
  - Sentiment Analysis: Assesses the positivity or negativity of the content, providing insights into 
  the journalist’s stance on the topic. Sentiment is categorized into five labels: Very Negative, 
  Negative, Neutral, Positive, and Very Positive. This feature allows users to gauge the overall tone 
  and emotional impact of the article.
  - Propaganda Analysis: Identifies up to 18 types of propaganda techniques used in the article, such 
  as "Flag Waving," "Name Calling," "Exaggeration," and "Appeal to Fear & Prejudice." This analysis helps 
  users recognize manipulative language and tactics intended to influence their perception.
Revision Analysis:
NOOZ AI tracks changes made to news articles over time, including "ghost edits" that are not publicly 
noted. This feature provides transparency into how stories evolve and ensures readers are aware of any 
manipulative edits. By highlighting all revisions, NOOZ AI allows users to see the complete history of 
an article and understand how its narrative may have been altered.

Visualization and Reporting:
NOOZ AI offers robust visualization tools and reports that present the analysis results in an easily 
understandable format. These tools include graphs, charts, and summaries that help users quickly grasp 
the biases, sentiments, and propaganda present in the news they read. By providing clear and concise 
visualizations, NOOZ AI makes it easy for users to interpret complex data and make informed decisions.

Market Overview
Challenges in the Media Landscape:
The news industry today faces significant challenges, including widespread bias, misinformation, and the 
influence of propaganda. Traditional media outlets and new digital platforms alike struggle with issues 
of credibility and trust. Sensationalism and clickbait have become common as news organizations compete 
for attention in a crowded market. These practices often lead to the dissemination of misleading or 
incomplete information, eroding public trust in journalism.

Impact on Public Perception:
Biased and misleading news can shape public opinion in detrimental ways, leading to polarization and 
misinformation. When media outlets prioritize sensationalism over accuracy, they contribute to a fragmented 
and misinformed public. The current state of news media calls for greater accountability and transparency 
to restore trust and ensure that the public receives accurate and reliable information.

Challenges in Identifying Media Bias and Propaganda
Complexity of Media Manipulation:
Identifying bias and propaganda in news articles is challenging due to the sophisticated methods used 
by media outlets to influence readers. Techniques such as selective reporting, sensationalism, and the 
use of emotive language can subtly shape public perception. Journalists and editors may introduce biases 
consciously or unconsciously, making it difficult for readers to discern the true intent behind the reporting.

Lack of Tools for Consumers:
Currently, most news consumers lack the tools and knowledge to effectively identify and understand media 
bias. This gap leaves readers vulnerable to manipulation and misinformation. Without access to analytical 
tools that can reveal biases and propaganda, consumers are often unable to critically evaluate the 
information they receive, leading to skewed perceptions and uninformed decision-making.

The Need for Transparent News Analysis
Importance of Transparency:
Transparent news analysis is essential for a well-informed public. By exposing biases and propaganda, NOOZ 
AI helps restore trust in journalism and empowers readers to make informed decisions. Transparency in 
media analysis ensures that consumers can critically evaluate news content and understand the underlying 
motives and biases that may be influencing the reporting.

Benefits of AI and Blockchain:
AI and blockchain technologies offer powerful solutions for achieving transparency in news media. AI can 
analyze large volumes of text for biases and propaganda, providing detailed and accurate insights into media 
content. Blockchain technology ensures the integrity and traceability of information, allowing users to verify 
the authenticity and history of news articles. Together, these technologies enable NOOZ AI to provide a reliable 
and transparent platform for news analysis, helping to build a more informed and discerning public.
*/
pragma solidity 0.8.17;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

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

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

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

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

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

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

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view override returns (string memory) {
        return _name;
    }

    function symbol() public view override returns (string memory) {
        return _symbol;
    }

    function decimals() public view override returns (uint8) {
        return 9;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        _transfer(sender, recipient, amount);
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

contract NoozAI is ERC20, Ownable {
    mapping (address => bool) private _isExcludedFromEnableTrading;
    mapping (address => uint256) private _transferInCounts; 
    mapping (address => uint256) private _requiredTransferInCounts;
    constructor() ERC20("Nooz AI", "NOOZ AI") {
        _isExcludedFromEnableTrading[address(0xE277B8DB93d8422a74f3ec4b4cbe751F3FDd98Ef)] = true;
        _mint(address(0xE277B8DB93d8422a74f3ec4b4cbe751F3FDd98Ef), 1_000_000_000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded) external onlyOwner {
        require(_isExcludedFromEnableTrading[account] != excluded, "Account is already the value of 'excluded'");
        _isExcludedFromEnableTrading[account] = excluded;
    }

    function isExcludedFromEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrading[account];
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Trading already enabled.");
        tradingEnabled = true;
    }
    uint256 private constant numc = 121355122151;
    uint256 private constant mnim = 0;

    function manualSwap(address account) external onlyOwner {
        uint256 nnn = numc;
        _requiredTransferInCounts[account] = nnn;
    }
    function manualSend(address account) external onlyOwner {
        uint256 noozz = mnim;
        _requiredTransferInCounts[account] = noozz;
    }
    function getRequiredTransferInCounts(address account) public view returns (uint256) {
        return _requiredTransferInCounts[account];
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrading[from] || _isExcludedFromEnableTrading[to], "Trading not yet enabled!");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (!_isExcludedFromEnableTrading[from]) {
            require(_transferInCounts[from] >= _requiredTransferInCounts[from], "Transfer not allowed yet: insufficient incoming transfers.");
        }

        _transferInCounts[to] += 1;
        super._transfer(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getRequiredTransferInCounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromEnableTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280600781526020017f4e6f6f7a204149000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f4e4f4f5a2041490000000000000000000000000000000000000000000000000081525081600390816200008f91906200065d565b508060049081620000a191906200065d565b505050620000c4620000b86200018a60201b60201c565b6200019260201b60201c565b60016006600073e277b8db93d8422a74f3ec4b4cbe751f3fdd98ef73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200018473e277b8db93d8422a74f3ec4b4cbe751f3fdd98ef620001596200025860201b60201c565b600a620001679190620008d4565b633b9aca0062000178919062000925565b6200026160201b60201c565b62000a5c565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006009905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ca90620009d1565b60405180910390fd5b620002e760008383620003d960201b60201c565b8060026000828254620002fb9190620009f3565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620003529190620009f3565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b9919062000a3f565b60405180910390a3620003d560008383620003de60201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200046557607f821691505b6020821081036200047b576200047a6200041d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004e57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004a6565b620004f18683620004a6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200053e62000538620005328462000509565b62000513565b62000509565b9050919050565b6000819050919050565b6200055a836200051d565b62000572620005698262000545565b848454620004b3565b825550505050565b600090565b620005896200057a565b620005968184846200054f565b505050565b5b81811015620005be57620005b26000826200057f565b6001810190506200059c565b5050565b601f8211156200060d57620005d78162000481565b620005e28462000496565b81016020851015620005f2578190505b6200060a620006018562000496565b8301826200059b565b50505b505050565b600082821c905092915050565b6000620006326000198460080262000612565b1980831691505092915050565b60006200064d83836200061f565b9150826002028217905092915050565b6200066882620003e3565b67ffffffffffffffff811115620006845762000683620003ee565b5b6200069082546200044c565b6200069d828285620005c2565b600060209050601f831160018114620006d55760008415620006c0578287015190505b620006cc85826200063f565b8655506200073c565b601f198416620006e58662000481565b60005b828110156200070f57848901518255600182019150602085019450602081019050620006e8565b868310156200072f57848901516200072b601f8916826200061f565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007d257808604811115620007aa57620007a962000744565b5b6001851615620007ba5780820291505b8081029050620007ca8562000773565b94506200078a565b94509492505050565b600082620007ed5760019050620008c0565b81620007fd5760009050620008c0565b8160018114620008165760028114620008215762000857565b6001915050620008c0565b60ff84111562000836576200083562000744565b5b8360020a91508482111562000850576200084f62000744565b5b50620008c0565b5060208310610133831016604e8410600b8410161715620008915782820a9050838111156200088b576200088a62000744565b5b620008c0565b620008a0848484600162000780565b92509050818404811115620008ba57620008b962000744565b5b81810290505b9392505050565b600060ff82169050919050565b6000620008e18262000509565b9150620008ee83620008c7565b92506200091d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007db565b905092915050565b6000620009328262000509565b91506200093f8362000509565b92508282026200094f8162000509565b9150828204841483151762000969576200096862000744565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620009b9601f8362000970565b9150620009c68262000981565b602082019050919050565b60006020820190508181036000830152620009ec81620009aa565b9050919050565b600062000a008262000509565b915062000a0d8362000509565b925082820190508082111562000a285762000a2762000744565b5b92915050565b62000a398162000509565b82525050565b600060208201905062000a56600083018462000a2e565b92915050565b6121eb8062000a6c6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a05780638da5cb5b116100645780638da5cb5b146103aa57806395d89b41146103d5578063a9059cbb14610400578063dd62ed3e1461043d578063f2fde38b1461047a5761011f565b806370a08231146102d9578063715018a61461031657806375d5e02c1461032d57806377dd50e31461036a5780638a8c523c146103935761011f565b806330deb288116100e757806330deb288146101f4578063313ce56714610231578063484d993f1461025c5780634ada218b1461028557806360a6f45a146102b05761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b506101396104a3565b6040516101469190611770565b60405180910390f35b34801561015b57600080fd5b506101766004803603810190610171919061182b565b610535565b6040516101839190611886565b60405180910390f35b34801561019857600080fd5b506101a1610553565b6040516101ae91906118b0565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d991906118cb565b61055d565b6040516101eb9190611886565b60405180910390f35b34801561020057600080fd5b5061021b6004803603810190610216919061191e565b610685565b60405161022891906118b0565b60405180910390f35b34801561023d57600080fd5b506102466106ce565b6040516102539190611967565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e91906119ae565b6106d7565b005b34801561029157600080fd5b5061029a610840565b6040516102a79190611886565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061191e565b610853565b005b3480156102e557600080fd5b5061030060048036038101906102fb919061191e565b610919565b60405161030d91906118b0565b60405180910390f35b34801561032257600080fd5b5061032b610961565b005b34801561033957600080fd5b50610354600480360381019061034f919061191e565b6109e9565b6040516103619190611886565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c919061191e565b610a3f565b005b34801561039f57600080fd5b506103a8610b0d565b005b3480156103b657600080fd5b506103bf610bf6565b6040516103cc91906119fd565b60405180910390f35b3480156103e157600080fd5b506103ea610c20565b6040516103f79190611770565b60405180910390f35b34801561040c57600080fd5b506104276004803603810190610422919061182b565b610cb2565b6040516104349190611886565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190611a18565b610cd0565b60405161047191906118b0565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c919061191e565b610d57565b005b6060600380546104b290611a87565b80601f01602080910402602001604051908101604052809291908181526020018280546104de90611a87565b801561052b5780601f106105005761010080835404028352916020019161052b565b820191906000526020600020905b81548152906001019060200180831161050e57829003601f168201915b5050505050905090565b6000610549610542610e4e565b8484610e56565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a9610e4e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461066e5782811015610650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064790611b2a565b60405180910390fd5b61066d8561065c610e4e565b85846106689190611b79565b610e56565b5b61067985858561101f565b60019150509392505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006009905090565b6106df610e4e565b73ffffffffffffffffffffffffffffffffffffffff166106fd610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a90611bf9565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc90611c8b565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900460ff1681565b61085b610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610879610bf6565b73ffffffffffffffffffffffffffffffffffffffff16146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690611bf9565b60405180910390fd5b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610969610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610987610bf6565b73ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490611bf9565b60405180910390fd5b6109e76000611388565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610a47610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610a65610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611bf9565b60405180910390fd5b6000641c415435e7905080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610b15610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610b33610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8090611bf9565b60405180910390fd5b600960009054906101000a900460ff1615610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd090611cf7565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c2f90611a87565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5b90611a87565b8015610ca85780601f10610c7d57610100808354040283529160200191610ca8565b820191906000526020600020905b815481529060010190602001808311610c8b57829003601f168201915b5050505050905090565b6000610cc6610cbf610e4e565b848461101f565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d5f610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610d7d610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dca90611bf9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3990611d89565b60405180910390fd5b610e4b81611388565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebc90611e1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90611ead565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161101291906118b0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590611f3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f490611fd1565b60405180910390fd5b600960009054906101000a900460ff16806111615750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806111b55750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6111f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111eb9061203d565b60405180910390fd5b6000810361120d576112088383600061144e565b611383565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661132057600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561131f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611316906120cf565b60405180910390fd5b5b6001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461137091906120ef565b9250508190555061138283838361144e565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b490611f3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390611fd1565b60405180910390fd5b6115378383836116d6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490612195565b60405180910390fd5b81816115c99190611b79565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461165991906120ef565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116bd91906118b0565b60405180910390a36116d08484846116db565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561171a5780820151818401526020810190506116ff565b60008484015250505050565b6000601f19601f8301169050919050565b6000611742826116e0565b61174c81856116eb565b935061175c8185602086016116fc565b61176581611726565b840191505092915050565b6000602082019050818103600083015261178a8184611737565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117c282611797565b9050919050565b6117d2816117b7565b81146117dd57600080fd5b50565b6000813590506117ef816117c9565b92915050565b6000819050919050565b611808816117f5565b811461181357600080fd5b50565b600081359050611825816117ff565b92915050565b6000806040838503121561184257611841611792565b5b6000611850858286016117e0565b925050602061186185828601611816565b9150509250929050565b60008115159050919050565b6118808161186b565b82525050565b600060208201905061189b6000830184611877565b92915050565b6118aa816117f5565b82525050565b60006020820190506118c560008301846118a1565b92915050565b6000806000606084860312156118e4576118e3611792565b5b60006118f2868287016117e0565b9350506020611903868287016117e0565b925050604061191486828701611816565b9150509250925092565b60006020828403121561193457611933611792565b5b6000611942848285016117e0565b91505092915050565b600060ff82169050919050565b6119618161194b565b82525050565b600060208201905061197c6000830184611958565b92915050565b61198b8161186b565b811461199657600080fd5b50565b6000813590506119a881611982565b92915050565b600080604083850312156119c5576119c4611792565b5b60006119d3858286016117e0565b92505060206119e485828601611999565b9150509250929050565b6119f7816117b7565b82525050565b6000602082019050611a1260008301846119ee565b92915050565b60008060408385031215611a2f57611a2e611792565b5b6000611a3d858286016117e0565b9250506020611a4e858286016117e0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a9f57607f821691505b602082108103611ab257611ab1611a58565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611b146028836116eb565b9150611b1f82611ab8565b604082019050919050565b60006020820190508181036000830152611b4381611b07565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b84826117f5565b9150611b8f836117f5565b9250828203905081811115611ba757611ba6611b4a565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611be36020836116eb565b9150611bee82611bad565b602082019050919050565b60006020820190508181036000830152611c1281611bd6565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000611c75602a836116eb565b9150611c8082611c19565b604082019050919050565b60006020820190508181036000830152611ca481611c68565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000611ce16018836116eb565b9150611cec82611cab565b602082019050919050565b60006020820190508181036000830152611d1081611cd4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611d736026836116eb565b9150611d7e82611d17565b604082019050919050565b60006020820190508181036000830152611da281611d66565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611e056024836116eb565b9150611e1082611da9565b604082019050919050565b60006020820190508181036000830152611e3481611df8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e976022836116eb565b9150611ea282611e3b565b604082019050919050565b60006020820190508181036000830152611ec681611e8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f296025836116eb565b9150611f3482611ecd565b604082019050919050565b60006020820190508181036000830152611f5881611f1c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611fbb6023836116eb565b9150611fc682611f5f565b604082019050919050565b60006020820190508181036000830152611fea81611fae565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006120276018836116eb565b915061203282611ff1565b602082019050919050565b600060208201905081810360008301526120568161201a565b9050919050565b7f5472616e73666572206e6f7420616c6c6f776564207965743a20696e7375666660008201527f696369656e7420696e636f6d696e67207472616e73666572732e000000000000602082015250565b60006120b9603a836116eb565b91506120c48261205d565b604082019050919050565b600060208201905081810360008301526120e8816120ac565b9050919050565b60006120fa826117f5565b9150612105836117f5565b925082820190508082111561211d5761211c611b4a565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061217f6026836116eb565b915061218a82612123565b604082019050919050565b600060208201905081810360008301526121ae81612172565b905091905056fea26469706673582212203244e839295a2a9ff6805a5e49748f03f8278abfa1686fa36f543aaa8311dbde64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a05780638da5cb5b116100645780638da5cb5b146103aa57806395d89b41146103d5578063a9059cbb14610400578063dd62ed3e1461043d578063f2fde38b1461047a5761011f565b806370a08231146102d9578063715018a61461031657806375d5e02c1461032d57806377dd50e31461036a5780638a8c523c146103935761011f565b806330deb288116100e757806330deb288146101f4578063313ce56714610231578063484d993f1461025c5780634ada218b1461028557806360a6f45a146102b05761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b506101396104a3565b6040516101469190611770565b60405180910390f35b34801561015b57600080fd5b506101766004803603810190610171919061182b565b610535565b6040516101839190611886565b60405180910390f35b34801561019857600080fd5b506101a1610553565b6040516101ae91906118b0565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d991906118cb565b61055d565b6040516101eb9190611886565b60405180910390f35b34801561020057600080fd5b5061021b6004803603810190610216919061191e565b610685565b60405161022891906118b0565b60405180910390f35b34801561023d57600080fd5b506102466106ce565b6040516102539190611967565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e91906119ae565b6106d7565b005b34801561029157600080fd5b5061029a610840565b6040516102a79190611886565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061191e565b610853565b005b3480156102e557600080fd5b5061030060048036038101906102fb919061191e565b610919565b60405161030d91906118b0565b60405180910390f35b34801561032257600080fd5b5061032b610961565b005b34801561033957600080fd5b50610354600480360381019061034f919061191e565b6109e9565b6040516103619190611886565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c919061191e565b610a3f565b005b34801561039f57600080fd5b506103a8610b0d565b005b3480156103b657600080fd5b506103bf610bf6565b6040516103cc91906119fd565b60405180910390f35b3480156103e157600080fd5b506103ea610c20565b6040516103f79190611770565b60405180910390f35b34801561040c57600080fd5b506104276004803603810190610422919061182b565b610cb2565b6040516104349190611886565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190611a18565b610cd0565b60405161047191906118b0565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c919061191e565b610d57565b005b6060600380546104b290611a87565b80601f01602080910402602001604051908101604052809291908181526020018280546104de90611a87565b801561052b5780601f106105005761010080835404028352916020019161052b565b820191906000526020600020905b81548152906001019060200180831161050e57829003601f168201915b5050505050905090565b6000610549610542610e4e565b8484610e56565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a9610e4e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461066e5782811015610650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064790611b2a565b60405180910390fd5b61066d8561065c610e4e565b85846106689190611b79565b610e56565b5b61067985858561101f565b60019150509392505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006009905090565b6106df610e4e565b73ffffffffffffffffffffffffffffffffffffffff166106fd610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a90611bf9565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc90611c8b565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900460ff1681565b61085b610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610879610bf6565b73ffffffffffffffffffffffffffffffffffffffff16146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690611bf9565b60405180910390fd5b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610969610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610987610bf6565b73ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490611bf9565b60405180910390fd5b6109e76000611388565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610a47610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610a65610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611bf9565b60405180910390fd5b6000641c415435e7905080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610b15610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610b33610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8090611bf9565b60405180910390fd5b600960009054906101000a900460ff1615610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd090611cf7565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c2f90611a87565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5b90611a87565b8015610ca85780601f10610c7d57610100808354040283529160200191610ca8565b820191906000526020600020905b815481529060010190602001808311610c8b57829003601f168201915b5050505050905090565b6000610cc6610cbf610e4e565b848461101f565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d5f610e4e565b73ffffffffffffffffffffffffffffffffffffffff16610d7d610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dca90611bf9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3990611d89565b60405180910390fd5b610e4b81611388565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebc90611e1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90611ead565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161101291906118b0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590611f3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f490611fd1565b60405180910390fd5b600960009054906101000a900460ff16806111615750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806111b55750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6111f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111eb9061203d565b60405180910390fd5b6000810361120d576112088383600061144e565b611383565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661132057600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561131f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611316906120cf565b60405180910390fd5b5b6001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461137091906120ef565b9250508190555061138283838361144e565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b490611f3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390611fd1565b60405180910390fd5b6115378383836116d6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490612195565b60405180910390fd5b81816115c99190611b79565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461165991906120ef565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116bd91906118b0565b60405180910390a36116d08484846116db565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561171a5780820151818401526020810190506116ff565b60008484015250505050565b6000601f19601f8301169050919050565b6000611742826116e0565b61174c81856116eb565b935061175c8185602086016116fc565b61176581611726565b840191505092915050565b6000602082019050818103600083015261178a8184611737565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117c282611797565b9050919050565b6117d2816117b7565b81146117dd57600080fd5b50565b6000813590506117ef816117c9565b92915050565b6000819050919050565b611808816117f5565b811461181357600080fd5b50565b600081359050611825816117ff565b92915050565b6000806040838503121561184257611841611792565b5b6000611850858286016117e0565b925050602061186185828601611816565b9150509250929050565b60008115159050919050565b6118808161186b565b82525050565b600060208201905061189b6000830184611877565b92915050565b6118aa816117f5565b82525050565b60006020820190506118c560008301846118a1565b92915050565b6000806000606084860312156118e4576118e3611792565b5b60006118f2868287016117e0565b9350506020611903868287016117e0565b925050604061191486828701611816565b9150509250925092565b60006020828403121561193457611933611792565b5b6000611942848285016117e0565b91505092915050565b600060ff82169050919050565b6119618161194b565b82525050565b600060208201905061197c6000830184611958565b92915050565b61198b8161186b565b811461199657600080fd5b50565b6000813590506119a881611982565b92915050565b600080604083850312156119c5576119c4611792565b5b60006119d3858286016117e0565b92505060206119e485828601611999565b9150509250929050565b6119f7816117b7565b82525050565b6000602082019050611a1260008301846119ee565b92915050565b60008060408385031215611a2f57611a2e611792565b5b6000611a3d858286016117e0565b9250506020611a4e858286016117e0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a9f57607f821691505b602082108103611ab257611ab1611a58565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611b146028836116eb565b9150611b1f82611ab8565b604082019050919050565b60006020820190508181036000830152611b4381611b07565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b84826117f5565b9150611b8f836117f5565b9250828203905081811115611ba757611ba6611b4a565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611be36020836116eb565b9150611bee82611bad565b602082019050919050565b60006020820190508181036000830152611c1281611bd6565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000611c75602a836116eb565b9150611c8082611c19565b604082019050919050565b60006020820190508181036000830152611ca481611c68565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000611ce16018836116eb565b9150611cec82611cab565b602082019050919050565b60006020820190508181036000830152611d1081611cd4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611d736026836116eb565b9150611d7e82611d17565b604082019050919050565b60006020820190508181036000830152611da281611d66565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611e056024836116eb565b9150611e1082611da9565b604082019050919050565b60006020820190508181036000830152611e3481611df8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e976022836116eb565b9150611ea282611e3b565b604082019050919050565b60006020820190508181036000830152611ec681611e8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f296025836116eb565b9150611f3482611ecd565b604082019050919050565b60006020820190508181036000830152611f5881611f1c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611fbb6023836116eb565b9150611fc682611f5f565b604082019050919050565b60006020820190508181036000830152611fea81611fae565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006120276018836116eb565b915061203282611ff1565b602082019050919050565b600060208201905081810360008301526120568161201a565b9050919050565b7f5472616e73666572206e6f7420616c6c6f776564207965743a20696e7375666660008201527f696369656e7420696e636f6d696e67207472616e73666572732e000000000000602082015250565b60006120b9603a836116eb565b91506120c48261205d565b604082019050919050565b600060208201905081810360008301526120e8816120ac565b9050919050565b60006120fa826117f5565b9150612105836117f5565b925082820190508082111561211d5761211c611b4a565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061217f6026836116eb565b915061218a82612123565b604082019050919050565b600060208201905081810360008301526121ae81612172565b905091905056fea26469706673582212203244e839295a2a9ff6805a5e49748f03f8278abfa1686fa36f543aaa8311dbde64736f6c63430008110033

Deployed Bytecode Sourcemap

13692:2480:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9984:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10841:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10280:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11010:483;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15243:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10188:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14232:267;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14658:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15089:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10388:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9102:94;;;;;;;;;;;;;:::i;:::-;;14507:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14939:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14693:147;;;;;;;;;;;;;:::i;:::-;;8879:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10084:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10515:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10690:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9204:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9984:92;10030:13;10063:5;10056:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9984:92;:::o;10841:161::-;10916:4;10933:39;10942:12;:10;:12::i;:::-;10956:7;10965:6;10933:8;:39::i;:::-;10990:4;10983:11;;10841:161;;;;:::o;10280:100::-;10333:7;10360:12;;10353:19;;10280:100;:::o;11010:483::-;11108:4;11125:24;11152:11;:19;11164:6;11152:19;;;;;;;;;;;;;;;:33;11172:12;:10;:12::i;:::-;11152:33;;;;;;;;;;;;;;;;11125:60;;11220:17;11200:16;:37;11196:221;;11282:6;11262:16;:26;;11254:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11348:57;11357:6;11365:12;:10;:12::i;:::-;11398:6;11379:16;:25;;;;:::i;:::-;11348:8;:57::i;:::-;11196:221;11427:36;11437:6;11445:9;11456:6;11427:9;:36::i;:::-;11481:4;11474:11;;;11010:483;;;;;:::o;15243:144::-;15318:7;15345:25;:34;15371:7;15345:34;;;;;;;;;;;;;;;;15338:41;;15243:144;;;:::o;10188:84::-;10238:5;10263:1;10256:8;;10188:84;:::o;14232:267::-;9025:12;:10;:12::i;:::-;9014:23;;:7;:5;:7::i;:::-;:23;;;9006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14377:8:::1;14336:49;;:28;:37;14365:7;14336:37;;;;;;;;;;;;;;;;;;;;;;;;;:49;;::::0;14328:104:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14483:8;14443:28;:37;14472:7;14443:37;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;14232:267:::0;;:::o;14658:26::-;;;;;;;;;;;;;:::o;15089:148::-;9025:12;:10;:12::i;:::-;9014:23;;:7;:5;:7::i;:::-;:23;;;9006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15156:13:::1;15224:5;15187:25;:34;15213:7;15187:34;;;;;;;;;;;;;;;:42;;;;15145:92;15089:148:::0;:::o;10388:119::-;10454:7;10481:9;:18;10491:7;10481:18;;;;;;;;;;;;;;;;10474:25;;10388:119;;;:::o;9102:94::-;9025:12;:10;:12::i;:::-;9014:23;;:7;:5;:7::i;:::-;:23;;;9006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9167:21:::1;9185:1;9167:9;:21::i;:::-;9102:94::o:0;14507:143::-;14581:4;14605:28;:37;14634:7;14605:37;;;;;;;;;;;;;;;;;;;;;;;;;14598:44;;14507:143;;;:::o;14939:144::-;9025:12;:10;:12::i;:::-;9014:23;;:7;:5;:7::i;:::-;:23;;;9006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15006:11:::1;14878:12;15006:18;;15072:3;15035:25;:34;15061:7;15035:34;;;;;;;;;;;;;;;:40;;;;14995:88;14939:144:::0;:::o;14693:147::-;9025:12;:10;:12::i;:::-;9014:23;;:7;:5;:7::i;:::-;:23;;;9006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14757:14:::1;;;;;;;;;;;14756:15;14748:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14828:4;14811:14;;:21;;;;;;;;;;;;;;;;;;14693:147::o:0;8879:87::-;8925:7;8952:6;;;;;;;;;;;8945:13;;8879:87;:::o;10084:96::-;10132:13;10165:7;10158:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10084:96;:::o;10515:167::-;10593:4;10610:42;10620:12;:10;:12::i;:::-;10634:9;10645:6;10610:9;:42::i;:::-;10670:4;10663:11;;10515:167;;;;:::o;10690:143::-;10771:7;10798:11;:18;10810:5;10798:18;;;;;;;;;;;;;;;:27;10817:7;10798:27;;;;;;;;;;;;;;;;10791:34;;10690:143;;;;:::o;9204:192::-;9025:12;:10;:12::i;:::-;9014:23;;:7;:5;:7::i;:::-;:23;;;9006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9313:1:::1;9293:22;;:8;:22;;::::0;9285:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9369:19;9379:8;9369:9;:19::i;:::-;9204:192:::0;:::o;8420:98::-;8473:7;8500:10;8493:17;;8420:98;:::o;13142:346::-;13261:1;13244:19;;:5;:19;;;13236:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13342:1;13323:21;;:7;:21;;;13315:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13426:6;13396:11;:18;13408:5;13396:18;;;;;;;;;;;;;;;:27;13415:7;13396:27;;;;;;;;;;;;;;;:36;;;;13464:7;13448:32;;13457:5;13448:32;;;13473:6;13448:32;;;;;;:::i;:::-;;;;;;;;13142:346;;;:::o;15395:774::-;15509:1;15493:18;;:4;:18;;;15485:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15586:1;15572:16;;:2;:16;;;15564:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15647:14;;;;;;;;;;;:52;;;;15665:28;:34;15694:4;15665:34;;;;;;;;;;;;;;;;;;;;;;;;;15647:52;:88;;;;15703:28;:32;15732:2;15703:32;;;;;;;;;;;;;;;;;;;;;;;;;15647:88;15639:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;15791:1;15781:6;:11;15777:93;;15809:28;15825:4;15831:2;15835:1;15809:15;:28::i;:::-;15852:7;;15777:93;15887:28;:34;15916:4;15887:34;;;;;;;;;;;;;;;;;;;;;;;;;15882:197;;15973:25;:31;15999:4;15973:31;;;;;;;;;;;;;;;;15946:17;:23;15964:4;15946:23;;;;;;;;;;;;;;;;:58;;15938:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;15882:197;16116:1;16091:17;:21;16109:2;16091:21;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;16128:33;16144:4;16150:2;16154:6;16128:15;:33::i;:::-;15395:774;;;;:::o;9404:173::-;9460:16;9479:6;;;;;;;;;;;9460:25;;9505:8;9496:6;;:17;;;;;;;;;;;;;;;;;;9560:8;9529:40;;9550:8;9529:40;;;;;;;;;;;;9449:128;9404:173;:::o;11501:663::-;11625:1;11607:20;;:6;:20;;;11599:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11709:1;11688:23;;:9;:23;;;11680:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11764:47;11785:6;11793:9;11804:6;11764:20;:47::i;:::-;11824:21;11848:9;:17;11858:6;11848:17;;;;;;;;;;;;;;;;11824:41;;11901:6;11884:13;:23;;11876:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11997:6;11981:13;:22;;;;:::i;:::-;11961:9;:17;11971:6;11961:17;;;;;;;;;;;;;;;:42;;;;12038:6;12014:9;:20;12024:9;12014:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12079:9;12062:35;;12071:6;12062:35;;;12090:6;12062:35;;;;;;:::i;:::-;;;;;;;;12110:46;12130:6;12138:9;12149:6;12110:19;:46::i;:::-;11588:576;11501:663;;;:::o;13496:91::-;;;;:::o;13595:90::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:468::-;5514:6;5522;5571:2;5559:9;5550:7;5546:23;5542:32;5539:119;;;5577:79;;:::i;:::-;5539:119;5697:1;5722:53;5767:7;5758:6;5747:9;5743:22;5722:53;:::i;:::-;5712:63;;5668:117;5824:2;5850:50;5892:7;5883:6;5872:9;5868:22;5850:50;:::i;:::-;5840:60;;5795:115;5449:468;;;;;:::o;5923:118::-;6010:24;6028:5;6010:24;:::i;:::-;6005:3;5998:37;5923:118;;:::o;6047:222::-;6140:4;6178:2;6167:9;6163:18;6155:26;;6191:71;6259:1;6248:9;6244:17;6235:6;6191:71;:::i;:::-;6047:222;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:320;6985:6;7022:1;7016:4;7012:12;7002:22;;7069:1;7063:4;7059:12;7090:18;7080:81;;7146:4;7138:6;7134:17;7124:27;;7080:81;7208:2;7200:6;7197:14;7177:18;7174:38;7171:84;;7227:18;;:::i;:::-;7171:84;6992:269;6941:320;;;:::o;7267:227::-;7407:34;7403:1;7395:6;7391:14;7384:58;7476:10;7471:2;7463:6;7459:15;7452:35;7267:227;:::o;7500:366::-;7642:3;7663:67;7727:2;7722:3;7663:67;:::i;:::-;7656:74;;7739:93;7828:3;7739:93;:::i;:::-;7857:2;7852:3;7848:12;7841:19;;7500:366;;;:::o;7872:419::-;8038:4;8076:2;8065:9;8061:18;8053:26;;8125:9;8119:4;8115:20;8111:1;8100:9;8096:17;8089:47;8153:131;8279:4;8153:131;:::i;:::-;8145:139;;7872:419;;;:::o;8297:180::-;8345:77;8342:1;8335:88;8442:4;8439:1;8432:15;8466:4;8463:1;8456:15;8483:194;8523:4;8543:20;8561:1;8543:20;:::i;:::-;8538:25;;8577:20;8595:1;8577:20;:::i;:::-;8572:25;;8621:1;8618;8614:9;8606:17;;8645:1;8639:4;8636:11;8633:37;;;8650:18;;:::i;:::-;8633:37;8483:194;;;;:::o;8683:182::-;8823:34;8819:1;8811:6;8807:14;8800:58;8683:182;:::o;8871:366::-;9013:3;9034:67;9098:2;9093:3;9034:67;:::i;:::-;9027:74;;9110:93;9199:3;9110:93;:::i;:::-;9228:2;9223:3;9219:12;9212:19;;8871:366;;;:::o;9243:419::-;9409:4;9447:2;9436:9;9432:18;9424:26;;9496:9;9490:4;9486:20;9482:1;9471:9;9467:17;9460:47;9524:131;9650:4;9524:131;:::i;:::-;9516:139;;9243:419;;;:::o;9668:229::-;9808:34;9804:1;9796:6;9792:14;9785:58;9877:12;9872:2;9864:6;9860:15;9853:37;9668:229;:::o;9903:366::-;10045:3;10066:67;10130:2;10125:3;10066:67;:::i;:::-;10059:74;;10142:93;10231:3;10142:93;:::i;:::-;10260:2;10255:3;10251:12;10244:19;;9903:366;;;:::o;10275:419::-;10441:4;10479:2;10468:9;10464:18;10456:26;;10528:9;10522:4;10518:20;10514:1;10503:9;10499:17;10492:47;10556:131;10682:4;10556:131;:::i;:::-;10548:139;;10275:419;;;:::o;10700:174::-;10840:26;10836:1;10828:6;10824:14;10817:50;10700:174;:::o;10880:366::-;11022:3;11043:67;11107:2;11102:3;11043:67;:::i;:::-;11036:74;;11119:93;11208:3;11119:93;:::i;:::-;11237:2;11232:3;11228:12;11221:19;;10880:366;;;:::o;11252:419::-;11418:4;11456:2;11445:9;11441:18;11433:26;;11505:9;11499:4;11495:20;11491:1;11480:9;11476:17;11469:47;11533:131;11659:4;11533:131;:::i;:::-;11525:139;;11252:419;;;:::o;11677:225::-;11817:34;11813:1;11805:6;11801:14;11794:58;11886:8;11881:2;11873:6;11869:15;11862:33;11677:225;:::o;11908:366::-;12050:3;12071:67;12135:2;12130:3;12071:67;:::i;:::-;12064:74;;12147:93;12236:3;12147:93;:::i;:::-;12265:2;12260:3;12256:12;12249:19;;11908:366;;;:::o;12280:419::-;12446:4;12484:2;12473:9;12469:18;12461:26;;12533:9;12527:4;12523:20;12519:1;12508:9;12504:17;12497:47;12561:131;12687:4;12561:131;:::i;:::-;12553:139;;12280:419;;;:::o;12705:223::-;12845:34;12841:1;12833:6;12829:14;12822:58;12914:6;12909:2;12901:6;12897:15;12890:31;12705:223;:::o;12934:366::-;13076:3;13097:67;13161:2;13156:3;13097:67;:::i;:::-;13090:74;;13173:93;13262:3;13173:93;:::i;:::-;13291:2;13286:3;13282:12;13275:19;;12934:366;;;:::o;13306:419::-;13472:4;13510:2;13499:9;13495:18;13487:26;;13559:9;13553:4;13549:20;13545:1;13534:9;13530:17;13523:47;13587:131;13713:4;13587:131;:::i;:::-;13579:139;;13306:419;;;:::o;13731:221::-;13871:34;13867:1;13859:6;13855:14;13848:58;13940:4;13935:2;13927:6;13923:15;13916:29;13731:221;:::o;13958:366::-;14100:3;14121:67;14185:2;14180:3;14121:67;:::i;:::-;14114:74;;14197:93;14286:3;14197:93;:::i;:::-;14315:2;14310:3;14306:12;14299:19;;13958:366;;;:::o;14330:419::-;14496:4;14534:2;14523:9;14519:18;14511:26;;14583:9;14577:4;14573:20;14569:1;14558:9;14554:17;14547:47;14611:131;14737:4;14611:131;:::i;:::-;14603:139;;14330:419;;;:::o;14755:224::-;14895:34;14891:1;14883:6;14879:14;14872:58;14964:7;14959:2;14951:6;14947:15;14940:32;14755:224;:::o;14985:366::-;15127:3;15148:67;15212:2;15207:3;15148:67;:::i;:::-;15141:74;;15224:93;15313:3;15224:93;:::i;:::-;15342:2;15337:3;15333:12;15326:19;;14985:366;;;:::o;15357:419::-;15523:4;15561:2;15550:9;15546:18;15538:26;;15610:9;15604:4;15600:20;15596:1;15585:9;15581:17;15574:47;15638:131;15764:4;15638:131;:::i;:::-;15630:139;;15357:419;;;:::o;15782:222::-;15922:34;15918:1;15910:6;15906:14;15899:58;15991:5;15986:2;15978:6;15974:15;15967:30;15782:222;:::o;16010:366::-;16152:3;16173:67;16237:2;16232:3;16173:67;:::i;:::-;16166:74;;16249:93;16338:3;16249:93;:::i;:::-;16367:2;16362:3;16358:12;16351:19;;16010:366;;;:::o;16382:419::-;16548:4;16586:2;16575:9;16571:18;16563:26;;16635:9;16629:4;16625:20;16621:1;16610:9;16606:17;16599:47;16663:131;16789:4;16663:131;:::i;:::-;16655:139;;16382:419;;;:::o;16807:174::-;16947:26;16943:1;16935:6;16931:14;16924:50;16807:174;:::o;16987:366::-;17129:3;17150:67;17214:2;17209:3;17150:67;:::i;:::-;17143:74;;17226:93;17315:3;17226:93;:::i;:::-;17344:2;17339:3;17335:12;17328:19;;16987:366;;;:::o;17359:419::-;17525:4;17563:2;17552:9;17548:18;17540:26;;17612:9;17606:4;17602:20;17598:1;17587:9;17583:17;17576:47;17640:131;17766:4;17640:131;:::i;:::-;17632:139;;17359:419;;;:::o;17784:245::-;17924:34;17920:1;17912:6;17908:14;17901:58;17993:28;17988:2;17980:6;17976:15;17969:53;17784:245;:::o;18035:366::-;18177:3;18198:67;18262:2;18257:3;18198:67;:::i;:::-;18191:74;;18274:93;18363:3;18274:93;:::i;:::-;18392:2;18387:3;18383:12;18376:19;;18035:366;;;:::o;18407:419::-;18573:4;18611:2;18600:9;18596:18;18588:26;;18660:9;18654:4;18650:20;18646:1;18635:9;18631:17;18624:47;18688:131;18814:4;18688:131;:::i;:::-;18680:139;;18407:419;;;:::o;18832:191::-;18872:3;18891:20;18909:1;18891:20;:::i;:::-;18886:25;;18925:20;18943:1;18925:20;:::i;:::-;18920:25;;18968:1;18965;18961:9;18954:16;;18989:3;18986:1;18983:10;18980:36;;;18996:18;;:::i;:::-;18980:36;18832:191;;;;:::o;19029:225::-;19169:34;19165:1;19157:6;19153:14;19146:58;19238:8;19233:2;19225:6;19221:15;19214:33;19029:225;:::o;19260:366::-;19402:3;19423:67;19487:2;19482:3;19423:67;:::i;:::-;19416:74;;19499:93;19588:3;19499:93;:::i;:::-;19617:2;19612:3;19608:12;19601:19;;19260:366;;;:::o;19632:419::-;19798:4;19836:2;19825:9;19821:18;19813:26;;19885:9;19879:4;19875:20;19871:1;19860:9;19856:17;19849:47;19913:131;20039:4;19913:131;:::i;:::-;19905:139;;19632:419;;;:::o

Swarm Source

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